[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
dumi at chromium.org
dumi at chromium.org
Wed Dec 22 12:41:05 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit ecfe863c652cb4cba74c6bb65fbd75fcebdcd4ff
Author: dumi at chromium.org <dumi at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Aug 27 04:01:02 2010 +0000
Add support for markerTextForListItem() to Chromium's LayoutTestController.
https://bugs.webkit.org/show_bug.cgi?id=44724
Reviewed by Darin Fisher.
* public/WebBindings.h:
* public/WebFrame.h:
* src/WebBindings.cpp:
(WebKit::getElementImpl):
(WebKit::WebBindings::getElement):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::markerTextForListItem):
* src/WebFrameImpl.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66176 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 56c41a7..1ad5160 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,19 @@
+2010-08-26 Dumitru Daniliuc <dumi at chromium.org>
+
+ Reviewed by Darin Fisher.
+
+ Add support for markerTextForListItem() to Chromium's LayoutTestController.
+ https://bugs.webkit.org/show_bug.cgi?id=44724
+
+ * public/WebBindings.h:
+ * public/WebFrame.h:
+ * src/WebBindings.cpp:
+ (WebKit::getElementImpl):
+ (WebKit::WebBindings::getElement):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::markerTextForListItem):
+ * src/WebFrameImpl.h:
+
2010-08-26 James Robinson <jamesr at chromium.org>
Reviewed by Darin Fisher.
diff --git a/WebKit/chromium/public/WebBindings.h b/WebKit/chromium/public/WebBindings.h
index 0fa3bfd..bca4095 100644
--- a/WebKit/chromium/public/WebBindings.h
+++ b/WebKit/chromium/public/WebBindings.h
@@ -37,6 +37,7 @@
namespace WebKit {
class WebDragData;
+class WebElement;
class WebRange;
// A haphazard collection of functions for dealing with plugins.
@@ -139,6 +140,10 @@ public:
// If so, return that range as a WebRange object.
WEBKIT_API static bool getRange(NPObject* range, WebRange*);
+ // Return true (success) if the given npobj is an element.
+ // If so, return that element as a WebElement object.
+ WEBKIT_API static bool getElement(NPObject* element, WebElement*);
+
// Exceptions -------------------------------------------------------------
typedef void (ExceptionHandler)(void* data, const NPUTF8* message);
diff --git a/WebKit/chromium/public/WebFrame.h b/WebKit/chromium/public/WebFrame.h
index c4fa7ae..d8eca6a 100644
--- a/WebKit/chromium/public/WebFrame.h
+++ b/WebKit/chromium/public/WebFrame.h
@@ -518,6 +518,8 @@ public:
// used to support layout tests.
virtual WebString counterValueForElementById(const WebString& id) const = 0;
+ // Calls markerTextForListItem() defined in WebCore/rendering/RenderTreeAsText.h.
+ virtual WebString markerTextForListItem(const WebElement&) const = 0;
// Returns the number of page where the specified element will be put.
// This method is used to support layout tests.
diff --git a/WebKit/chromium/src/WebBindings.cpp b/WebKit/chromium/src/WebBindings.cpp
index 3aaebfd..4bb9022 100644
--- a/WebKit/chromium/src/WebBindings.cpp
+++ b/WebKit/chromium/src/WebBindings.cpp
@@ -43,6 +43,7 @@
#include "Range.h"
#include "V8BindingState.h"
#include "V8DOMWrapper.h"
+#include "V8Element.h"
#include "V8Event.h"
#include "V8Helpers.h"
#include "V8HiddenPropertyName.h"
@@ -53,6 +54,7 @@
#include "bridge/c/c_utility.h"
#endif
#include "WebDragData.h"
+#include "WebElement.h"
#include "WebRange.h"
#if USE(JAVASCRIPTCORE_BINDINGS)
@@ -295,6 +297,21 @@ static bool getRangeImpl(NPObject* npobj, WebRange* range)
return true;
}
+static bool getElementImpl(NPObject* npObj, WebElement* webElement)
+{
+ if (!npObj || (npObj->_class != npScriptObjectClass))
+ return false;
+
+ V8NPObject* v8NPObject = reinterpret_cast<V8NPObject*>(npObj);
+ v8::Handle<v8::Object> v8Object(v8NPObject->v8Object);
+ Element* native = V8Element::toNative(v8Object);
+ if (!native)
+ return false;
+
+ *webElement = WebElement(native);
+ return true;
+}
+
#endif
bool WebBindings::getDragData(NPObject* event, int* eventId, WebDragData* data)
@@ -323,6 +340,16 @@ bool WebBindings::getRange(NPObject* range, WebRange* webrange)
#endif
}
+bool WebBindings::getElement(NPObject* element, WebElement* webElement)
+{
+#if USE(V8)
+ return getElementImpl(element, webElement);
+#else
+ // Not supported on other ports (JSC, etc.).
+ return false;
+#endif
+}
+
void WebBindings::pushExceptionHandler(ExceptionHandler handler, void* data)
{
WebCore::pushExceptionHandler(handler, data);
diff --git a/WebKit/chromium/src/WebFrameImpl.cpp b/WebKit/chromium/src/WebFrameImpl.cpp
index 4375e73..8c70d73 100644
--- a/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/WebKit/chromium/src/WebFrameImpl.cpp
@@ -1690,6 +1690,11 @@ WebString WebFrameImpl::counterValueForElementById(const WebString& id) const
return counterValueForElement(element);
}
+WebString WebFrameImpl::markerTextForListItem(const WebElement& webElement) const
+{
+ return WebCore::markerTextForListItem(webElement.unwrap<Element>());
+}
+
int WebFrameImpl::pageNumberForElementById(const WebString& id,
float pageWidthInPixels,
float pageHeightInPixels) const
diff --git a/WebKit/chromium/src/WebFrameImpl.h b/WebKit/chromium/src/WebFrameImpl.h
index 00e8ecb..14217fa 100644
--- a/WebKit/chromium/src/WebFrameImpl.h
+++ b/WebKit/chromium/src/WebFrameImpl.h
@@ -176,6 +176,7 @@ public:
virtual WebString contentAsMarkup() const;
virtual WebString renderTreeAsText() const;
virtual WebString counterValueForElementById(const WebString& id) const;
+ virtual WebString markerTextForListItem(const WebElement&) const;
virtual int pageNumberForElementById(const WebString& id,
float pageWidthInPixels,
float pageHeightInPixels) const;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list