[webkit-changes] [WebKit/WebKit] 42a2de: Cherry-pick 282550 at main (ecae3f6ca830). <bug>
Patrick
noreply at github.com
Wed Aug 21 02:56:42 PDT 2024
Branch: refs/heads/webkitglib/2.46
Home: https://github.com/WebKit/WebKit
Commit: 42a2de34ce5a330a31a7d3547bfef13743a73a2c
https://github.com/WebKit/WebKit/commit/42a2de34ce5a330a31a7d3547bfef13743a73a2c
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp
M Source/WebKit/GPUProcess/graphics/WebGPU/RemoteXRView.h
Log Message:
-----------
Cherry-pick 282550 at main (ecae3f6ca830). <bug>
Unreviewed. Fix the build with GPU process enabled
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteGPU.cpp:
* Source/WebKit/GPUProcess/graphics/WebGPU/RemoteXRView.h:
Canonical link: https://commits.webkit.org/282550@main
Commit: 90abdbe95f82b5d16f52381184b63a3a7ed24475
https://github.com/WebKit/WebKit/commit/90abdbe95f82b5d16f52381184b63a3a7ed24475
Author: Carlos Garcia Campos <cgarcia at igalia.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp
M Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h
Log Message:
-----------
Cherry-pick 282552 at main (32015b7f049e). https://bugs.webkit.org/show_bug.cgi?id=278451
REGRESSION(282416 at main): [GTK][WPE] GPU process crashes in PlatformDisplay::shared()
https://bugs.webkit.org/show_bug.cgi?id=278451
Reviewed by Miguel Gomez.
Since 282416 at main the PlatformDisplay needs to be explicitly
initialized and the GPU process isn't supposed to use PlatformDisplay
(yet) so it doesn't initialize it (yet). But GraphicsContextGLGBM
creates a fence in prepareForDisplay() and GLFence uses PlatformDisplay.
For now we can remove the fence when GPU process is enabled since it's unused.
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.cpp:
(WebCore::GraphicsContextGLGBM::prepareForDisplay):
* Source/WebCore/platform/graphics/gbm/GraphicsContextGLGBM.h:
Canonical link: https://commits.webkit.org/282552@main
Commit: a983309dc0b7ce6f8c20f13ca812fba4acf80e4f
https://github.com/WebKit/WebKit/commit/a983309dc0b7ce6f8c20f13ca812fba4acf80e4f
Author: Lauro Moura <lmoura at igalia.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M Source/WebDriver/Session.cpp
M Source/WebDriver/SessionHost.cpp
M Source/WebDriver/SessionHost.h
M Source/WebDriver/glib/SessionHostGlib.cpp
M Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp
M Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp
M Source/WebKit/UIProcess/Automation/Automation.json
M Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp
M Source/WebKit/UIProcess/Automation/WebAutomationSession.h
Log Message:
-----------
Cherry-pick 282489 at main (79271e75c2fe). https://bugs.webkit.org/show_bug.cgi?id=277341
[WebDriver][WPE] Allow reconnections while keeping the view open
https://bugs.webkit.org/show_bug.cgi?id=277341
Reviewed by Carlos Garcia Campos.
Currently, when we close a session, all open windows are unconditionally
closed, while the spec[1] says it's optional. Allowing the window to
remain open might be interesting when we connect to an already running
browser, another scenario covered by the WebDriver spec[2] and supported
by WPEWebKit.
For the record, while the usual practice is to let the WebDriver service
manage the browser lifetime, in some cases we might want to start the
browser in a more controlled way, for example, to enable
profiling/debugging, loading a heavy page beforehand, etc.
To allow deleting a session and keep the windows open, this commit adds
a new `Automation.json` command, "deleteSession", which makes the
UIProcess terminate the automation session and thus the RemoteInspector
connection between the UIProcess and the WebDriver service. This command
also serves as a fallback if somehow the browser fails to close all
windows.
On the browser-level API, this commit also adds a new signal,
`WebKitAutomationSession::will-close` to notify the browser that the
WebDriver client disconnected, and the browser is free to either kill or
keep the view open for new sessions as required.
[1] https://w3c.github.io/webdriver/#dfn-close-the-session (Step 3.5)
[2] https://w3c.github.io/webdriver/#new-session (Step 8 note)
* Source/WebDriver/Session.cpp:
(WebDriver::Session::close): Only close windows for non-remote sessions
and issue the new "deleteSession" automation command.
* Source/WebDriver/SessionHost.cpp:
(WebDriver::SessionHost::isRemoteBrowser const): Added
* Source/WebDriver/SessionHost.h: Ditto
* Source/WebDriver/glib/SessionHostGlib.cpp:
(WebDriver::SessionHost::connectionDidClose): If we lost connection to a
non-remote (i.e. managed) browser, kill it.
(WebDriver::SessionHost::setTargetList): Check for empty target list.
(WebDriver::SessionHost::isRemoteBrowser const): Added
* Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp:
(webkit_automation_session_class_init): Add new "will-close" signal
* Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextWillCloseAutomationSession): Emit the new signal
* Source/WebKit/UIProcess/Automation/Automation.json: Added
"deleteSession" command.
* Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::deleteSession): Implemented by requesting
to terminate the connection between the WebDriver service and the
browser.
* Source/WebKit/UIProcess/Automation/WebAutomationSession.h: Ditto.
Canonical link: https://commits.webkit.org/282489@main
Commit: 377ce1120af18cc69d586fe522efa42a23d3cf02
https://github.com/WebKit/WebKit/commit/377ce1120af18cc69d586fe522efa42a23d3cf02
Author: Patrick Griffis <pgriffis at igalia.com>
Date: 2024-08-21 (Wed, 21 Aug 2024)
Changed paths:
M Source/WebCore/platform/graphics/ImagePaintingOptions.h
M Source/WebCore/platform/graphics/ImageTypes.h
M Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
M Source/WebCore/rendering/RenderImage.cpp
Log Message:
-----------
Cherry-pick 282492 at main (1efcb4f3b8fb). https://bugs.webkit.org/show_bug.cgi?id=274827
[Skia] Fix image filtering not being applied
https://bugs.webkit.org/show_bug.cgi?id=274827
Reviewed by Carlos Garcia Campos.
Per the docs you need the fast constraint for filtering to be applied:
SrcRectConstraint controls the behavior at the edge of source SkRect,
provided to drawImageRect() when there is any filtering. If kStrict is set,
then extra code is used to ensure it never samples outside of the src-rect.
kStrict_SrcRectConstraint disables the use of mipmaps and anisotropic filtering.
This change is only applied to rendering of images.
* Source/WebCore/platform/graphics/ImagePaintingOptions.h:
(WebCore::ImagePaintingOptions::strictImageClamping const):
(WebCore::ImagePaintingOptions::setOption):
* Source/WebCore/platform/graphics/ImageTypes.h:
* Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContextSkia::drawNativeImageInternal):
* Source/WebCore/rendering/RenderImage.cpp:
(WebCore::RenderImage::paintIntoRect):
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::paintIntoRect):
Canonical link: https://commits.webkit.org/282492@main
Compare: https://github.com/WebKit/WebKit/compare/39875a245281...377ce1120af1
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list