* Harden the new `hideAllViewsExcept()` to not do erroneous things if called when
the binding is already gone.
* Generalize things into `hideAllViewsExcept(thisOne)`:
- Clear `_viewShowing` in there and do the descriptionHeightWorkaround thing
in there too,
- For Photon panels, do all the 'current' attribute setting in there. To show
a panel during transition, I introduced the 'in-transition' attribute.
* I had to make sure not to over-eagerly dispatch 'ViewShowing' events, because
that confuses some,
* Move the temporary panel handling, which contains an ephemeral panelmultiview
instance, internally. This cleans up the hacky, duplicate PanelUI.js code nicely.
* Keep a local copy of `_transitionDetails` to ensure it's still there after transition,
* Harden `_cleanupTransitionPhase()` to only clear the phase that belongs to a
specific transition, _if_ that's passed in as an argument. This resolves any
potential raciness that might occur when `showSubView()` is called again mid-transition.
* Skip the UITour element visibility check when it's inside a panelview, because
too many things need to happen and that check is too simple to be useful in
that case.
MozReview-Commit-ID: 5HpJKs1Ny5j
There have been changes to our Windows infrastructure that cause the
window to be maximized when running tests so the maximize.svg/restore.svg
combination will show restore instead of maximize, though maximize is
still loaded. I think it could be prevented by trying to set the sizemode
attribute a little earlier or not defaulting to maximize in the stylesheet,
but I don't think that's a necessary optimization at this point. We can
just whitelist it.
I also set the intermittentShown flag in case the Windows machines go back
to non-maximized windows.
MozReview-Commit-ID: Gwi0jRBBtGg
This test was previously skipped on Windows 8. This bug is migrating the test over to Windows 10
where we discovered the unused reflow.
MozReview-Commit-ID: FqmgeKc1b9o
This test was previously skipped on Windows 8. This bug is migrating the test over to Windows 10
where we discovered the unused reflow.
MozReview-Commit-ID: FqmgeKc1b9o
The current shutdown handling code is susceptible to deadlocks, since it spins
the event loop while it holds mMonitor, and other main thread methods which
try to acquire mMonitor can be called from code that runs while the event loop
is spinning.
My initial solution was just to release mMonitor before spinning the event
loop, but at this point I think it makes more sense to switch to the
standardized AsyncShutdown routines, which provide better diagnostics and
allow us to avoid one more nested event loop during shutdown.
MozReview-Commit-ID: 1RtFN585IR7
This commit:
- Makes the window controls have exactly the same height as tabs when the
menubar is hidden, and have the same height as the menubar when it is shown.
This requires us to remove the menubar height before flushing layout in
case it is shown, since we need its original height for the calculation.
- Removes the top margin between the menu bar and the window border
that was present on Windows 10 and makes it apply on Windows 7 only.
The border was causing miscalculations of the window control height,
which could have been handled in browser-tabsintitlebar.js, but since
it's not part of the Photon spec we decide to remove it entirely.
- Makes window control height calculations ignore vertical tabs toolbar
margins. The only margin it has right now is -1px and the calculation
code doesn't work right with negative margins.
MozReview-Commit-ID: HJXxUUJFX8x
This commit:
- Makes the window controls have exactly the same height as tabs when the
menubar is hidden, and have the same height as the menubar when it is shown.
This requires us to remove the menubar height before flushing layout in
case it is shown, since we need its original height for the calculation.
- Removes the top margin between the menu bar and the window border
that was present on Windows 10 and makes it apply on Windows 7 only.
The border was causing miscalculations of the window control height,
which could have been handled in browser-tabsintitlebar.js, but since
it's not part of the Photon spec we decide to remove it entirely.
- Makes window control height calculations ignore vertical tabs toolbar
margins. The only margin it has right now is -1px and the calculation
code doesn't work right with negative margins.
MozReview-Commit-ID: HJXxUUJFX8x