Bug 726272 - [Page Thumbnails] don't capture error pages; r=dietrich

This commit is contained in:
Tim Taubert 2012-03-16 16:13:58 +01:00
parent 7a8a491a6b
commit 18b227aacb
3 changed files with 25 additions and 0 deletions

View File

@ -110,6 +110,11 @@ let gBrowserThumbnails = {
let channel = aBrowser.docShell.currentDocumentChannel;
// Don't take screenshots of internally redirecting about: pages.
// This includes error pages.
if (channel.originalURI.schemeIs("about"))
return false;
try {
// If the channel is a nsIHttpChannel get its http status code.
let httpChannel = channel.QueryInterface(Ci.nsIHttpChannel);

View File

@ -13,6 +13,7 @@ include $(topsrcdir)/config/rules.mk
_BROWSER_FILES = \
browser_thumbnails_capture.js \
browser_thumbnails_bug726727.js \
head.js \
$(NULL)

View File

@ -0,0 +1,19 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* These tests ensure that capturing a sites's thumbnail, saving it and
* retrieving it from the cache works.
*/
function runTests() {
// Create a tab that shows an error page.
let tab = gBrowser.addTab("http://non-existant.url/");
let browser = tab.linkedBrowser;
yield browser.addEventListener("DOMContentLoaded", function onLoad() {
browser.removeEventListener("DOMContentLoaded", onLoad, false);
executeSoon(next);
}, false);
ok(!gBrowserThumbnails._shouldCapture(browser), "we're not going to capture an error page");
}