Bug 878747 - part 2 - use the new 'nodefaultsrc' attribute for browsers; r=dao

This commit is contained in:
Tim Taubert 2013-06-06 21:05:21 +02:00
parent fcc2d91629
commit ffbd574669
3 changed files with 23 additions and 15 deletions

View File

@ -1380,6 +1380,12 @@
t._tPos = position;
this.tabContainer._setPositionalAttributes();
// Prevent the superfluous initial load of a blank document
// if we're going to load something other than about:blank.
if (!uriIsAboutBlank) {
b.setAttribute("nodefaultsrc", "true");
}
// NB: this appendChild call causes us to run constructors for the
// browser element, which fires off a bunch of notifications. Some
// of those notifications can cause code to run that inspects our
@ -1389,13 +1395,6 @@
this.tabContainer.updateVisibility();
if (!uriIsAboutBlank) {
// Stop the existing about:blank load. Otherwise, if aURI
// doesn't stop in-progress loads on its own, we'll get into
// trouble with multiple parallel loads running at once.
b.stop();
}
// wire up a progress listener for the new browser object.
var tabListener = this.mTabProgressListener(t, b, uriIsAboutBlank);
const filter = Components.classes["@mozilla.org/appshell/component/browser-status-filter;1"]

View File

@ -35,10 +35,10 @@ function test() {
}
function load(aTab, aUrl, aCallback) {
aTab.linkedBrowser.addEventListener("pageshow", function onpageshow(aEvent) {
aEvent.currentTarget.removeEventListener("pageshow", onpageshow, false);
aTab.linkedBrowser.addEventListener("load", function onload(aEvent) {
aEvent.currentTarget.removeEventListener("load", onload, true);
waitForFocus(aCallback, content);
}, false);
}, true);
aTab.linkedBrowser.loadURI(aUrl);
}

View File

@ -8,10 +8,6 @@ XPCOMUtils.defineLazyGetter(this, "docShell", () => {
});
const EXPECTED_REFLOWS = [
// b.stop() call in tabbrowser.addTab()
"stop@chrome://global/content/bindings/browser.xml|" +
"addTab@chrome://browser/content/tabbrowser.xml|",
// tabbrowser.adjustTabstrip() call after tabopen animation has finished
"adjustTabstrip@chrome://browser/content/tabbrowser.xml|" +
"_handleNewTab@chrome://browser/content/tabbrowser.xml|" +
@ -30,7 +26,20 @@ const EXPECTED_REFLOWS = [
"get_scrollPosition@chrome://global/content/bindings/scrollbox.xml|" +
"_fillTrailingGap@chrome://browser/content/tabbrowser.xml|" +
"_handleNewTab@chrome://browser/content/tabbrowser.xml|" +
"onxbltransitionend@chrome://browser/content/tabbrowser.xml|"
"onxbltransitionend@chrome://browser/content/tabbrowser.xml|",
// The TabView iframe causes reflows in the parent document.
"iQClass_height@chrome://browser/content/tabview.js|" +
"GroupItem_getContentBounds@chrome://browser/content/tabview.js|" +
"GroupItem_shouldStack@chrome://browser/content/tabview.js|" +
"GroupItem_arrange@chrome://browser/content/tabview.js|" +
"GroupItem_add@chrome://browser/content/tabview.js|" +
"GroupItems_newTab@chrome://browser/content/tabview.js|" +
"TabItem__reconnect@chrome://browser/content/tabview.js|" +
"TabItem@chrome://browser/content/tabview.js|" +
"TabItems_link@chrome://browser/content/tabview.js|" +
"@chrome://browser/content/tabview.js|" +
"addTab@chrome://browser/content/tabbrowser.xml|"
];
const PREF_PRELOAD = "browser.newtab.preload";