Closed Bug 1365161 Opened 7 years ago Closed 7 years ago

Dynamic toolbar would not get composition page size when root content document was not scrollable

Categories

(Firefox for Android Graveyard :: Toolbar, defect, P3)

55 Branch
defect

Tracking

(firefox54 unaffected, firefox55 fixed)

RESOLVED FIXED
Firefox 55
Tracking Status
firefox54 --- unaffected
firefox55 --- fixed

People

(Reporter: rbarker, Assigned: rbarker)

References

Details

Attachments

(1 file)

The dynamic toolbar animator was using AsyncPanZoomController::NotifyLayersUpdated to be notified when the composition page size changed. Unfortunately pages that were not scrollable would not receive this notification which would result in the toolbar not hiding when going into fullscreen mode.
Assignee: nobody → rbarker
Comment on attachment 8867988 [details] Bug 1365161 - Ensure dynamic toolbar static snapshot visibility stays in sync with the real toolbar chrome Found an issue where top fixed elements will flash in the wrong location for a single frame with this patch. Canceling review until I can resolve.
Attachment #8867988 - Flags: review?(botond)
Priority: -- → P3
Version: unspecified → 55 Branch
Comment on attachment 8867988 [details] Bug 1365161 - Ensure dynamic toolbar static snapshot visibility stays in sync with the real toolbar chrome https://reviewboard.mozilla.org/r/139522/#review143714 r+ for java bits
Attachment #8867988 - Flags: review?(nchen) → review+
Comment on attachment 8867988 [details] Bug 1365161 - Ensure dynamic toolbar static snapshot visibility stays in sync with the real toolbar chrome https://reviewboard.mozilla.org/r/139522/#review144624 LGTM. Up to you if you want to do the suggested refactoring. ::: gfx/layers/composite/AsyncCompositionManager.cpp:963 (Diff revision 3) > - mLayersUpdated = false; > + mLayersUpdated = false; > - } > + } > - mIsFirstPaint = false; > + // If this is not actually the root content then the animator is not getting updated in AsyncPanZoomController::NotifyLayersUpdated > + // because the root content document is not scrollable. So update it here so it knows if the root composition size has changed. > + if (!metrics.IsRootContent()) { > + CSSToScreenScale scale = ViewTargetAs<ScreenPixel>(metrics.GetZoom().ToScaleFactor(), Maybe factor this code out into an AndroidDynamicToolbarAnimator::MaybeUpdateMetrics(const FrameMetrics&) function (which would then be called from here and NotifyLayersUpdated)?
Attachment #8867988 - Flags: review?(botond) → review+
Pushed by rbarker@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/cecb61b2bb6c Ensure dynamic toolbar static snapshot visibility stays in sync with the real toolbar chrome r=botond,jchen
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 55
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: