Bug 1397426 - Activate docShells immediately for imageDocument pages when switching tabs with warming enabled. r?billm draft
authorMike Conley <mconley@mozilla.com>
Fri, 03 Nov 2017 12:18:48 -0400
changeset 699275 fdb9b5790f00700f1063faed7bf87e21a5b29950
parent 699274 53f8f8dd95575285273ccb10fef632959488e002
child 699276 99439db741644e525cd4555230449b533f18334b
push id89520
push usermconley@mozilla.com
push dateThu, 16 Nov 2017 23:30:45 +0000
reviewersbillm
bugs1397426, 1418099
milestone59.0a1
Bug 1397426 - Activate docShells immediately for imageDocument pages when switching tabs with warming enabled. r?billm This is a workaround for Bug 1418099. MozReview-Commit-ID: 9cgAj1zMJr2
browser/base/content/tabbrowser.xml
--- a/browser/base/content/tabbrowser.xml
+++ b/browser/base/content/tabbrowser.xml
@@ -4409,17 +4409,22 @@
             setTabState(tab, state) {
               this.setTabStateNoAction(tab, state);
 
               let browser = tab.linkedBrowser;
               let {tabParent} = browser.frameLoader;
               if (state == this.STATE_LOADING) {
                 this.assert(!this.minimizedOrFullyOccluded);
 
-                if (!this.tabbrowser.tabWarmingEnabled) {
+                // Bug 1418099 - if we don't activate the docShell here,
+                // we see a flash because an inactive docShell (even if
+                // the tab is warmed up) doesn't decode images. This is
+                // a workaround for that.
+                if (!this.tabbrowser.tabWarmingEnabled ||
+                    browser.imageDocument) {
                   browser.docShellIsActive = true;
                 }
 
                 if (tabParent) {
                   tabParent.renderLayers(true);
                 } else {
                   this.onLayersReady(browser);
                 }