Bug 1320900 - Do not show Reader View icon on error pages. r?sebastian
MozReview-Commit-ID: GrQqKqccicf
--- a/mobile/android/chrome/content/content.js
+++ b/mobile/android/chrome/content/content.js
@@ -51,16 +51,22 @@ var AboutReaderListener = {
break;
}
},
get isAboutReader() {
return content.document.documentURI.startsWith("about:reader");
},
+ get isErrorPage() {
+ return content.document.documentURI.startsWith("about:neterror") ||
+ content.document.documentURI.startsWith("about:certerror") ||
+ content.document.documentURI.startsWith("about:blocked");
+ },
+
handleEvent: function(aEvent) {
if (aEvent.originalTarget.defaultView != content) {
return;
}
switch (aEvent.type) {
case "AboutReaderContentLoaded":
if (!this.isAboutReader) {
@@ -95,23 +101,26 @@ var AboutReaderListener = {
}
break;
case "DOMContentLoaded":
this.updateReaderButton();
break;
}
},
updateReaderButton: function(forceNonArticle) {
- if (!ReaderMode.isEnabledForParseOnLoad || this.isAboutReader ||
+ // Do not show Reader View icon on error pages (bug 1320900)
+ if (this.isErrorPage) {
+ sendAsyncMessage("Reader:UpdateReaderButton", { isArticle: false });
+ } else if (!ReaderMode.isEnabledForParseOnLoad || this.isAboutReader ||
!(content.document instanceof content.HTMLDocument) ||
content.document.mozSyntheticDocument) {
return;
+ } else {
+ this.scheduleReadabilityCheckPostPaint(forceNonArticle);
}
-
- this.scheduleReadabilityCheckPostPaint(forceNonArticle);
},
cancelPotentialPendingReadabilityCheck: function() {
if (this._pendingReadabilityCheck) {
removeEventListener("MozAfterPaint", this._pendingReadabilityCheck);
delete this._pendingReadabilityCheck;
}
},