Improve megabar behaviour when ui.popup.disable_autohide is enabled
Categories
(Firefox :: Address Bar, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox70 | --- | fixed |
People
(Reporter: bugzilla, Assigned: bugzilla)
References
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
When ui.popup.disable_autohide is enabled and the megabar loses and then regains focus, layout is very broken: the toolbar expands to contain the entire megabar. Only clearing the megabar of text fixes this.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
Comment 2•5 years ago
|
||
(In reply to Harry Twyford [:harry] from comment #0)
When ui.popup.disable_autohide is enabled and the megabar loses and then regains focus, layout is very broken: the toolbar expands to contain the entire megabar. Only clearing the megabar of text fixes this.
Can you explain how your patch attempts to fix this? I seem to be missing some context.
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
When ui.popup.disable_autohide
is enabled, the view can be open but unfocused. This means that the return check in startLayoutBreakout
fails since both conditions are not true:
!(
(this.focused && !this.textbox.classList.contains("hidden-focus")) ||
this.view.isOpen
)
startLayoutBreakout
runs and sets inputRect
to be the #urlbar
element, which includes the panel. Then on this line:
this._layoutBreakoutPlaceholder.style.height = px(inputRect.height);
height is very tall— as tall as the entire urlbar input+panel. The breakout becomes very tall, breaking layout.
This patch sets inputRect
to be the input instead, so the width and height are consistent regardless of whether the input is open or not.
EDIT: The above is not accurate! The issue is actually that the return check in endLayoutBreakout
calls this.isOpen
instead of this.view.isOpen
. Shows me right for making late-night Bugzilla comments :)
Comment 5•5 years ago
|
||
bugherder |
Description
•