Title: [221356] releases/WebKitGTK/webkit-2.18/Source/WebCore
- Revision
- 221356
- Author
- carlo...@webkit.org
- Date
- 2017-08-30 02:20:33 -0700 (Wed, 30 Aug 2017)
Log Message
Merge r221183 - [GTK] Completely garbled display in Transifex in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=174632
Reviewed by Michael Catanzaro.
Remove the copy constructor from PlatformContextCairo::State. This is because it will be used by WTF::Vector
to copy the instances around when allocating new memory, but it doesn't copy the m_imageMaskInformation
attribute, so it will be lost when the Vector reallocates its contents. When this happens, renderings that use
GraphicsContext::clipToImageBuffer() fail to render properly.
Covered by existent tests.
* platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::State::State):
(WebCore::PlatformContextCairo::save):
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog (221355 => 221356)
--- releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog 2017-08-30 09:17:46 UTC (rev 221355)
+++ releases/WebKitGTK/webkit-2.18/Source/WebCore/ChangeLog 2017-08-30 09:20:33 UTC (rev 221356)
@@ -1,3 +1,21 @@
+2017-08-25 Miguel Gomez <mago...@igalia.com>
+
+ [GTK] Completely garbled display in Transifex in accelerated compositing mode
+ https://bugs.webkit.org/show_bug.cgi?id=174632
+
+ Reviewed by Michael Catanzaro.
+
+ Remove the copy constructor from PlatformContextCairo::State. This is because it will be used by WTF::Vector
+ to copy the instances around when allocating new memory, but it doesn't copy the m_imageMaskInformation
+ attribute, so it will be lost when the Vector reallocates its contents. When this happens, renderings that use
+ GraphicsContext::clipToImageBuffer() fail to render properly.
+
+ Covered by existent tests.
+
+ * platform/graphics/cairo/PlatformContextCairo.cpp:
+ (WebCore::PlatformContextCairo::State::State):
+ (WebCore::PlatformContextCairo::save):
+
2017-08-24 Alex Christensen <achristen...@webkit.org>
Stop using PolicyCallback for new window policies
Modified: releases/WebKitGTK/webkit-2.18/Source/WebCore/platform/graphics/cairo/PlatformContextCairo.cpp (221355 => 221356)
--- releases/WebKitGTK/webkit-2.18/Source/WebCore/platform/graphics/cairo/PlatformContextCairo.cpp 2017-08-30 09:17:46 UTC (rev 221355)
+++ releases/WebKitGTK/webkit-2.18/Source/WebCore/platform/graphics/cairo/PlatformContextCairo.cpp 2017-08-30 09:20:33 UTC (rev 221356)
@@ -68,9 +68,9 @@
{
}
- State(const State& state)
- : m_globalAlpha(state.m_globalAlpha)
- , m_imageInterpolationQuality(state.m_imageInterpolationQuality)
+ State(float globalAlpha, InterpolationQuality imageInterpolationQuality)
+ : m_globalAlpha(globalAlpha)
+ , m_imageInterpolationQuality(imageInterpolationQuality)
{
// We do not copy m_imageMaskInformation because otherwise it would be applied
// more than once during subsequent calls to restore().
@@ -110,7 +110,7 @@
void PlatformContextCairo::save()
{
- m_stateStack.append(State(*m_state));
+ m_stateStack.append(State(m_state->m_globalAlpha, m_state->m_imageInterpolationQuality));
m_state = &m_stateStack.last();
cairo_save(m_cr.get());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes