2011-01-10 Tony Chang <tony@chromium.org>
authortony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Jan 2011 19:31:52 +0000 (19:31 +0000)
committertony@chromium.org <tony@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 10 Jan 2011 19:31:52 +0000 (19:31 +0000)
        Reviewed by Mihai Parparita.

        [chromium] fix for animated gif layout tests
        https://bugs.webkit.org/show_bug.cgi?id=52008

        Remove incorrect baselines.

        * platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.checksum: Removed.
        * platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.png: Removed.
        * platform/chromium/test_expectations.txt:
2011-01-10  Tony Chang  <tony@chromium.org>

        Reviewed by Mihai Parparita.

        [chromium] fix for animated gif layout tests
        https://bugs.webkit.org/show_bug.cgi?id=52008

        * DumpRenderTree/chromium/WebViewHost.cpp: Schedule a paint when we update the paint rect
            to trigger gif animations.
        (WebViewHostPaintTask::WebViewHostPaintTask):
        (WebViewHostPaintTask::runIfValid):
        (WebViewHost::updatePaintRect):
        * DumpRenderTree/chromium/WebViewHost.h:
        (WebViewHost::taskList):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@75398 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.checksum [deleted file]
LayoutTests/platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.png [deleted file]
LayoutTests/platform/chromium/test_expectations.txt
Tools/ChangeLog
Tools/DumpRenderTree/chromium/WebViewHost.cpp
Tools/DumpRenderTree/chromium/WebViewHost.h

index ce0717d..5f8e781 100644 (file)
@@ -1,3 +1,16 @@
+2011-01-10  Tony Chang  <tony@chromium.org>
+
+        Reviewed by Mihai Parparita.
+
+        [chromium] fix for animated gif layout tests
+        https://bugs.webkit.org/show_bug.cgi?id=52008
+
+        Remove incorrect baselines.
+
+        * platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.checksum: Removed.
+        * platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.png: Removed.
+        * platform/chromium/test_expectations.txt:
+
 2011-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r75341.
diff --git a/LayoutTests/platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.checksum b/LayoutTests/platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.checksum
deleted file mode 100644 (file)
index ea90b80..0000000
+++ /dev/null
@@ -1 +0,0 @@
-55386cdd10b4fda864ed14b4cd869077
\ No newline at end of file
diff --git a/LayoutTests/platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.png b/LayoutTests/platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.png
deleted file mode 100644 (file)
index 6d9a0e4..0000000
Binary files a/LayoutTests/platform/chromium-win/fast/backgrounds/animated-gif-as-background-expected.png and /dev/null differ
index 80565b9..1eff090 100644 (file)
@@ -2851,9 +2851,9 @@ BUGCR65279 LINUX DEBUG : fast/css/visited-link-hang.html = TEXT PASS
 // Regressions caused by switching to DRT.
 ///////////////////////////////////////////////////////////////////////////
 
-// DRT needs to schedule paints on invalidations like Chrome does.
-BUGCR62433 MAC LINUX : fast/backgrounds/animated-gif-as-background.html = IMAGE
-BUGCR62433 MAC LINUX : fast/images/gif-loop-count.html = IMAGE
+// These need to be rebaselined on Windows.
+BUGCR62433 WIN : fast/backgrounds/animated-gif-as-background.html = IMAGE
+BUGCR62433 WIN : fast/images/gif-loop-count.html = IMAGE
 
 // input-speech related failures
 BUG_DRT WIN MAC : fast/speech/input-appearance-numberandspeech.html = IMAGE
index 6e51c08..36eff69 100644 (file)
@@ -1,3 +1,18 @@
+2011-01-10  Tony Chang  <tony@chromium.org>
+
+        Reviewed by Mihai Parparita.
+
+        [chromium] fix for animated gif layout tests
+        https://bugs.webkit.org/show_bug.cgi?id=52008
+
+        * DumpRenderTree/chromium/WebViewHost.cpp: Schedule a paint when we update the paint rect
+            to trigger gif animations.
+        (WebViewHostPaintTask::WebViewHostPaintTask):
+        (WebViewHostPaintTask::runIfValid):
+        (WebViewHost::updatePaintRect):
+        * DumpRenderTree/chromium/WebViewHost.h:
+        (WebViewHost::taskList):
+
 2011-01-10  Alejandro G. Castro  <alex@igalia.com>
 
         Reviewed by Xan Lopez.
index f5dd7fd..ce0ee7a 100644 (file)
@@ -656,8 +656,6 @@ void WebViewHost::show(WebNavigationPolicy)
     updatePaintRect(WebRect(0, 0, size.width, size.height));
 }
 
-
-
 void WebViewHost::closeWidget()
 {
     m_hasWindow = false;
@@ -1407,6 +1405,13 @@ void WebViewHost::setAddressBarURL(const WebURL&)
 
 // Painting functions ---------------------------------------------------------
 
+class WebViewHostPaintTask : public MethodTask<WebViewHost> {
+public:
+    WebViewHostPaintTask(WebViewHost* object)
+        : MethodTask<WebViewHost>(object) {}
+    virtual void runIfValid() { m_object->paintInvalidatedRegion(); }
+};
+
 void WebViewHost::updatePaintRect(const WebRect& rect)
 {
     // m_paintRect = m_paintRect U rect
@@ -1421,6 +1426,8 @@ void WebViewHost::updatePaintRect(const WebRect& rect)
     int right = max(m_paintRect.x + m_paintRect.width, rect.x + rect.width);
     int bottom = max(m_paintRect.y + m_paintRect.height, rect.y + rect.height);
     m_paintRect = WebRect(left, top, right - left, bottom - top);
+
+    postDelayedTask(new WebViewHostPaintTask(this), 0);
 }
 
 void WebViewHost::paintRect(const WebRect& rect)
index 86c23a5..e96a717 100644 (file)
@@ -32,6 +32,7 @@
 #define WebViewHost_h
 
 #include "MockSpellCheck.h"
+#include "Task.h"
 #include "TestNavigationController.h"
 #include "WebAccessibilityNotification.h"
 #include "WebCursorInfo.h"
@@ -100,6 +101,9 @@ class WebViewHost : public WebKit::WebViewClient, public WebKit::WebFrameClient,
 
     WebKit::WebSpeechInputControllerMock* speechInputControllerMock() { return m_speechInputControllerMock.get(); }
 
+    // Needed by the MethodTask template.
+    TaskList* taskList() { return &m_taskList; }
+
     // NavigationHost
     virtual bool navigate(const TestNavigationEntry&, bool reload);
 
@@ -308,6 +312,8 @@ private:
     WebKit::WebRect m_paintRect;
     bool m_isPainting;
 
+    TaskList m_taskList;
+
     OwnPtr<WebKit::WebContextMenuData> m_lastContextMenuData;
 
     // Geolocation