Title: [121273] trunk/Source
Revision
121273
Author
commit-qu...@webkit.org
Date
2012-06-26 11:42:29 -0700 (Tue, 26 Jun 2012)

Log Message

[chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
https://bugs.webkit.org/show_bug.cgi?id=89784

Patch by Ian Vollick <voll...@chromium.org> on 2012-06-26
Reviewed by James Robinson.

Previously, we'd only set needs redraw if the old bounds were zero,
and the new bounds were non-zero, but we should actually have
checked that the old bounds were non-empty.

Source/WebCore:

Unit test: LayerChromiumTestWithoutFixture.setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

* tests/LayerChromiumTest.cpp:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (121272 => 121273)


--- trunk/Source/WebCore/ChangeLog	2012-06-26 18:39:31 UTC (rev 121272)
+++ trunk/Source/WebCore/ChangeLog	2012-06-26 18:42:29 UTC (rev 121273)
@@ -1,3 +1,19 @@
+2012-06-26  Ian Vollick  <voll...@chromium.org>
+
+        [chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
+        https://bugs.webkit.org/show_bug.cgi?id=89784
+
+        Reviewed by James Robinson.
+
+        Previously, we'd only set needs redraw if the old bounds were zero,
+        and the new bounds were non-zero, but we should actually have 
+        checked that the old bounds were non-empty.
+
+        Unit test: LayerChromiumTestWithoutFixture.setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds
+
+        * platform/graphics/chromium/LayerChromium.cpp:
+        (WebCore::LayerChromium::setBounds):
+
 2012-06-26  Jia Pu  <j...@apple.com>
 
         On Mac, autocorrection sometimes fails to take place in Safari.

Modified: trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp (121272 => 121273)


--- trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-06-26 18:39:31 UTC (rev 121272)
+++ trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp	2012-06-26 18:42:29 UTC (rev 121273)
@@ -228,7 +228,7 @@
     if (bounds() == size)
         return;
 
-    bool firstResize = !bounds().width() && !bounds().height() && size.width() && size.height();
+    bool firstResize = bounds().isEmpty() && !size.isEmpty();
 
     m_bounds = size;
 

Modified: trunk/Source/WebKit/chromium/ChangeLog (121272 => 121273)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-06-26 18:39:31 UTC (rev 121272)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-06-26 18:42:29 UTC (rev 121273)
@@ -1,3 +1,16 @@
+2012-06-26  Ian Vollick  <voll...@chromium.org>
+
+        [chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
+        https://bugs.webkit.org/show_bug.cgi?id=89784
+
+        Reviewed by James Robinson.
+
+        Previously, we'd only set needs redraw if the old bounds were zero,
+        and the new bounds were non-zero, but we should actually have 
+        checked that the old bounds were non-empty.
+
+        * tests/LayerChromiumTest.cpp:
+
 2012-06-26  James Robinson  <jam...@chromium.org>
 
         [chromium] Remove dead compositor-related API from GraphicsContext3DPrivate / Extensions3DChromium

Modified: trunk/Source/WebKit/chromium/tests/LayerChromiumTest.cpp (121272 => 121273)


--- trunk/Source/WebKit/chromium/tests/LayerChromiumTest.cpp	2012-06-26 18:39:31 UTC (rev 121272)
+++ trunk/Source/WebKit/chromium/tests/LayerChromiumTest.cpp	2012-06-26 18:42:29 UTC (rev 121273)
@@ -813,4 +813,20 @@
     WebKit::WebCompositor::shutdown();
 }
 
+class MockLayerChromium : public LayerChromium {
+public:
+    bool needsDisplay() const { return m_needsDisplay; }
+};
+
+TEST(LayerChromiumTestWithoutFixture, setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds)
+{
+    RefPtr<MockLayerChromium> layer(adoptRef(new MockLayerChromium));
+    EXPECT_FALSE(layer->needsDisplay());
+    layer->setBounds(IntSize(0, 10));
+    EXPECT_FALSE(layer->needsDisplay());
+    layer->setBounds(IntSize(10, 10));
+    EXPECT_TRUE(layer->needsDisplay());
+}
+
+
 } // namespace
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to