Closed Bug 1050159 Opened 6 years ago Closed 6 years ago

Black bars appear briefly when loading zoomed page in new tab


(Core :: Layout, defect)

34 Branch
Windows 8
Not set



Tracking Status
firefox32 --- unaffected
firefox33 --- unaffected
firefox34 + verified
firefox35 --- verified


(Reporter: dw-dev, Assigned: roc)



(Keywords: addon-compat, regression)


(2 files)

User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0 (Beta/Release)
Build ID: 20140806030201

Steps to reproduce:

1. Running Firefox Nightly 34.0a1 (2014-08-06) with Tile Tabs add-on installed.  The problem only occurs with Tile Tabs or Tile View add-ons installed [I am the developer of both of these add-ons].
2. Opened a web page in new tab (e.g. click on New Tab button to display homepage or middle-click a bookmarked page).  Problem only occurs with a web page from a site that has site-specific zoom >100% or <100%.

Tile Tabs was originally developed for Firefox 3.6 and it has worked well with all versions of Firefox since then.  In order to display multiple tabs in a "tiled layout", Tile Tabs has to change the <tabpanels> container from "display: -moz-deck" to "display: -moz-stack" and modify the normal tab selection behaviour.

I would like to understand if there are some significant change in Firefox 34 affecting the <tabpanels> container or the opening/loading/selecting of tabs or the zooming of tabs. So that I can figure out how to update Tile Tabs.

Actual results:

I want to inform you that in recent versions of Firefox there is a black bar on the top of the content when Tile Tabs is installed (look at the image).

1. Very briefly a blank white page is displayed.
2. A fraction of a second later, the page is displaced by black bars appeariing above and to the left of the blank white page (if site-specific zoom >100%), or to the right and below the blank white page  (if site-specific zoom <100%).  Please see screenshot.
3. After about half a second, the page contents are displayed in the correct position.

Expected results:

1. Very briefly a blank white page.
2. Followed immediately by the page contents.
Do you use e10s window?
Component: Untriaged → Extension Compatibility
I wasn't using e10s for this test.

I have briefly tried setting the browser.tabs.remote.autostart preference, to enable e10s, and clearly a lot of Tile Tabs functionality is not working.

Is there any information available about which interfaces will be impacted by e10s in FF34 ?
Try to search in bugzilla after the "[e10s]" string
I've done some more investigation.  This problem happens with e10s switched off and is related to applying 'overflow: hidden;' to <notificationbox> elements that are associated with <browser> elements displaying zoomed web pages.  The problem disappears if the styling is changed to 'overflow: visible;', but this is not nice for Tile Tabs user experience.  This problem does not occur with earlier vesions of Firefox.

I haven't been able to determine if the problem occurs with e10s switched on, because Tile Tabs only works to a very limited extent with e10s at present.  Any attempts to access 'linkedBrowser.docShell' or 'linkedBrowser.contentWindow' return null, presumably because the data objects associated with <browser> elements now belong to separate content processes.  My understanding is that I will need to move the Tile Tabs Javascript code that accesses data objects associated with <browser> elements into separate Frame Scripts and use messaging to communicate with these scripts.

Is the e10s environment sufficiently advanced to make it worthwhile starting the re-design of Tile Tabs?  Is e10s definitely going to be completed and released?
(In reply to dw-dev from comment #0)
> 2. Opened a web page in new tab (e.g. click on New Tab button to display
> homepage or middle-click a bookmarked page).  Problem only occurs with a web
> page from a site that has site-specific zoom >100% or <100%.
I couldn't reproduce, 34.0a1 (2014-08-10) Win 8.1 x64.
Please give me an example of site where you can reproduce.
Flags: needinfo?(dw-dev)
I have just re-tested with Firefox 34.0a1 (2014-08-11) Win 8.0 x64 and the problem is still happening.

To reproduce the problem, you need to run Firefox with Tile Tabs 11.11 installed and e10s disabled.

The problem happens with all web pages as far as I am aware, certainly Google, Bing, Yahoo homepages.

The problem is easier to see if you have the bookmarks sidebar open, because the window contents are displaced by a bigger amount and the black bar on the left or right is wider.

The problem happens when the first web page is loaded into a new tab as a single operation.
Ok, I reproduced the problem now, 34.0a1 (2014-08-11), Win 7 x64.
1. Start FF with new profile
2. Install and restart FF
3. Open and increase the zoom level to maximum (CTRL+MOUSE SCROLL)
4. Bookmark
5. Open the bookmarks sidebar (CTRL+B)
6. Middle mouse click on the google bookmark in the sidebar to open the page in a new tab

Actual results:
Black bars flicker around the page layout
Ever confirmed: true
Flags: needinfo?(dw-dev)
Last good revision: 63f44b4968c2 (2014-07-22)
First bad revision: 82df3654cd80 (2014-07-23)

Last good revision: 63f44b4968c2
First bad revision: e740a64c284b
Forget about the above inbound pushlog.

Last good revision: dd2018a5f894
First bad revision: a0ffaeafbe7e
Flags: needinfo?(roc)
Doesn't seem to happen in Linux. I'll take a look on Windows.
Flags: needinfo?(roc)
Attached patch fixSplinter Review
Assignee: nobody → roc
Attachment #8483506 - Flags: review?(matt.woodrow)
Comment on attachment 8483506 [details] [diff] [review]

Review of attachment 8483506 [details] [diff] [review]:

::: layout/generic/nsSubDocumentFrame.cpp
@@ +467,5 @@
>                ? nsLayoutUtils::FindOrCreateIDFor(rootScrollFrame->GetContent())
>                : aBuilder->GetCurrentScrollParentId());
>        aBuilder->SetAncestorHasTouchEventHandler(false);
> +      fprintf(stderr, "Entering subdocument root %p; dirty=%d,%d,%d,%d\n", subdocRootFrame, dirty.x, dirty.y, dirty.width, dirty.height);

Debugging code.

@@ +495,5 @@
> +  	    // Invoke AutoBuildingDisplayList to ensure that the correct dirty rect
> +  	    // is used to compute the visible rect if AddCanvasBackgroundColorItem
> +   	    // creates a display item.
> +    	nsIFrame* frame = subdocRootFrame ? subdocRootFrame : this;
> +   	    nsDisplayListBuilder::AutoBuildingDisplayList

Indent (tabs)
Attachment #8483506 - Flags: review?(matt.woodrow) → review+
See Also: → 1043172
The black bars are reproducible on the 7 September Nightly 35 on both Windows and Linux. It was noticed on a search results page.
Component: Extension Compatibility → Layout
Product: Firefox → Core
[Tracking Requested - why for this release]: This bug is regression in Firefox 34. We should uplift the patch.
Comment on attachment 8483506 [details] [diff] [review]

Approval Request Comment
[Feature/regressing bug #]: 1041200
[User impact if declined]: visual badness using some extensions, and possibly in Web pages as well
[Describe test coverage new/current, TBPL]: some tests impinge on this code
[Risks and why]: fairly low risk
[String/UUID change made/needed]: none
Attachment #8483506 - Flags: approval-mozilla-aurora?
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
Verified fixed 35.0a1 (2014-09-11) Win 7 x64
Comment on attachment 8483506 [details] [diff] [review]

Attachment #8483506 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Flags: qe-verify+
Reproduced using Nightly 34.0a1 2014-08-06 under Win 7 64-bit using both Tile Tabs and Tile View add-ons following the steps from comment 7.
The issue no longer occurs in Firefox 34 beta 1 (20141014134955).
You need to log in before you can comment on or make changes to this bug.