[WPE][ThreadedRendering] WPE crashes rendering SVG content when using ThreadedRendering
authormagomez@igalia.com <magomez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Jun 2018 14:02:30 +0000 (14:02 +0000)
committermagomez@igalia.com <magomez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Jun 2018 14:02:30 +0000 (14:02 +0000)
commite2ca3f25ca72451216186d4abdf9fa25c76bea43
treed89714d45d4b7d3c96ce407aee661bdf12f4794e
parent9e5a4f35545f26d7402eb2c4357c83a236d051b4
[WPE][ThreadedRendering] WPE crashes rendering SVG content when using ThreadedRendering
https://bugs.webkit.org/show_bug.cgi?id=186914

Reviewed by Carlos Garcia Campos.

Add GraphicsContextImpl::clipToImageBuffer() to the interface and the implementors. Forward
the call to GraphicsContext::clipToImageBuffer() to the implementation if possible in the
cairo case.

Covered by existent tests.

* platform/graphics/GraphicsContextImpl.h:
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::clipToImageBuffer):
* platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::clipToImageBuffer):
* platform/graphics/cairo/GraphicsContextImplCairo.h:
* platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::clipToImageBuffer):
* platform/graphics/displaylists/DisplayListRecorder.h:
* platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::clipToImageBuffer):
* platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/GraphicsContextImpl.h
Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
Source/WebCore/platform/graphics/cairo/GraphicsContextImplCairo.cpp
Source/WebCore/platform/graphics/cairo/GraphicsContextImplCairo.h
Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp
Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h
Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp
Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h