Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c4614fd4f2f2fff205c92dcabd1879feca1b728e https://github.com/WebKit/WebKit/commit/c4614fd4f2f2fff205c92dcabd1879feca1b728e Author: Carlos Garcia Campos <cgar...@igalia.com> Date: 2023-10-10 (Tue, 10 Oct 2023)
Changed paths: M Source/WebKit/SourcesGTK.txt A Source/WebKit/UIProcess/API/gtk/ToplevelWindow.cpp A Source/WebKit/UIProcess/API/gtk/ToplevelWindow.h M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h Log Message: ----------- [GTK] Simplify handling of toplevel window signals https://bugs.webkit.org/show_bug.cgi?id=262944 Reviewed by Alejandro G. Castro. We currently track the state of the toplevel window from every web view, connecting to the same signals to be notified when something changes. We could add a toplevel window wrapper instead to track its state and notify all the web views when there's any change. * Source/WebKit/SourcesGTK.txt: * Source/WebKit/UIProcess/API/gtk/ToplevelWindow.cpp: Added. (WebKit::toplevelWindows): (WebKit::toplevelWindowDestroyedCallback): (WebKit::ToplevelWindow::forGtkWindow): (WebKit::ToplevelWindow::ToplevelWindow): (WebKit::ToplevelWindow::~ToplevelWindow): (WebKit::ToplevelWindow::addWebView): (WebKit::ToplevelWindow::removeWebView): (WebKit::ToplevelWindow::isActive const): (WebKit::ToplevelWindow::isFullscreen const): (WebKit::ToplevelWindow::connectSignals): (WebKit::ToplevelWindow::disconnectSignals): (WebKit::ToplevelWindow::connectSurfaceSignals): (WebKit::ToplevelWindow::disconnectSurfaceSignals): (WebKit::ToplevelWindow::notifyIsActive): (WebKit::ToplevelWindow::notifyState): (WebKit::ToplevelWindow::notifyMonitorChanged): * Source/WebKit/UIProcess/API/gtk/ToplevelWindow.h: Added. (WebKit::ToplevelWindow::window const): * Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseToplevelWindowIsActiveChanged): (webkitWebViewBaseToplevelWindowStateChanged): (webkitWebViewBaseToplevelWindowMonitorChanged): (webkitWebViewBaseSetToplevelOnScreenWindow): (webkitWebViewBaseDispose): (webkitWebViewBaseMap): (webkitWebViewBaseRoot): (webkitWebViewBaseUnroot): (webkitWebViewBaseHierarchyChanged): (webkitWebViewBaseToplevelOnScreenWindowIsFullScreen): (webkitWebViewBaseEnterFullScreen): (webkitWebViewBaseExitFullScreen): (webkitWebViewBaseTakeViewSnapshot): (toplevelWindowFocusInEvent): Deleted. (toplevelWindowFocusOutEvent): Deleted. (toplevelWindowStateEvent): Deleted. (toplevelWindowConfigureEvent): Deleted. (toplevelWindowRealized): Deleted. (toplevelWindowIsActiveChanged): Deleted. (toplevelWindowStateChanged): Deleted. (toplevelWindowMonitorsChanged): Deleted. (toplevelWindowUnrealized): Deleted. * Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Canonical link: https://commits.webkit.org/269136@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes