[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

darin at chromium.org darin at chromium.org
Thu Apr 8 00:54:20 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 2d1f50688f37b2db48e52942e4d7c712dd816327
Author: darin at chromium.org <darin at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 5 08:00:15 2010 +0000

    2010-01-04  Darin Fisher  <darin at chromium.org>
    
            Reviewed by Eric Seidel.
    
            [Chromium] Expose more DOM methods to support LayoutTests
            https://bugs.webkit.org/show_bug.cgi?id=33185
    
            * public/WebDocument.h: Adds documentElement method.
            * public/WebElement.h: Adds innerText method.
            * public/WebFrame.h: Adds renderTreeAsText and counterValueForElementById
            methods, and fixes a few whitespace issues.
            * src/WebDocument.cpp:
            (WebKit::WebDocument::documentElement):
            * src/WebElement.cpp:
            (WebKit::WebElement::innerText):
            * src/WebFrameImpl.cpp:
            (WebKit::WebFrameImpl::clearName):
            (WebKit::WebFrameImpl::renderTreeAsText):
            (WebKit::WebFrameImpl::counterValueForElementById):
            * src/WebFrameImpl.h:
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 9e27a4e..6784b12 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,5 +1,26 @@
 2010-01-04  Darin Fisher  <darin at chromium.org>
 
+        Reviewed by Eric Seidel.
+
+        [Chromium] Expose more DOM methods to support LayoutTests
+        https://bugs.webkit.org/show_bug.cgi?id=33185
+
+        * public/WebDocument.h: Adds documentElement method.
+        * public/WebElement.h: Adds innerText method.
+        * public/WebFrame.h: Adds renderTreeAsText and counterValueForElementById
+        methods, and fixes a few whitespace issues.
+        * src/WebDocument.cpp:
+        (WebKit::WebDocument::documentElement):
+        * src/WebElement.cpp:
+        (WebKit::WebElement::innerText):
+        * src/WebFrameImpl.cpp:
+        (WebKit::WebFrameImpl::clearName):
+        (WebKit::WebFrameImpl::renderTreeAsText):
+        (WebKit::WebFrameImpl::counterValueForElementById):
+        * src/WebFrameImpl.h:
+
+2010-01-04  Darin Fisher  <darin at chromium.org>
+
         Fix Chromium build bustage.
 
         * src/WebAnimationControllerImpl.h:
diff --git a/WebKit/chromium/public/WebDocument.h b/WebKit/chromium/public/WebDocument.h
index a2e5985..0397910 100644
--- a/WebKit/chromium/public/WebDocument.h
+++ b/WebKit/chromium/public/WebDocument.h
@@ -62,6 +62,7 @@ public:
     WEBKIT_API WebFrame* frame() const;
     WEBKIT_API bool isHTMLDocument() const;
     WEBKIT_API WebURL baseURL() const;
+    WEBKIT_API WebElement documentElement() const;
     WEBKIT_API WebElement body() const;
     WEBKIT_API WebElement head();
     WEBKIT_API WebNodeCollection all();
diff --git a/WebKit/chromium/public/WebElement.h b/WebKit/chromium/public/WebElement.h
index c22c06d..20f6c9a 100644
--- a/WebKit/chromium/public/WebElement.h
+++ b/WebKit/chromium/public/WebElement.h
@@ -53,6 +53,7 @@ namespace WebKit {
         WEBKIT_API bool hasAttribute(const WebString&) const;
         WEBKIT_API WebString getAttribute(const WebString&) const;
         WEBKIT_API bool setAttribute(const WebString& name, const WebString& value);
+        WEBKIT_API WebString innerText() const;
 
 #if WEBKIT_IMPLEMENTATION
         WebElement(const WTF::PassRefPtr<WebCore::Element>&);
diff --git a/WebKit/chromium/public/WebFrame.h b/WebKit/chromium/public/WebFrame.h
index da92581..3247274 100644
--- a/WebKit/chromium/public/WebFrame.h
+++ b/WebKit/chromium/public/WebFrame.h
@@ -97,6 +97,7 @@ public:
 
     // The name of this frame.
     virtual WebString name() const = 0;
+    virtual void clearName() = 0;
 
     // The url of the document loaded in this frame.  This is equivalent to
     // dataSource()->request().url().
@@ -113,6 +114,7 @@ public:
     // Return the frame's encoding.
     virtual WebString encoding() const = 0;
 
+
     // Geometry -----------------------------------------------------------
 
     // NOTE: These routines do not force page layout so their results may
@@ -179,6 +181,7 @@ public:
 
     virtual WebAnimationController* animationController() = 0;
 
+
     // Scripting ----------------------------------------------------------
 
     // Returns the security origin of the current document.
@@ -429,6 +432,7 @@ public:
     // of matches found during the scoping effort.
     virtual void resetMatchCount() = 0;
 
+
     // Password autocompletion ---------------------------------------------
 
     // Registers a listener for the specified user name input element. The
@@ -439,6 +443,7 @@ public:
         WebInputElement,
         WebPasswordAutocompleteListener*) = 0;
 
+
     // Utility -------------------------------------------------------------
 
     // Given a relative URL, returns an absolute URL by resolving the URL
@@ -462,6 +467,14 @@ public:
     // from the DOM.
     virtual WebString contentAsMarkup() const = 0;
 
+    // Returns a text representation of the render tree.  This method is used
+    // to support layout tests.
+    virtual WebString renderTreeAsText() const = 0;
+
+    // Returns the counter value for the specified element.  This method is
+    // used to support layout tests.
+    virtual WebString counterValueForElementById(const WebString& id) const = 0;
+
 protected:
     ~WebFrame() { }
 };
diff --git a/WebKit/chromium/src/WebDocument.cpp b/WebKit/chromium/src/WebDocument.cpp
index c1b2c2c..b7938cf 100644
--- a/WebKit/chromium/src/WebDocument.cpp
+++ b/WebKit/chromium/src/WebDocument.cpp
@@ -81,6 +81,11 @@ WebURL WebDocument::baseURL() const
     return constUnwrap<Document>()->baseURL();
 }
 
+WebElement WebDocument::documentElement() const
+{
+    return WebElement(constUnwrap<Document>()->documentElement());
+}
+
 WebElement WebDocument::body() const
 {
     return WebElement(constUnwrap<Document>()->body());
diff --git a/WebKit/chromium/src/WebElement.cpp b/WebKit/chromium/src/WebElement.cpp
index 646f12a..d0a0862 100644
--- a/WebKit/chromium/src/WebElement.cpp
+++ b/WebKit/chromium/src/WebElement.cpp
@@ -82,5 +82,10 @@ bool WebElement::setAttribute(const WebString& attrName, const WebString& attrVa
     return !exceptionCode;
 }
 
+WebString WebElement::innerText() const
+{
+    return constUnwrap<Element>()->innerText();
+}
+
 } // namespace WebKit
 
diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp
index 29d21d6..526c8f5 100644
--- a/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/WebKit/chromium/src/WebFrameImpl.cpp
@@ -104,6 +104,7 @@
 #include "PlatformContextSkia.h"
 #include "PrintContext.h"
 #include "RenderFrame.h"
+#include "RenderTreeAsText.h"
 #include "RenderView.h"
 #include "RenderWidget.h"
 #include "ReplaceSelectionCommand.h"
@@ -356,6 +357,11 @@ WebString WebFrameImpl::name() const
     return m_frame->tree()->name();
 }
 
+void WebFrameImpl::clearName()
+{
+    m_frame->tree()->clearName();
+}
+
 WebURL WebFrameImpl::url() const
 {
     const WebDataSource* ds = dataSource();
@@ -1467,6 +1473,23 @@ WebString WebFrameImpl::contentAsMarkup() const
     return createFullMarkup(m_frame->document());
 }
 
+WebString WebFrameImpl::renderTreeAsText() const
+{
+    return externalRepresentation(m_frame);
+}
+
+WebString WebFrameImpl::counterValueForElementById(const WebString& id) const
+{
+    if (!m_frame)
+        return WebString();
+
+    Element* element = m_frame->document()->getElementById(id);
+    if (!element)
+        return WebString();
+
+    return counterValueForElement(element);
+}
+
 // WebFrameImpl public ---------------------------------------------------------
 
 int WebFrameImpl::m_liveObjectCount = 0;
diff --git a/WebKit/chromium/src/WebFrameImpl.h b/WebKit/chromium/src/WebFrameImpl.h
index d42f961..1ad7e53 100644
--- a/WebKit/chromium/src/WebFrameImpl.h
+++ b/WebKit/chromium/src/WebFrameImpl.h
@@ -64,6 +64,7 @@ class WebFrameImpl : public WebFrame, public RefCounted<WebFrameImpl> {
 public:
     // WebFrame methods:
     virtual WebString name() const;
+    virtual void clearName();
     virtual WebURL url() const;
     virtual WebURL favIconURL() const;
     virtual WebURL openSearchDescriptionURL() const;
@@ -160,6 +161,9 @@ public:
     virtual WebURL completeURL(const WebString& url) const;
     virtual WebString contentAsText(size_t maxChars) const;
     virtual WebString contentAsMarkup() const;
+    virtual WebString renderTreeAsText() const;
+    virtual WebString counterValueForElementById(const WebString& id) const;
+
     static PassRefPtr<WebFrameImpl> create(WebFrameClient* client);
     ~WebFrameImpl();
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list