Title: [139199] trunk/Source/WebCore
- Revision
- 139199
- Author
- morr...@google.com
- Date
- 2013-01-09 09:41:10 -0800 (Wed, 09 Jan 2013)
Log Message
Document::setActiveNode() should be Document::setActiveElement()
https://bugs.webkit.org/show_bug.cgi?id=106437
Reviewed by Ojan Vafai.
No new tests. No functoinal change.
* dom/Document.cpp:
(WebCore::Document::setActiveElement):
(WebCore::Document::updateHoverActiveState):
* dom/Document.h:
(Document):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::innerElement):
(WebCore):
* rendering/HitTestResult.h:
(HitTestResult):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (139198 => 139199)
--- trunk/Source/WebCore/ChangeLog 2013-01-09 17:34:54 UTC (rev 139198)
+++ trunk/Source/WebCore/ChangeLog 2013-01-09 17:41:10 UTC (rev 139199)
@@ -1,3 +1,23 @@
+2013-01-09 Hajime Morrita <morr...@google.com>
+
+ Document::setActiveNode() should be Document::setActiveElement()
+ https://bugs.webkit.org/show_bug.cgi?id=106437
+
+ Reviewed by Ojan Vafai.
+
+ No new tests. No functoinal change.
+
+ * dom/Document.cpp:
+ (WebCore::Document::setActiveElement):
+ (WebCore::Document::updateHoverActiveState):
+ * dom/Document.h:
+ (Document):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::innerElement):
+ (WebCore):
+ * rendering/HitTestResult.h:
+ (HitTestResult):
+
2013-01-09 Shinya Kawanaka <shin...@chromium.org>
[Shadow DOM]: ShadowRoot has wrong nodeName attribute
Modified: trunk/Source/WebCore/dom/Document.cpp (139198 => 139199)
--- trunk/Source/WebCore/dom/Document.cpp 2013-01-09 17:34:54 UTC (rev 139198)
+++ trunk/Source/WebCore/dom/Document.cpp 2013-01-09 17:41:10 UTC (rev 139199)
@@ -3235,14 +3235,14 @@
m_hoverNode = newHoverNode;
}
-void Document::setActiveNode(PassRefPtr<Node> newActiveNode)
+void Document::setActiveElement(PassRefPtr<Element> newActiveElement)
{
- if (!newActiveNode) {
+ if (!newActiveElement) {
m_activeElement.clear();
return;
}
- m_activeElement = newActiveNode->isElementNode() ? toElement(newActiveNode.get()) : newActiveNode->parentElement();
+ m_activeElement = newActiveElement;
}
void Document::focusedNodeRemoved()
@@ -5809,35 +5809,36 @@
if (request.readOnly())
return;
- Node* innerNodeInDocument = result.innerNode();
- ASSERT(!innerNodeInDocument || innerNodeInDocument->document() == this);
+ Element* innerElementInDocument = result.innerElement();
+ ASSERT(!innerElementInDocument || innerElementInDocument->document() == this);
- Node* oldActiveNode = activeElement();
- if (oldActiveNode && !request.active()) {
+ Element* oldActiveElement = activeElement();
+ if (oldActiveElement && !request.active()) {
// We are clearing the :active chain because the mouse has been released.
- for (RenderObject* curr = oldActiveNode->renderer(); curr; curr = curr->parent()) {
- if (curr->node() && !curr->isText()) {
+ for (RenderObject* curr = oldActiveElement->renderer(); curr; curr = curr->parent()) {
+ if (curr->node()) {
+ ASSERT(!curr->node()->isTextNode());
curr->node()->setActive(false);
m_userActionElements.setInActiveChain(curr->node(), false);
}
}
- setActiveNode(0);
+ setActiveElement(0);
} else {
- Node* newActiveNode = innerNodeInDocument;
- if (!oldActiveNode && newActiveNode && request.active() && !request.touchMove()) {
+ Element* newActiveElement = innerElementInDocument;
+ if (!oldActiveElement && newActiveElement && request.active() && !request.touchMove()) {
// We are setting the :active chain and freezing it. If future moves happen, they
// will need to reference this chain.
- for (RenderObject* curr = newActiveNode->renderer(); curr; curr = curr->parent()) {
+ for (RenderObject* curr = newActiveElement->renderer(); curr; curr = curr->parent()) {
if (curr->node() && !curr->isText())
m_userActionElements.setInActiveChain(curr->node(), true);
}
- setActiveNode(newActiveNode);
+ setActiveElement(newActiveElement);
}
}
// If the mouse has just been pressed, set :active on the chain. Those (and only those)
// nodes should remain :active until the mouse is released.
- bool allowActiveChanges = !oldActiveNode && activeElement();
+ bool allowActiveChanges = !oldActiveElement && activeElement();
// If the mouse is down and if this is a mouse move event, we want to restrict changes in
// :hover/:active to only apply to elements that are in the :active chain that we froze
@@ -5860,7 +5861,7 @@
// Check to see if the hovered node has changed.
// If it hasn't, we do not need to do anything.
- Node* newHoverNode = innerNodeInDocument;
+ Node* newHoverNode = innerElementInDocument;
while (newHoverNode && !newHoverNode->renderer())
newHoverNode = newHoverNode->parentOrHostNode();
Modified: trunk/Source/WebCore/dom/Document.h (139198 => 139199)
--- trunk/Source/WebCore/dom/Document.h 2013-01-09 17:34:54 UTC (rev 139198)
+++ trunk/Source/WebCore/dom/Document.h 2013-01-09 17:41:10 UTC (rev 139199)
@@ -699,7 +699,7 @@
void setHoverNode(PassRefPtr<Node>);
Node* hoverNode() const { return m_hoverNode.get(); }
- void setActiveNode(PassRefPtr<Node>);
+ void setActiveElement(PassRefPtr<Element>);
Element* activeElement() const { return m_activeElement.get(); }
void focusedNodeRemoved();
Modified: trunk/Source/WebCore/rendering/HitTestResult.cpp (139198 => 139199)
--- trunk/Source/WebCore/rendering/HitTestResult.cpp 2013-01-09 17:34:54 UTC (rev 139198)
+++ trunk/Source/WebCore/rendering/HitTestResult.cpp 2013-01-09 17:41:10 UTC (rev 139199)
@@ -794,4 +794,14 @@
return node;
}
+Element* HitTestResult::innerElement() const
+{
+ for (Node* node = m_innerNode.get(); node; node = node->parentNode()) {
+ if (node->isElementNode())
+ return toElement(node);
+ }
+
+ return 0;
+}
+
} // namespace WebCore
Modified: trunk/Source/WebCore/rendering/HitTestResult.h (139198 => 139199)
--- trunk/Source/WebCore/rendering/HitTestResult.h 2013-01-09 17:34:54 UTC (rev 139198)
+++ trunk/Source/WebCore/rendering/HitTestResult.h 2013-01-09 17:41:10 UTC (rev 139199)
@@ -115,6 +115,7 @@
HitTestResult& operator=(const HitTestResult&);
Node* innerNode() const { return m_innerNode.get(); }
+ Element* innerElement() const;
Node* innerNonSharedNode() const { return m_innerNonSharedNode.get(); }
Element* URLElement() const { return m_innerURLElement.get(); }
Scrollbar* scrollbar() const { return m_scrollbar.get(); }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes