Closed Bug 1302150 Opened 8 years ago Closed 8 years ago

Dynamic toolbar doesn't reappear after scrolling to bottom of long page

Categories

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

48 Branch
All
Android
defect

Tracking

(firefox48 wontfix, firefox49 wontfix, fennec+, firefox50 wontfix, firefox51 wontfix, firefox52 wontfix, firefox53 wontfix, firefox54 wontfix, firefox55 verified)

VERIFIED FIXED
Firefox 55
Tracking Status
firefox48 --- wontfix
firefox49 --- wontfix
fennec + ---
firefox50 --- wontfix
firefox51 --- wontfix
firefox52 --- wontfix
firefox53 --- wontfix
firefox54 --- wontfix
firefox55 --- verified

People

(Reporter: kats, Assigned: rbarker)

References

Details

(Keywords: regression)

Attachments

(1 file)

It looks like with the C++ APZ the NativePanZoomController code never invokes PanZoomTarget.panZoomStopped(), so the code at [1] is never getting run. [1] http://searchfox.org/mozilla-central/rev/591354c5e5521cf845bf6b6ef44e8b3b0aeda17d/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java#1567
tracking-fennec: --- → ?
Assignee: nobody → rbarker
tracking-fennec: ? → +
Is this something we're thinking of getting to, or should we stop tracking it?
Flags: needinfo?(snorp)
Presumably this won't get fixed until bug 1335895 is done.
Depends on: dynamic-toolbar-3
Flags: needinfo?(snorp)
Too late for a fix for 53, as we are in the last week of the 53 beta cycle.
Depends on: 1358775
Comment on attachment 8864340 [details] Bug 1302150 - Ensure the dynamic toolbar becomes visible when end of page is reached https://reviewboard.mozilla.org/r/135982/#review139168 Mostly a rubber stamp since it's pretty hard to follow all the different code paths and conditions. Nothing looked obviously wrong.
Attachment #8864340 - Flags: review?(bugmail) → review+
Comment on attachment 8864340 [details] Bug 1302150 - Ensure the dynamic toolbar becomes visible when end of page is reached https://reviewboard.mozilla.org/r/135982/#review139168 That said, do you have any plans to write automated tests for the core dynamic toolbar code? I think it would be worthwhile, because it's getting to the point where there are so many different scenarios to deal with that fixing one could easily regress another. Having automated test coverage for scenarios that are fixed to prevent them from regressing would be very valuable.
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #6) > Comment on attachment 8864340 [details] > Bug 1302150 - Ensure the dynamic toolbar becomes visible when end of page is > reached > > https://reviewboard.mozilla.org/r/135982/#review139168 > > That said, do you have any plans to write automated tests for the core > dynamic toolbar code? I think it would be worthwhile, because it's getting > to the point where there are so many different scenarios to deal with that > fixing one could easily regress another. Having automated test coverage for > scenarios that are fixed to prevent them from regressing would be very > valuable. snorp and I are discussing the best approach to take.
After further testing I found some issues with dragging and animating the toolbar at the bottom of the page at the same time. Since this patch hasn't landed yet, I figured it would be better to post a new version that fixes the issues rather than create a new bug and post the fixes there. Kats do you have an opinion on this?
Flags: needinfo?(bugmail)
Ok, you can update the patch on this bug.
Flags: needinfo?(bugmail)
Comment on attachment 8864340 [details] Bug 1302150 - Ensure the dynamic toolbar becomes visible when end of page is reached https://reviewboard.mozilla.org/r/135982/#review140550
Attachment #8864340 - Flags: review+ → review?(bugmail)
Comment on attachment 8864340 [details] Bug 1302150 - Ensure the dynamic toolbar becomes visible when end of page is reached https://reviewboard.mozilla.org/r/135982/#review140552
Attachment #8864340 - Flags: review?(bugmail)
Flag me for review when the patch is ready.
Attachment #8864340 - Flags: review?(bugmail)
Comment on attachment 8864340 [details] Bug 1302150 - Ensure the dynamic toolbar becomes visible when end of page is reached https://reviewboard.mozilla.org/r/135982/#review141076 This is largely a rubberstamp, it's really hard to wrap my head around the different states so I have no idea if this is doing the right thing or not. ::: gfx/layers/apz/src/AndroidDynamicToolbarAnimator.h:159 (Diff revision 3) > void TranslateTouchEvent(MultiTouchInput& aTouchEvent); > ScreenIntCoord GetFixedLayerMarginsBottom(); > void NotifyControllerSnapshotFailed(); > void CheckForResetOnNextMove(ScreenIntCoord aCurrentTouch); > + // Returns true if the page scroll offset is near the bottom. > + bool ScrollOffsetNearBottom(); Make this function const if you can. ::: gfx/layers/apz/src/AndroidDynamicToolbarAnimator.h:160 (Diff revision 3) > + // Returns true if toolbar is completely visible or completely hidden. > + bool ToolbarInTransition(); The comment here seems to say the opposite of what I would expect the function to do based on its name. And the implementation seems to match the name, so the comment is wrong? Also, make the function const if you can. ::: gfx/layers/apz/src/AndroidDynamicToolbarAnimator.cpp:1009 (Diff revision 3) > MOZ_ASSERT(APZThreadUtils::IsControllerThread()); > - // The toolbar will only hide if dragging up so ignore positive deltas from dragging down. > - if (delta >= 0) { > + // if the page is too small then the toolbar can not be hidden > + if ((float)mControllerSurfaceHeight >= (mControllerFrameMetrics.mPageRect.YMost() * SHRINK_FACTOR)) { > + // If the toolbar is partial hidden, show it. > + if ((mControllerToolbarHeight != mControllerMaxToolbarHeight) && !mPinnedFlags) { > + StartCompositorAnimation(MOVE_TOOLBAR_DOWN, eImmediate, mControllerToolbarHeight, /* wait for page resize */ true); This function has side effects! Totally not obvious from the name or the documentation.
Attachment #8864340 - Flags: review?(bugmail) → review+
Comment on attachment 8864340 [details] Bug 1302150 - Ensure the dynamic toolbar becomes visible when end of page is reached https://reviewboard.mozilla.org/r/135982/#review141076 > The comment here seems to say the opposite of what I would expect the function to do based on its name. And the implementation seems to match the name, so the comment is wrong? Also, make the function const if you can. Yeah, the function was orignally ToolbarNotInTransition() which led to the double negative !ToolbarNotInTransition() so I removed the Not but forgot to update the comment. > This function has side effects! Totally not obvious from the name or the documentation. I renamed it PageTooSmallEnsureToolbarVisible(). Originally it only tested for the page being too small but since every place it returned true, I was making it visible, it seemed easier to roll it into the test function.
Pushed by rbarker@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/06c11db07536 Ensure the dynamic toolbar becomes visible when end of page is reached r=kats
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 55
Verified as fixed on latest Nightly 55.0a1 (2017-6-12). The dynamic toolbar appears when you get to the bottom of the page. Devices: -Prestigio Grace X5 (Android 4.4.2) -LG G4 (Android 5.1) -Nexus 5 (Android 6.0.1) -Huawei MediaPad M2 (Android 5.1.1)
Status: RESOLVED → VERIFIED
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: