bug 239472: Page Info -> media -> Save As... doesn't work
r=db48x, sr=jag git-svn-id: svn://10.0.0.236/trunk@164412 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -155,9 +155,9 @@ const kSaveAsType_Text = 2; // Save document, converting to plain text.
|
||||
// - A linked document using Save Link As...
|
||||
// - A linked document using Alt-click Save Link As...
|
||||
//
|
||||
function saveURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache, aSkipPrompt)
|
||||
function saveURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache, aSkipPrompt, aReferrer)
|
||||
{
|
||||
saveInternal(aURL, null, aFileName, aFilePickerTitleKey, aShouldBypassCache, aSkipPrompt);
|
||||
saveInternal(aURL, null, aFileName, aFilePickerTitleKey, aShouldBypassCache, aSkipPrompt, aReferrer);
|
||||
}
|
||||
|
||||
function saveDocument(aDocument, aSkipPrompt)
|
||||
@@ -172,7 +172,8 @@ function saveDocument(aDocument, aSkipPrompt)
|
||||
|
||||
function saveInternal(aURL, aDocument,
|
||||
aFileName, aFilePickerTitleKey,
|
||||
aShouldBypassCache, aSkipPrompt)
|
||||
aShouldBypassCache, aSkipPrompt,
|
||||
aReferrer)
|
||||
{
|
||||
if (aSkipPrompt == undefined)
|
||||
aSkipPrompt = false;
|
||||
@@ -183,7 +184,8 @@ function saveInternal(aURL, aDocument,
|
||||
filePickerTitle: aFilePickerTitleKey,
|
||||
document: aDocument,
|
||||
bypassCache: aShouldBypassCache,
|
||||
window: window
|
||||
window: window,
|
||||
referrer: aReferrer
|
||||
};
|
||||
var sniffer = new nsHeaderSniffer(aURL, foundHeaderInfo, data, aSkipPrompt);
|
||||
}
|
||||
@@ -292,7 +294,8 @@ function foundHeaderInfo(aSniffer, aData, aSkipPrompt)
|
||||
persistArgs.contentType, encodingFlags, kWrapColumn);
|
||||
} else {
|
||||
dl.init(source, persistArgs.target, null, null, null, persist);
|
||||
persist.saveURI(source, null, getReferrer(document), persistArgs.postData, null, persistArgs.target);
|
||||
var referrer = aData.referrer || getReferrer(document)
|
||||
persist.saveURI(source, null, referrer, persistArgs.postData, null, persistArgs.target);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -706,16 +706,6 @@ function onBeginLinkDrag(event,urlField,descField)
|
||||
}
|
||||
|
||||
//******** Image Stuff
|
||||
function getSource(item)
|
||||
{
|
||||
// Return the correct source without strict warnings
|
||||
if ("href" in item && item.href)
|
||||
return item.href;
|
||||
if ("src" in item && item.src)
|
||||
return item.src;
|
||||
return null;
|
||||
}
|
||||
|
||||
function getSelectedImage(tree)
|
||||
{
|
||||
if (!imageView.rowCount) return null;
|
||||
@@ -730,10 +720,10 @@ function saveMedia()
|
||||
{
|
||||
var tree = document.getElementById("imagetree");
|
||||
var item = getSelectedImage(tree);
|
||||
var url = getAbsoluteURL(getSource(item), item);
|
||||
var url = imageView.data[tree.currentIndex][0];
|
||||
|
||||
if (url)
|
||||
saveURL(url, null, 'SaveImageTitle', false );
|
||||
saveURL(url, null, 'SaveImageTitle', false, false, makeURL(item.baseURI));
|
||||
}
|
||||
|
||||
function onImageSelect()
|
||||
|
||||
@@ -715,16 +715,6 @@ function onBeginLinkDrag(event,urlField,descField)
|
||||
}
|
||||
|
||||
//******** Image Stuff
|
||||
function getSource(item)
|
||||
{
|
||||
// Return the correct source without strict warnings
|
||||
if ("href" in item && item.href)
|
||||
return item.href;
|
||||
if ("src" in item && item.src)
|
||||
return item.src;
|
||||
return null;
|
||||
}
|
||||
|
||||
function getSelectedImage(tree)
|
||||
{
|
||||
if (!imageView.rowCount) return null;
|
||||
@@ -739,10 +729,10 @@ function saveMedia()
|
||||
{
|
||||
var tree = document.getElementById("imagetree");
|
||||
var item = getSelectedImage(tree);
|
||||
var url = getAbsoluteURL(getSource(item), item);
|
||||
var url = imageView.data[tree.currentIndex][0];
|
||||
|
||||
if (url)
|
||||
saveURL(url, null, 'SaveImageTitle', false );
|
||||
saveURL(url, null, 'SaveImageTitle', false, makeURI(item.baseURI));
|
||||
}
|
||||
|
||||
function onImageSelect()
|
||||
|
||||
@@ -66,6 +66,7 @@
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://communicator/content/utilityOverlay.js"/>
|
||||
<script type="application/x-javascript" src="chrome://navigator/content/pageInfo.js"/>
|
||||
<script type="application/x-javascript" src="chrome://global/content/XPCNativeWrapper.js"/>
|
||||
<script type="application/x-javascript" src="chrome://help/content/contextHelp.js"/>
|
||||
|
||||
<keyset>
|
||||
|
||||
@@ -217,10 +217,10 @@ function findParentNode(node, parentNode)
|
||||
// - A linked document using Save Link As...
|
||||
// - A linked document using shift-click Save Link As...
|
||||
//
|
||||
function saveURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache)
|
||||
function saveURL(aURL, aFileName, aFilePickerTitleKey, aShouldBypassCache, aReferrer)
|
||||
{
|
||||
internalSave(aURL, null, aFileName, aShouldBypassCache,
|
||||
aFilePickerTitleKey, null);
|
||||
aFilePickerTitleKey, null, aReferrer);
|
||||
}
|
||||
|
||||
function saveFrameDocument()
|
||||
@@ -264,7 +264,7 @@ function saveDocument(aDocument)
|
||||
* need to be prompted for a target filename.
|
||||
*/
|
||||
function internalSave(aURL, aDocument, aDefaultFileName, aShouldBypassCache,
|
||||
aFilePickerTitleKey, aChosenData)
|
||||
aFilePickerTitleKey, aChosenData, aReferrer)
|
||||
{
|
||||
// Note: aDocument == null when this code is used by save-link-as...
|
||||
var contentType = (aDocument ? aDocument.contentType : null);
|
||||
@@ -368,7 +368,7 @@ function internalSave(aURL, aDocument, aDefaultFileName, aShouldBypassCache,
|
||||
} else {
|
||||
dl.init((aChosenData ? aChosenData.uri : source),
|
||||
persistArgs.target, null, null, null, persist);
|
||||
var referer = getReferrer(document);
|
||||
var referer = aReferrer || getReferrer(document);
|
||||
persist.saveURI((aChosenData ? aChosenData.uri : source),
|
||||
null, referer, persistArgs.postData, null, persistArgs.target);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user