Merge pull request #1794 from brendandahl/fix-fallback
Fix fallback after new download.
This commit is contained in:
commit
3a240263b0
@ -216,7 +216,7 @@ ChromeActions.prototype = {
|
|||||||
searchEnabled: function() {
|
searchEnabled: function() {
|
||||||
return getBoolPref(PREF_PREFIX + '.searchEnabled', false);
|
return getBoolPref(PREF_PREFIX + '.searchEnabled', false);
|
||||||
},
|
},
|
||||||
fallback: function(url) {
|
fallback: function(url, sendResponse) {
|
||||||
var self = this;
|
var self = this;
|
||||||
var domWindow = this.domWindow;
|
var domWindow = this.domWindow;
|
||||||
var strings = getLocalizedStrings('chrome.properties');
|
var strings = getLocalizedStrings('chrome.properties');
|
||||||
@ -225,17 +225,32 @@ ChromeActions.prototype = {
|
|||||||
var win = Services.wm.getMostRecentWindow('navigator:browser');
|
var win = Services.wm.getMostRecentWindow('navigator:browser');
|
||||||
var browser = win.gBrowser.getBrowserForDocument(domWindow.top.document);
|
var browser = win.gBrowser.getBrowserForDocument(domWindow.top.document);
|
||||||
var notificationBox = win.gBrowser.getNotificationBox(browser);
|
var notificationBox = win.gBrowser.getNotificationBox(browser);
|
||||||
|
// Flag so we don't call the response callback twice, since if the user
|
||||||
|
// clicks open with different viewer both the button callback and
|
||||||
|
// eventCallback will be called.
|
||||||
|
var sentResponse = false;
|
||||||
var buttons = [{
|
var buttons = [{
|
||||||
label: getLocalizedString(strings, 'open_with_different_viewer'),
|
label: getLocalizedString(strings, 'open_with_different_viewer'),
|
||||||
accessKey: getLocalizedString(strings, 'open_with_different_viewer',
|
accessKey: getLocalizedString(strings, 'open_with_different_viewer',
|
||||||
'accessKey'),
|
'accessKey'),
|
||||||
callback: function() {
|
callback: function() {
|
||||||
self.download(url);
|
sentResponse = true;
|
||||||
|
sendResponse(true);
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
notificationBox.appendNotification(message, 'pdfjs-fallback', null,
|
notificationBox.appendNotification(message, 'pdfjs-fallback', null,
|
||||||
notificationBox.PRIORITY_WARNING_LOW,
|
notificationBox.PRIORITY_WARNING_LOW,
|
||||||
buttons);
|
buttons,
|
||||||
|
function eventsCallback(eventType) {
|
||||||
|
// Currently there is only one event "removed" but if there are any other
|
||||||
|
// added in the future we still only care about removed at the moment.
|
||||||
|
if (eventType !== 'removed')
|
||||||
|
return;
|
||||||
|
// Don't send a response again if we already responded when the button was
|
||||||
|
// clicked.
|
||||||
|
if (!sentResponse)
|
||||||
|
sendResponse(false);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -468,7 +468,11 @@ var PDFView = {
|
|||||||
return;
|
return;
|
||||||
this.fellback = true;
|
this.fellback = true;
|
||||||
var url = this.url.split('#')[0];
|
var url = this.url.split('#')[0];
|
||||||
FirefoxCom.request('fallback', url);
|
FirefoxCom.request('fallback', url, function response(download) {
|
||||||
|
if (!download)
|
||||||
|
return;
|
||||||
|
PDFView.download();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
navigateTo: function pdfViewNavigateTo(dest) {
|
navigateTo: function pdfViewNavigateTo(dest) {
|
||||||
|
Loading…
Reference in New Issue
Block a user