Closed
Bug 932055
Opened 11 years ago
Closed 11 years ago
Overlay buttons flicker or disappear when panning while zoomed
Categories
(Core :: Graphics: Layers, defect, P1)
Tracking
()
RESOLVED
DUPLICATE
of bug 951467
People
(Reporter: jimm, Unassigned)
References
Details
Attachments
(4 files, 1 obsolete file)
STR:
1) load any page
2) zoom in a bit
3) pan around
result: the overlay browser buttons will flicker or disappear.
Reporter | ||
Updated•11 years ago
|
Blocks: metro-apzc
Comment 1•11 years ago
|
||
Taking a look.
Assignee: nobody → spohl.mozilla.bugs
Status: NEW → ASSIGNED
Whiteboard: [block28] → [block28] feature=defect c=tbd u=tbd p=3
Updated•11 years ago
|
Whiteboard: [block28] feature=defect c=tbd u=tbd p=3 → [block28]
Comment 2•11 years ago
|
||
I haven't made much progress yet, but after commenting out browser.setWindowSize [1], the overlay buttons no longer disappear. This was introduced in bug 902505 to fix the fact that content remained blurry and didn't get repainted after a zoom.
I've also noticed that since landing bug 902505, scrollbars no longer display when using the trackpad to scroll when the page is zoomed in.
[1] http://mxr.mozilla.org/mozilla-central/source/browser/metro/base/content/browser.js#1320
Blocks: 902505
Comment 3•11 years ago
|
||
Slowly inching closer to what's going on here. I'm writing this down mostly for my own record:
1. After zooming in on the page, AsyncPanZoomController::OnScaleEnd calls RequestContentRepaint.
2. The RequestContentRepaintEvent calls APZCCallbackHelper::UpdateRootFrame.
The overlay buttons remain visible for as long as we *think* they are visible on screen, but we're forgetting that they're *always* on screen. It's probably easier to imagine this way: If we assumed for a second that the buttons were fixed with the content and would scale along with the content, the layers for the buttons would no longer be shown when they moved off the screen. Somewhere we seem to compute the visibility of a layer but are forgetting that the buttons aren't fixed with the content, nor scale with the content and that we should always show them.
Reporter | ||
Updated•11 years ago
|
Whiteboard: [block28] → [beta28][gfx]
Comment 4•11 years ago
|
||
By commenting out "top: 50%" for overlay buttons in browser.css [1], this problem goes away. I'm not sure yet if this is the problem (i.e. we shouldn't be using 'top' in this situation), or if it's just exposing it. The buttons are obviously not positioned correctly without it.
I've tried finding related bugs in the bugbase but haven't found anything that quite matches this yet.
[1] http://mxr.mozilla.org/mozilla-central/source/browser/metro/theme/browser.css#329
Updated•11 years ago
|
Reporter | ||
Comment 5•11 years ago
|
||
Per discussions between marcom and milan, we're requesting tracking on the remaining "big issues" related to apzc for metrofx, which is riding the 28 train. We expect these will get fixed during the long aurora train ride.
This bug appears to be graphic related, when panning zoomed content ui elements that overlay content flicker and disappear.
tracking-firefox28:
--- → ?
Comment 6•11 years ago
|
||
This is a dump generated by setting MOZ_DUMP_PAINT_LIST in the environment. I've added text to the divs for the overlay buttons in browser.xul to identify them more easily in the dump. The "back" button is labelled "LEFT BUTTON" and the "new tab" button is labelled "RIGHT BUTTON". Metro Firefox was started, then attached to with Visual Studio (so the dump will not contain info from startup). From the start page, a local html file was loaded. At this point, both buttons display correctly. I've then zoomed in on the page via pinch-to-zoom. After releasing the screen, both buttons were no longer visible.
Unfortunately, we don't seem to be able to dump our painting to a file via MOZ_DUMP_PAINT_TO_FILE in Metro Firefox because we rely on OMTC [1].
[1] https://bugzilla.mozilla.org/show_bug.cgi?id=737319#c1
Comment 7•11 years ago
|
||
Comment on attachment 8343232 [details]
dump generated with MOZ_DUMP_PAINT_LIST
Robert, would you be able to take a quick look at this dump? Is there anything obvious that jumps out at you? Are there any other layout debugging tricks that you could recommend? Thank you!
Attachment #8343232 -
Flags: feedback?(roc)
Could this be related to bug 945634? Is it a regression from bug 919144?
In your paint list dump, it doesn't look like LEFT BUTTON is missing from any of the display lists that contain chrome content. Is that right?
Updated•11 years ago
|
Priority: -- → P1
QA Contact: jbecerra
Whiteboard: [beta28][gfx] → [beta28][gfx] p=8
Comment 9•11 years ago
|
||
I was confident that both buttons were no longer visible at the end of the previous dump, but I've created a second dump just to make sure. Both buttons were definitely no longer visible once the screen was released in this one. I'll be attaching before and after screenshots shortly.
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #8)
> Could this be related to bug 945634? Is it a regression from bug 919144?
Looking into this.
Attachment #8343232 -
Attachment is obsolete: true
Attachment #8343232 -
Flags: feedback?(roc)
Flags: needinfo?(roc)
Comment 10•11 years ago
|
||
Before zooming (with layers.draw-borders set to true).
Comment 11•11 years ago
|
||
After pinch-zooming and releasing screen (both buttons no longer visible).
Reporter | ||
Comment 12•11 years ago
|
||
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #8)
> Could this be related to bug 945634? Is it a regression from bug 919144?
Bug 919144 landed 11/18, this was filed 10/28, so doesn't look like it.
Comment 13•11 years ago
|
||
Interesting: the behavior in bug 945634 seems to be the opposite of the problem here. During zooming (i.e. while the fingers touch the screen), the overlay buttons in this bug are displayed correctly while the boxes in bug 945634 are shifting incorrectly (the bug mentions that the transform is applied twice). Once the screen is released, the overlay buttons in this bug disappear, while the boxes in bug 945634 snap back to their correct position.
(In reply to Stephen Pohl [:spohl] from comment #9)
> Created attachment 8344743 [details]
> dump1.txt
>
> I was confident that both buttons were no longer visible at the end of the
> previous dump, but I've created a second dump just to make sure. Both
> buttons were definitely no longer visible once the screen was released in
> this one. I'll be attaching before and after screenshots shortly.
The display list looks correct. It seems like an APZC bug.
Flags: needinfo?(roc)
Comment 15•11 years ago
|
||
For the sake of QA can we get reduced test case or a URL we can test?
Comment 16•11 years ago
|
||
The issue basically reproduces on any page when zoomed in. Here is a simple html file that I've been using to reproduce the issue locally. Zoom in and you'll notice that the right button disappears when the screen is released. If zoomed in almost to the maximum, the left button will disappear as well. When panning, the overlay buttons will appear/disappear quickly.
Did bug 945634 make a difference?
Comment 18•11 years ago
|
||
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #17)
> Did bug 945634 make a difference?
No, unfortunately not.
I've noticed that by skipping the call to WrapDisplayList for aLists.BorderBackground[1], the buttons no longer disappear when zooming and/or panning. However, the background also no longer extends across the whole screen, so I'm not sure yet if this is meaningful.
[1] http://mxr.mozilla.org/mozilla-central/source/layout/base/nsDisplayList.cpp#2992
Comment 19•11 years ago
|
||
Not much (if any) progress to report, so I'll see if I can be more useful with some of the other outstanding blockers.
Assignee: spohl.mozilla.bugs → nobody
Status: ASSIGNED → NEW
Updated•11 years ago
|
QA Contact: jbecerra
Whiteboard: [beta28][gfx] p=8 → [beta28][gfx]
Updated•11 years ago
|
Updated•11 years ago
|
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Updated•11 years ago
|
No longer blocks: metrov1backlog
Whiteboard: [beta28][gfx]
Updated•11 years ago
|
tracking-firefox28:
+ → ---
tracking-firefox29:
+ → ---
Assignee | ||
Updated•10 years ago
|
OS: Windows 8 Metro → Windows 8.1
You need to log in
before you can comment on or make changes to this bug.
Description
•