diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-12 05:43:14 +0000 |
commit | 8dd16259287f58f9273002717ec4d27e97127719 (patch) | |
tree | 3863e62a53829a84037444beab3abd4ed9dfc7d0 /xpfe/appshell/AppWindow.cpp | |
parent | Releasing progress-linux version 126.0.1-1~progress7.99u1. (diff) | |
download | firefox-8dd16259287f58f9273002717ec4d27e97127719.tar.xz firefox-8dd16259287f58f9273002717ec4d27e97127719.zip |
Merging upstream version 127.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'xpfe/appshell/AppWindow.cpp')
-rw-r--r-- | xpfe/appshell/AppWindow.cpp | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/xpfe/appshell/AppWindow.cpp b/xpfe/appshell/AppWindow.cpp index e172f9340e..65c21e9579 100644 --- a/xpfe/appshell/AppWindow.cpp +++ b/xpfe/appshell/AppWindow.cpp @@ -1631,30 +1631,33 @@ void AppWindow::SyncAttributesToWidget() { NS_ENSURE_TRUE_VOID(mWindow); + // Only change blank window status once we're loaded, so that a + // partially-loaded browser window doesn't start painting early. + if (mChromeLoaded) { + mWindow->SetIsEarlyBlankWindow(attr.EqualsLiteral("navigator:blank")); + NS_ENSURE_TRUE_VOID(mWindow); + } + // "icon" attribute windowElement->GetAttribute(u"icon"_ns, attr); if (!attr.IsEmpty()) { mWindow->SetIcon(attr); - NS_ENSURE_TRUE_VOID(mWindow); } // "drawtitle" attribute windowElement->GetAttribute(u"drawtitle"_ns, attr); mWindow->SetDrawsTitle(attr.LowerCaseEqualsLiteral("true")); - NS_ENSURE_TRUE_VOID(mWindow); // "toggletoolbar" attribute windowElement->GetAttribute(u"toggletoolbar"_ns, attr); mWindow->SetShowsToolbarButton(attr.LowerCaseEqualsLiteral("true")); - NS_ENSURE_TRUE_VOID(mWindow); // "macnativefullscreen" attribute windowElement->GetAttribute(u"macnativefullscreen"_ns, attr); mWindow->SetSupportsNativeFullscreen(attr.LowerCaseEqualsLiteral("true")); - NS_ENSURE_TRUE_VOID(mWindow); // "macanimationtype" attribute @@ -2954,15 +2957,6 @@ void AppWindow::SizeModeChanged(nsSizeMode aSizeMode) { // then need to be different. } -void AppWindow::UIResolutionChanged() { - nsCOMPtr<nsPIDOMWindowOuter> ourWindow = - mDocShell ? mDocShell->GetWindow() : nullptr; - if (ourWindow) { - ourWindow->DispatchCustomEvent(u"resolutionchange"_ns, - ChromeOnlyDispatch::eYes); - } -} - void AppWindow::FullscreenWillChange(bool aInFullscreen) { if (mDocShell) { if (nsCOMPtr<nsPIDOMWindowOuter> ourWindow = mDocShell->GetWindow()) { @@ -3018,6 +3012,9 @@ void AppWindow::FullscreenChanged(bool aInFullscreen) { void AppWindow::FinishFullscreenChange(bool aInFullscreen) { mFullscreenChangeState = FullscreenChangeState::NotChanging; + if (nsXULPopupManager* pm = nsXULPopupManager::GetInstance()) { + pm->Rollup({}); + } if (mDocShell) { if (nsCOMPtr<nsPIDOMWindowOuter> ourWindow = mDocShell->GetWindow()) { ourWindow->FinishFullscreenChange(aInFullscreen); @@ -3450,11 +3447,6 @@ void AppWindow::WidgetListenerDelegate::SizeModeChanged(nsSizeMode aSizeMode) { holder->SizeModeChanged(aSizeMode); } -void AppWindow::WidgetListenerDelegate::UIResolutionChanged() { - RefPtr<AppWindow> holder = mAppWindow; - holder->UIResolutionChanged(); -} - void AppWindow::WidgetListenerDelegate::MacFullscreenMenubarOverlapChanged( DesktopCoord aOverlapAmount) { RefPtr<AppWindow> holder = mAppWindow; |