Title: [121283] trunk
- Revision
- 121283
- Author
- [email protected]
- Date
- 2012-06-26 13:09:31 -0700 (Tue, 26 Jun 2012)
Log Message
Unreviewed, rolling out r120501.
http://trac.webkit.org/changeset/120501
https://bugs.webkit.org/show_bug.cgi?id=89126
[skia] Fix is too heavy-handed
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::drawNeedsCopy):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::PlatformContextSkia):
* platform/graphics/skia/PlatformContextSkia.h:
(PlatformContextSkia):
(WebCore::PlatformContextSkia::isDeferred):
(WebCore::PlatformContextSkia::setDeferred):
Modified Paths
Diff
Modified: trunk/LayoutTests/platform/chromium/TestExpectations (121282 => 121283)
--- trunk/LayoutTests/platform/chromium/TestExpectations 2012-06-26 19:55:32 UTC (rev 121282)
+++ trunk/LayoutTests/platform/chromium/TestExpectations 2012-06-26 20:09:31 UTC (rev 121283)
@@ -3596,6 +3596,8 @@
BUGWK86592 LINUX : fast/loader/unload-form-about-blank.html = TIMEOUT PASS
BUGWK86592 LINUX : http/tests/xmlhttprequest/zero-length-response-sync.html = TIMEOUT PASS
+BUGWK89126 : platform/chromium/compositing/accelerated-drawing/svg-filters.html = IMAGE
+
// strange "Unexpected no expected results found" on cr-linux ews
BUGWK86600 LINUX : http/tests/cache/loaded-from-cache-after-reload-within-iframe.html = MISSING PASS
BUGWK86600 LINUX : http/tests/cache/loaded-from-cache-after-reload.html = MISSING PASS
Modified: trunk/Source/WebCore/ChangeLog (121282 => 121283)
--- trunk/Source/WebCore/ChangeLog 2012-06-26 19:55:32 UTC (rev 121282)
+++ trunk/Source/WebCore/ChangeLog 2012-06-26 20:09:31 UTC (rev 121283)
@@ -1,3 +1,20 @@
+2012-06-26 James Robinson <[email protected]>
+
+ Unreviewed, rolling out r120501.
+ http://trac.webkit.org/changeset/120501
+ https://bugs.webkit.org/show_bug.cgi?id=89126
+
+ [skia] Fix is too heavy-handed
+
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::drawNeedsCopy):
+ * platform/graphics/skia/PlatformContextSkia.cpp:
+ (WebCore::PlatformContextSkia::PlatformContextSkia):
+ * platform/graphics/skia/PlatformContextSkia.h:
+ (PlatformContextSkia):
+ (WebCore::PlatformContextSkia::isDeferred):
+ (WebCore::PlatformContextSkia::setDeferred):
+
2012-06-26 Julien Chaffraix <[email protected]>
Crash in FixedTableLayout::layout
Modified: trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp (121282 => 121283)
--- trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp 2012-06-26 19:55:32 UTC (rev 121282)
+++ trunk/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp 2012-06-26 20:09:31 UTC (rev 121283)
@@ -202,12 +202,7 @@
static bool drawNeedsCopy(GraphicsContext* src, GraphicsContext* dst)
{
- if (src == dst)
- return true;
- // If we're rendering into a deferred canvas, we need to make a deep copy of the source pixels because Skia does not
- // retain a reference to the actual pixels otherwise. We check if we're drawing into a deferred canvas by seeing if the
- // device's bitmap configuration is set or not - if it's not, then we must not have a bitmap target yet.
- return dst->platformContext()->canvas()->getDevice()->config() == SkBitmap::kNo_Config;
+ return dst->platformContext()->isDeferred() || src == dst;
}
void ImageBuffer::draw(GraphicsContext* context, ColorSpace styleColorSpace, const FloatRect& destRect, const FloatRect& srcRect,
Modified: trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.cpp (121282 => 121283)
--- trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.cpp 2012-06-26 19:55:32 UTC (rev 121282)
+++ trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.cpp 2012-06-26 20:09:31 UTC (rev 121283)
@@ -186,6 +186,7 @@
, m_trackOpaqueRegion(false)
, m_printing(false)
, m_accelerated(false)
+ , m_deferred(false)
, m_drawingToImageBuffer(false)
{
m_stateStack.append(State());
Modified: trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h (121282 => 121283)
--- trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h 2012-06-26 19:55:32 UTC (rev 121282)
+++ trunk/Source/WebCore/platform/graphics/skia/PlatformContextSkia.h 2012-06-26 20:09:31 UTC (rev 121283)
@@ -186,6 +186,12 @@
bool isAccelerated() const { return m_accelerated; }
void setAccelerated(bool accelerated) { m_accelerated = accelerated; }
+ // True if this context is deferring draw calls to be executed later.
+ // We need to know this for context-to-context draws, in order to know if
+ // the source bitmap needs to be copied.
+ bool isDeferred() const { return m_deferred; }
+ void setDeferred(bool deferred) { m_deferred = deferred; }
+
void setTrackOpaqueRegion(bool track) { m_trackOpaqueRegion = track; }
// This will be an empty region unless tracking is enabled.
@@ -235,6 +241,7 @@
FloatSize m_imageResamplingHintDstSize;
bool m_printing;
bool m_accelerated;
+ bool m_deferred;
bool m_drawingToImageBuffer;
};
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes