Implement dynamic toolbar on top in RDM
Categories
(DevTools :: Responsive Design Mode, task, P2)
Tracking
(firefox152 fixed)
| Tracking | Status | |
|---|---|---|
| firefox152 | --- | fixed |
People
(Reporter: ajakobi, Assigned: mstange)
References
(Blocks 2 open bugs)
Details
Attachments
(8 files, 6 obsolete files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
The initial implementation of the dynamic toolbar in responsive design mode only shows the toolbar at the bottom.
This task should enable positioning the toolbar at the top.
| Reporter | ||
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
This makes it easier to line things up accurately.
| Assignee | ||
Comment 3•1 year ago
|
||
| Assignee | ||
Comment 4•1 year ago
|
||
| Assignee | ||
Comment 5•1 year ago
|
||
The current contentScrolled message doesn't let us know when the mouse button is released.
I realized that we don't necessarily need tho dynamic toolbar mouse tracking to be done by the touch simulator.
We can just listen to mouse events in two different places.
This patch makes us no longer use the contentScrolled message. We can remove it again.
| Assignee | ||
Comment 6•1 year ago
|
||
| Assignee | ||
Comment 7•1 year ago
|
||
Comment 8•11 months ago
|
||
Alex, Markus, Any way DevTools team can help with this ongoing work?
This looks like a very useful feature to help WebCompat team investigate mobile issues from desktop.
| Assignee | ||
Comment 9•10 months ago
•
|
||
Hi Alex, sorry for the delay. It would be great if you could take these patches and drive them to completion!
I think the code itself is fine, it's more that the patch series isn't fully optimized for ease of review.
If I remember correctly, the things left to do were:
- Merge and re-split the patches so that the visual look is maintained at any point in the patch stack. Specifically, there's one part which gets rid of the borders and shadows, and another part which adds a new element with the shadow to restore the original look, so I think it would make sense to move this "solution" to the start of the stack.
- Split the "Move mouse motion detection to the parent, and add snap animation when the mouse button is lifted." patch into the two pieces described by its commit message
- Do another review pass of the patches and maybe split out things that don't really belong in a patch. For example I see that D265176 is also centralizing the pref reading, and it's moving the initialization of the dynamic toolbar behavior down so that it's not interspersed between the DOM element creation that the rest of the function is doing. So maybe those things would be better in a separate patch.
| Reporter | ||
Updated•10 months ago
|
| Reporter | ||
Updated•6 months ago
|
| Assignee | ||
Comment 10•5 months ago
|
||
I've picked this back up.
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
| Assignee | ||
Comment 11•5 months ago
|
||
Remove the --resizer-offset variable (which really meant "reserved space for side
resize handles") and replace the browser border with an outline, so that at zoom:1
the browser size exactly matches rdm-width x rdm-height. We use negative margins on
the side resize handles to center their interactable location on the respective
side border.
| Assignee | ||
Comment 12•5 months ago
|
||
This makes the dynamic toolbar have the correct size when using page zoom in RDM.
There's one user-visible change that this introduces: The size of the resizer, as well
as the size of the interactive areas of the side resize handles, now depends on the zoom.
| Assignee | ||
Comment 13•5 months ago
|
||
Just feels a bit cleaner and is more consistent with the .dynamic-toolbar-on-top
class which I'll be adding in a future patch.
| Assignee | ||
Comment 14•5 months ago
|
||
This gives it a "URL bar" (just a shape with rounded endcaps) and a
"tab count indicator" (just a rounded rect with a 1 in it) just so
that it feels a bit more familiar.
| Assignee | ||
Comment 15•5 months ago
|
||
| Assignee | ||
Comment 16•5 months ago
|
||
This also moves the mouse motion detection to the parent, and removes the use of the
contentScrolled message.
The problem with the contentScrolled message is that it doesn't let us know when the mouse button is released.
Rather than adding another message, I think it's simpler to just do mouse tracking in two places.
There's not much value in having the touch simulator (which runs inside the content) do the
scroll tracking.
This patch doesn't remove the code that fires the contentScrolled message.
That might be worth doing in a follow-up, but I'm inclined to leave it for now, in case we want to use
it again in the future.
| Assignee | ||
Comment 17•5 months ago
|
||
This is rather messy, because the approach of "toolbar pushes down browser"
matches the real implementation in Fenix which is also rather messy.
It works well enough to reproduce some formerly mobile-only bugs.
Having this functionality will be helpful during the work on the
"overlap model" (bug 1921331), and the result of that work should let us
simplify this RDM code again.
There's one known bug in this RDM implementation, which is that dragging the
page to scroll down can sometimes scroll the content at twice the desired speed
if the content is also moved by a growing / shrinking toolbar. The real Fenix
implementation does not have this bug. But it's not a big problem.
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
Updated•5 months ago
|
| Assignee | ||
Comment 18•5 months ago
|
||
| Assignee | ||
Comment 19•5 months ago
|
||
| Assignee | ||
Comment 20•5 months ago
|
||
Unrelated to this bug, but something I noticed while using RDM: After
exiting RDM, fixed-to-bottom toolbars would sometimes be in the wrong
spot.
Comment 21•5 months ago
|
||
Comment 22•5 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/c7ebc7fdebec
https://hg.mozilla.org/mozilla-central/rev/c58dfb858319
https://hg.mozilla.org/mozilla-central/rev/7b0cb42dc962
https://hg.mozilla.org/mozilla-central/rev/5a5d73443044
https://hg.mozilla.org/mozilla-central/rev/ade2d231c9a6
https://hg.mozilla.org/mozilla-central/rev/c3ab11c4f10f
https://hg.mozilla.org/mozilla-central/rev/a14aecb1b2f4
https://hg.mozilla.org/mozilla-central/rev/ecb278dc62ea
Updated•4 months ago
|
Comment 23•3 months ago
|
||
Did you want to nominate this for the Fx152 relnotes?
https://wiki.mozilla.org/Release_Management/Release_Notes_Nomination#How_to_nominate_a_bug_for_release_notes_addition
| Assignee | ||
Comment 24•3 months ago
|
||
It's still behind a hidden pref. I think we can add it once we add an actual button / checkbox in the UI to enable it.
Description
•