summaryrefslogtreecommitdiffstats
path: root/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp')
-rw-r--r--WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
index 754b20a..e958751 100644
--- a/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+++ b/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
@@ -82,6 +82,27 @@ using namespace WebCore;
QMap<int, QWebScriptWorld*> m_worldMap;
+QDRTNode::QDRTNode()
+ : m_node(0)
+{
+}
+
+QDRTNode::QDRTNode(WebCore::Node* node)
+ : m_node(0)
+{
+ if (node) {
+ m_node = node;
+ m_node->ref();
+ }
+}
+
+QDRTNode::~QDRTNode()
+{
+ if (m_node)
+ m_node->deref();
+}
+
+
DumpRenderTreeSupportQt::DumpRenderTreeSupportQt()
{
}
@@ -854,7 +875,10 @@ QVariantList DumpRenderTreeSupportQt::nodesFromRect(const QWebElement& document,
for (int i = 0; i < nodes->length(); i++) {
QVariant v;
// QWebElement will be null if the Node is not an HTML Element
- v.setValue(QWebElement(nodes->item(i)));
+ if (nodes->item(i)->isHTMLElement())
+ v.setValue(QWebElement(nodes->item(i)));
+ else
+ v.setValue(QDRTNode(nodes->item(i)));
res << v;
}
return res;