Title: [122785] trunk/Source/WebCore
Revision
122785
Author
[email protected]
Date
2012-07-16 17:46:13 -0700 (Mon, 16 Jul 2012)

Log Message

Unreviewed, rolling out r120033.
http://trac.webkit.org/changeset/120033
https://bugs.webkit.org/show_bug.cgi?id=91454

Broke background gradients (Requested by smfr on #webkit).

Patch by Sheriff Bot <[email protected]> on 2012-07-16

* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (122784 => 122785)


--- trunk/Source/WebCore/ChangeLog	2012-07-17 00:44:05 UTC (rev 122784)
+++ trunk/Source/WebCore/ChangeLog	2012-07-17 00:46:13 UTC (rev 122785)
@@ -1,3 +1,14 @@
+2012-07-16  Sheriff Bot  <[email protected]>
+
+        Unreviewed, rolling out r120033.
+        http://trac.webkit.org/changeset/120033
+        https://bugs.webkit.org/show_bug.cgi?id=91454
+
+        Broke background gradients (Requested by smfr on #webkit).
+
+        * platform/graphics/GeneratorGeneratedImage.cpp:
+        (WebCore::GeneratorGeneratedImage::draw):
+
 2012-07-16  Joshua Bell  <[email protected]>
 
         IndexedDB: Implement spec updates to IDBTransaction.error

Modified: trunk/Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp (122784 => 122785)


--- trunk/Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp	2012-07-17 00:44:05 UTC (rev 122784)
+++ trunk/Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp	2012-07-17 00:46:13 UTC (rev 122785)
@@ -32,25 +32,16 @@
 
 namespace WebCore {
 
-void GeneratorGeneratedImage::draw(GraphicsContext* destContext, const FloatRect& destRect, const FloatRect& srcRect, ColorSpace styleColorSpace, CompositeOperator compositeOp)
+void GeneratorGeneratedImage::draw(GraphicsContext* destContext, const FloatRect& destRect, const FloatRect& srcRect, ColorSpace, CompositeOperator compositeOp)
 {
-    unsigned generatorHash = m_generator->hash();
-    if (!m_cachedImageBuffer || m_cachedGeneratorHash != generatorHash || m_cachedAdjustedSize != m_size || !destContext->isCompatibleWithBuffer(m_cachedImageBuffer.get())) {
-        // Create a BitmapImage and call draw on it.
-        m_cachedImageBuffer = destContext->createCompatibleBuffer(m_size);
-        if (!m_cachedImageBuffer)
-            return;
-
-        // Fill with the generated image.
-        m_cachedImageBuffer->context()->fillRect(FloatRect(FloatPoint(), m_size), *m_generator);
-
-        m_cachedGeneratorHash = generatorHash;
-        m_cachedAdjustedSize = m_size;
-    }
-
-    // Draw the image buffer to the destination
-    m_cachedImageBuffer->draw(destContext, styleColorSpace, destRect, srcRect, compositeOp);
-    m_cacheTimer.restart();
+    GraphicsContextStateSaver stateSaver(*destContext);
+    destContext->setCompositeOperation(compositeOp);
+    destContext->clip(destRect);
+    destContext->translate(destRect.x(), destRect.y());
+    if (destRect.size() != srcRect.size())
+        destContext->scale(FloatSize(destRect.width() / srcRect.width(), destRect.height() / srcRect.height()));
+    destContext->translate(-srcRect.x(), -srcRect.y());
+    destContext->fillRect(FloatRect(FloatPoint(), m_size), *m_generator.get());
 }
 
 void GeneratorGeneratedImage::drawPattern(GraphicsContext* destContext, const FloatRect& srcRect, const AffineTransform& patternTransform,
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to