[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

tony at chromium.org tony at chromium.org
Wed Dec 22 13:43:10 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 40ba3a30d91f68441d411383f1b021f70c952117
Author: tony at chromium.org <tony at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Sep 23 23:48:05 2010 +0000

    2010-09-23  Tony Chang  <tony at chromium.org>
    
            Reviewed by Dimitri Glazkov.
    
            [chromium] implement layoutTestController.sampleSVGAnimationForElementAtTime
            https://bugs.webkit.org/show_bug.cgi?id=46426
    
            * platform/chromium/test_expectations.txt: Mark 4 tests as passing.
    2010-09-23  Tony Chang  <tony at chromium.org>
    
            Reviewed by Dimitri Glazkov.
    
            [chromium] implement layoutTestController.sampleSVGAnimationForElementAtTime
            https://bugs.webkit.org/show_bug.cgi?id=46426
    
            * public/WebFrame.h:
            * src/WebFrameImpl.cpp:
            (WebKit::WebFrameImpl::pauseSVGAnimation):
            * src/WebFrameImpl.h:
    2010-09-23  Tony Chang  <tony at chromium.org>
    
            Reviewed by Dimitri Glazkov.
    
            [chromium] implement layoutTestController.sampleSVGAnimationForElementAtTime
            https://bugs.webkit.org/show_bug.cgi?id=46426
    
            * DumpRenderTree/chromium/LayoutTestController.cpp:
            (LayoutTestController::LayoutTestController):
            (LayoutTestController::sampleSVGAnimationForElementAtTime):
            * DumpRenderTree/chromium/LayoutTestController.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68216 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 6578263..84920da 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,12 @@
+2010-09-23  Tony Chang  <tony at chromium.org>
+
+        Reviewed by Dimitri Glazkov.
+
+        [chromium] implement layoutTestController.sampleSVGAnimationForElementAtTime
+        https://bugs.webkit.org/show_bug.cgi?id=46426
+
+        * platform/chromium/test_expectations.txt: Mark 4 tests as passing.
+
 2010-09-23  Mihai Parparita  <mihaip at chromium.org>
 
         Reviewed by Ojan Vafai.
diff --git a/LayoutTests/platform/chromium/test_expectations.txt b/LayoutTests/platform/chromium/test_expectations.txt
index 927519d..2e86552 100644
--- a/LayoutTests/platform/chromium/test_expectations.txt
+++ b/LayoutTests/platform/chromium/test_expectations.txt
@@ -2120,8 +2120,6 @@ BUG28646 : editing/selection/transformed-selection-rects.html = FAIL
 // New failures from merge 51412:51455.
 BUG28916 MAC : editing/pasteboard/paste-xml.xhtml = TEXT
 
-// New failures from WebKit r51534:r51576
-BUG29157 WIN LINUX MAC :  svg/animations/animVal-basics.html = TIMEOUT
 
 // New failures from WebKit r51577
 BUG29164 WIN LINUX MAC : fast/frames/sandboxed-iframe-plugins.html = TEXT
@@ -2372,11 +2370,11 @@ BUG_39423 : security/block-test.html = TIMEOUT
 
 BUGWK36666 : storage/open-database-over-quota.html = TEXT
 
-// Caused by http://trac.webkit.org/changeset/56795
-// These are new tests that are failing in Chromium because of a missing API.
-BUG39904 : svg/animations/animate-points.html = TIMEOUT
-BUG39904 : svg/animations/animate-keySplines.html = TIMEOUT
-BUG39904 : svg/animations/animate-gradient-transform.html = TIMEOUT
+// These tests pass in DRT but timeout in test_shell.
+BUG29157 : svg/animations/animVal-basics.html = TIMEOUT PASS
+BUG39904 : svg/animations/animate-points.html = TIMEOUT PASS
+BUG39904 : svg/animations/animate-keySplines.html = TIMEOUT PASS
+BUG39904 : svg/animations/animate-gradient-transform.html = TIMEOUT PASS
 
 BUGWK37283 : fast/overflow/scrollbar-restored-and-then-locked.html = TEXT
 
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index f381d15..42dae3c 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,5 +1,17 @@
 2010-09-23  Tony Chang  <tony at chromium.org>
 
+        Reviewed by Dimitri Glazkov.
+
+        [chromium] implement layoutTestController.sampleSVGAnimationForElementAtTime
+        https://bugs.webkit.org/show_bug.cgi?id=46426
+
+        * public/WebFrame.h:
+        * src/WebFrameImpl.cpp:
+        (WebKit::WebFrameImpl::pauseSVGAnimation):
+        * src/WebFrameImpl.h:
+
+2010-09-23  Tony Chang  <tony at chromium.org>
+
         Reviewed by David Levin.
 
         [chromium] add caretBrowsingEnabled to WebSettings and DRT
diff --git a/WebKit/chromium/public/WebFrame.h b/WebKit/chromium/public/WebFrame.h
index 13de5da..8a4b4ec 100644
--- a/WebKit/chromium/public/WebFrame.h
+++ b/WebKit/chromium/public/WebFrame.h
@@ -539,6 +539,12 @@ public:
     // Only for testing purpose: 
     // Returns true if selection.anchorNode has a marker on range from |from| with |length|.
     virtual bool selectionStartHasSpellingMarkerFor(int from, int length) const = 0;
+
+    // Pauses and samples an SVG animation.  Returns false if there's no svg
+    // animation to pause.  This is only for testing.
+    virtual bool pauseSVGAnimation(const WebString& animationId,
+                                   double time,
+                                   const WebString& elementId) = 0;
 protected:
     ~WebFrame() { }
 };
diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp
index f048cb9..c8aa1a7 100644
--- a/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/WebKit/chromium/src/WebFrameImpl.cpp
@@ -110,6 +110,7 @@
 #include "ReplaceSelectionCommand.h"
 #include "ResourceHandle.h"
 #include "ResourceRequest.h"
+#include "SVGSMILElement.h"
 #include "ScriptController.h"
 #include "ScriptSourceCode.h"
 #include "ScriptValue.h"
@@ -1722,6 +1723,26 @@ bool WebFrameImpl::selectionStartHasSpellingMarkerFor(int from, int length) cons
     return m_frame->editor()->selectionStartHasSpellingMarkerFor(from, length);
 }
 
+bool WebFrameImpl::pauseSVGAnimation(const WebString& animationId, double time, const WebString& elementId)
+{
+#if !ENABLE(SVG)
+    return false;
+#else
+    if (!m_frame)
+        return false;
+
+    Document* document = m_frame->document();
+    if (!document || !document->svgExtensions())
+        return false;
+
+    Node* coreNode = document->getElementById(animationId);
+    if (!coreNode || !SVGSMILElement::isSMILElement(coreNode))
+        return false;
+
+    return document->accessSVGExtensions()->sampleAnimationAtTime(elementId, static_cast<SVGSMILElement*>(coreNode), time);
+#endif
+}
+
 // WebFrameImpl public ---------------------------------------------------------
 
 PassRefPtr<WebFrameImpl> WebFrameImpl::create(WebFrameClient* client)
diff --git a/WebKit/chromium/src/WebFrameImpl.h b/WebKit/chromium/src/WebFrameImpl.h
index 89afca7..f4932c2 100644
--- a/WebKit/chromium/src/WebFrameImpl.h
+++ b/WebKit/chromium/src/WebFrameImpl.h
@@ -185,6 +185,9 @@ public:
     virtual WebRect selectionBoundsRect() const;
 
     virtual bool selectionStartHasSpellingMarkerFor(int from, int length) const;
+    virtual bool pauseSVGAnimation(const WebString& animationId,
+                                   double time,
+                                   const WebString& elementId);
 
     static PassRefPtr<WebFrameImpl> create(WebFrameClient* client);
     ~WebFrameImpl();
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 9e3f227..3c2df5e 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,15 @@
+2010-09-23  Tony Chang  <tony at chromium.org>
+
+        Reviewed by Dimitri Glazkov.
+
+        [chromium] implement layoutTestController.sampleSVGAnimationForElementAtTime
+        https://bugs.webkit.org/show_bug.cgi?id=46426
+
+        * DumpRenderTree/chromium/LayoutTestController.cpp:
+        (LayoutTestController::LayoutTestController):
+        (LayoutTestController::sampleSVGAnimationForElementAtTime):
+        * DumpRenderTree/chromium/LayoutTestController.h:
+
 2010-09-23  Martin Robinson  <mrobinson at igalia.com>
 
         Reviewed by Nate Chapin.
diff --git a/WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp b/WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp
index 318a3c2..3d3c204 100644
--- a/WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp
+++ b/WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp
@@ -126,6 +126,7 @@ LayoutTestController::LayoutTestController(TestShell* shell)
     bindMethod("removeOriginAccessWhitelistEntry", &LayoutTestController::removeOriginAccessWhitelistEntry);
     bindMethod("repaintSweepHorizontally", &LayoutTestController::repaintSweepHorizontally);
     bindMethod("resumeAnimations", &LayoutTestController::resumeAnimations);
+    bindMethod("sampleSVGAnimationForElementAtTime", &LayoutTestController::sampleSVGAnimationForElementAtTime);
     bindMethod("setAcceptsEditing", &LayoutTestController::setAcceptsEditing);
     bindMethod("setAllowFileAccessFromFileURLs", &LayoutTestController::setAllowFileAccessFromFileURLs);
     bindMethod("setAllowUniversalAccessFromFileURLs", &LayoutTestController::setAllowUniversalAccessFromFileURLs);
@@ -959,6 +960,19 @@ void LayoutTestController::resumeAnimations(const CppArgumentList&, CppVariant*
     result->setNull();
 }
 
+void LayoutTestController::sampleSVGAnimationForElementAtTime(const CppArgumentList& arguments, CppVariant* result)
+{
+    if (arguments.size() != 3) {
+        result->setNull();
+        return;
+    }
+    WebString animationId = cppVariantToWebString(arguments[0]);
+    double time = arguments[1].toDouble();
+    WebString elementId = cppVariantToWebString(arguments[2]);
+    bool success = m_shell->webView()->mainFrame()->pauseSVGAnimation(animationId, time, elementId);
+    result->set(success);
+}
+
 void LayoutTestController::disableImageLoading(const CppArgumentList&, CppVariant* result)
 {
     m_shell->preferences()->loadsImagesAutomatically = false;
diff --git a/WebKitTools/DumpRenderTree/chromium/LayoutTestController.h b/WebKitTools/DumpRenderTree/chromium/LayoutTestController.h
index ec2503f..8467097 100644
--- a/WebKitTools/DumpRenderTree/chromium/LayoutTestController.h
+++ b/WebKitTools/DumpRenderTree/chromium/LayoutTestController.h
@@ -223,6 +223,7 @@ public:
     void numberOfActiveAnimations(const CppArgumentList&, CppVariant*);
     void suspendAnimations(const CppArgumentList&, CppVariant*);
     void resumeAnimations(const CppArgumentList&, CppVariant*);
+    void sampleSVGAnimationForElementAtTime(const CppArgumentList&, CppVariant*);
     void disableImageLoading(const CppArgumentList&, CppVariant*);
     void setIconDatabaseEnabled(const CppArgumentList&, CppVariant*);
     void dumpSelectionRect(const CppArgumentList&, CppVariant*);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list