[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.17-1283-gcf603cf
darin at chromium.org
darin at chromium.org
Wed Jan 6 00:21:38 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit f1fad52dac3e3c12fc8619a14926bce8dcaefa7b
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