Title: [257693] trunk/Source/WebKit
- Revision
- 257693
- Author
- [email protected]
- Date
- 2020-03-01 15:13:46 -0800 (Sun, 01 Mar 2020)
Log Message
Many tests in canvas and fast/canvas are asserting after r257677
https://bugs.webkit.org/show_bug.cgi?id=208431
<rdar://problem/59911910>
Reviewed by Tim Horton.
RemoteRenderingBackend asserts that it should never be created with a RenderingMode that isn't either
RemoteAccelerated or RemoteUnaccelerated. This was previously the case before r257677, because
ImageBuffer::create() would only call into the host window (i.e. the chrome and, in turn, chrome client) to
create the remote image buffer if the rendering mode is RemoteAccelerated or RemoteUnaccelerated. However, since
we want to move away from any references to RemoteAccelerated or RemoteUnaccelerated rendering modes in WebCore,
we should instead fix this by adding a similar check in the client (WebKit) layer.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createImageBuffer const):
Don't bother creating a RemoteRenderingBackend and telling it to create an image buffer, if the given
RenderingMode isn't one of RemoteAccelerated or RemoteUnaccelerated.
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (257692 => 257693)
--- trunk/Source/WebKit/ChangeLog 2020-03-01 20:46:49 UTC (rev 257692)
+++ trunk/Source/WebKit/ChangeLog 2020-03-01 23:13:46 UTC (rev 257693)
@@ -1,3 +1,24 @@
+2020-03-01 Wenson Hsieh <[email protected]>
+
+ Many tests in canvas and fast/canvas are asserting after r257677
+ https://bugs.webkit.org/show_bug.cgi?id=208431
+ <rdar://problem/59911910>
+
+ Reviewed by Tim Horton.
+
+ RemoteRenderingBackend asserts that it should never be created with a RenderingMode that isn't either
+ RemoteAccelerated or RemoteUnaccelerated. This was previously the case before r257677, because
+ ImageBuffer::create() would only call into the host window (i.e. the chrome and, in turn, chrome client) to
+ create the remote image buffer if the rendering mode is RemoteAccelerated or RemoteUnaccelerated. However, since
+ we want to move away from any references to RemoteAccelerated or RemoteUnaccelerated rendering modes in WebCore,
+ we should instead fix this by adding a similar check in the client (WebKit) layer.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::createImageBuffer const):
+
+ Don't bother creating a RemoteRenderingBackend and telling it to create an image buffer, if the given
+ RenderingMode isn't one of RemoteAccelerated or RemoteUnaccelerated.
+
2020-02-29 Yusuke Suzuki <[email protected]>
Remove std::lock_guard
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp (257692 => 257693)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp 2020-03-01 20:46:49 UTC (rev 257692)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp 2020-03-01 23:13:46 UTC (rev 257693)
@@ -893,6 +893,9 @@
std::unique_ptr<ImageBuffer> WebChromeClient::createImageBuffer(const FloatSize& size, RenderingMode renderingMode, float resolutionScale, ColorSpace colorSpace) const
{
+ if (renderingMode != RenderingMode::RemoteAccelerated && renderingMode != RenderingMode::RemoteUnaccelerated)
+ return nullptr;
+
if (!m_remoteRenderingBackend)
m_remoteRenderingBackend = RemoteRenderingBackend::create();
return m_remoteRenderingBackend->createImageBuffer(size, renderingMode, resolutionScale, colorSpace);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes