зеркало из https://github.com/mozilla/pjs.git
Bug 644993 - Undo close tab doesn't refresh the content in a SSL Error page [r=mark.finkle]
This commit is contained in:
Родитель
cc040d29ec
Коммит
0b091f49ab
|
@ -381,6 +381,7 @@ var Browser = {
|
||||||
messageManager.addMessageListener("scroll", this);
|
messageManager.addMessageListener("scroll", this);
|
||||||
messageManager.addMessageListener("Browser:CertException", this);
|
messageManager.addMessageListener("Browser:CertException", this);
|
||||||
messageManager.addMessageListener("Browser:BlockedSite", this);
|
messageManager.addMessageListener("Browser:BlockedSite", this);
|
||||||
|
messageManager.addMessageListener("Browser:ErrorPage", this);
|
||||||
|
|
||||||
// Broadcast a UIReady message so add-ons know we are finished with startup
|
// Broadcast a UIReady message so add-ons know we are finished with startup
|
||||||
let event = document.createEvent("Events");
|
let event = document.createEvent("Events");
|
||||||
|
@ -483,6 +484,7 @@ var Browser = {
|
||||||
messageManager.removeMessageListener("scroll", this);
|
messageManager.removeMessageListener("scroll", this);
|
||||||
messageManager.removeMessageListener("Browser:CertException", this);
|
messageManager.removeMessageListener("Browser:CertException", this);
|
||||||
messageManager.removeMessageListener("Browser:BlockedSite", this);
|
messageManager.removeMessageListener("Browser:BlockedSite", this);
|
||||||
|
messageManager.removeMessageListener("Browser:ErrorPage", this);
|
||||||
|
|
||||||
var os = Services.obs;
|
var os = Services.obs;
|
||||||
os.removeObserver(XPInstallObserver, "addon-install-blocked");
|
os.removeObserver(XPInstallObserver, "addon-install-blocked");
|
||||||
|
@ -935,6 +937,14 @@ var Browser = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle error page message from the content.
|
||||||
|
*/
|
||||||
|
_handleErrorPage: function _handleErrorPage(aMessage) {
|
||||||
|
let tab = this.getTabForBrowser(aMessage.target);
|
||||||
|
tab.updateThumbnail({ force: true });
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Compute the sidebar percentage visibility.
|
* Compute the sidebar percentage visibility.
|
||||||
*
|
*
|
||||||
|
@ -1225,6 +1235,9 @@ var Browser = {
|
||||||
case "Browser:BlockedSite":
|
case "Browser:BlockedSite":
|
||||||
this._handleBlockedSite(aMessage);
|
this._handleBlockedSite(aMessage);
|
||||||
break;
|
break;
|
||||||
|
case "Browser:ErrorPage":
|
||||||
|
this._handleErrorPage(aMessage);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -2971,7 +2984,8 @@ Tab.prototype = {
|
||||||
return this.metadata.allowZoom && !Util.isURLEmpty(this.browser.currentURI.spec);
|
return this.metadata.allowZoom && !Util.isURLEmpty(this.browser.currentURI.spec);
|
||||||
},
|
},
|
||||||
|
|
||||||
updateThumbnail: function updateThumbnail() {
|
updateThumbnail: function updateThumbnail(options) {
|
||||||
|
let options = options || {};
|
||||||
let browser = this._browser;
|
let browser = this._browser;
|
||||||
|
|
||||||
if (this._loading) {
|
if (this._loading) {
|
||||||
|
@ -2979,9 +2993,11 @@ Tab.prototype = {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let forceUpdate = ("force" in options && options.force);
|
||||||
|
|
||||||
// Do not repaint thumbnail if we already painted for this load. Bad things
|
// Do not repaint thumbnail if we already painted for this load. Bad things
|
||||||
// happen when we do async canvas draws in quick succession.
|
// happen when we do async canvas draws in quick succession.
|
||||||
if (!browser || this._thumbnailWindowId == browser.contentWindowId)
|
if (!forceUpdate && (!browser || this._thumbnailWindowId == browser.contentWindowId))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Do not try to paint thumbnails if contentWindowWidth/Height have not been
|
// Do not try to paint thumbnails if contentWindowWidth/Height have not been
|
||||||
|
|
|
@ -279,6 +279,7 @@ let Content = {
|
||||||
addEventListener("DOMActivate", this, true);
|
addEventListener("DOMActivate", this, true);
|
||||||
|
|
||||||
addEventListener("MozApplicationManifest", this, false);
|
addEventListener("MozApplicationManifest", this, false);
|
||||||
|
addEventListener("DOMContentLoaded", this, false);
|
||||||
addEventListener("pagehide", this, false);
|
addEventListener("pagehide", this, false);
|
||||||
addEventListener("keypress", this, false, false);
|
addEventListener("keypress", this, false, false);
|
||||||
|
|
||||||
|
@ -384,6 +385,10 @@ let Content = {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case "DOMContentLoaded":
|
||||||
|
this._maybeNotifyErroPage();
|
||||||
|
break;
|
||||||
|
|
||||||
case "pagehide":
|
case "pagehide":
|
||||||
if (aEvent.target == content.document)
|
if (aEvent.target == content.document)
|
||||||
this._resetFontSize();
|
this._resetFontSize();
|
||||||
|
@ -602,6 +607,14 @@ let Content = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_maybeNotifyErroPage: function _maybeNotifyErroPage() {
|
||||||
|
// Notify browser that an error page is being shown instead
|
||||||
|
// of the target location. Necessary to get proper thumbnail
|
||||||
|
// updates on chrome for error pages.
|
||||||
|
if (content.location.href !== content.document.documentURI)
|
||||||
|
sendAsyncMessage("Browser:ErrorPage", null);
|
||||||
|
},
|
||||||
|
|
||||||
_resetFontSize: function _resetFontSize() {
|
_resetFontSize: function _resetFontSize() {
|
||||||
this._isZoomedToElement = false;
|
this._isZoomedToElement = false;
|
||||||
this._setMinFontSize(0);
|
this._setMinFontSize(0);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче