Changeset 139199 in webkit
- Timestamp:
- Jan 9, 2013 9:41:10 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r139198 r139199 1 2013-01-09 Hajime Morrita <morrita@google.com> 2 3 Document::setActiveNode() should be Document::setActiveElement() 4 https://bugs.webkit.org/show_bug.cgi?id=106437 5 6 Reviewed by Ojan Vafai. 7 8 No new tests. No functoinal change. 9 10 * dom/Document.cpp: 11 (WebCore::Document::setActiveElement): 12 (WebCore::Document::updateHoverActiveState): 13 * dom/Document.h: 14 (Document): 15 * rendering/HitTestResult.cpp: 16 (WebCore::HitTestResult::innerElement): 17 (WebCore): 18 * rendering/HitTestResult.h: 19 (HitTestResult): 20 1 21 2013-01-09 Shinya Kawanaka <shinyak@chromium.org> 2 22 -
trunk/Source/WebCore/dom/Document.cpp
r139192 r139199 3236 3236 } 3237 3237 3238 void Document::setActive Node(PassRefPtr<Node> newActiveNode)3239 { 3240 if (!newActive Node) {3238 void Document::setActiveElement(PassRefPtr<Element> newActiveElement) 3239 { 3240 if (!newActiveElement) { 3241 3241 m_activeElement.clear(); 3242 3242 return; 3243 3243 } 3244 3244 3245 m_activeElement = newActive Node->isElementNode() ? toElement(newActiveNode.get()) : newActiveNode->parentElement();3245 m_activeElement = newActiveElement; 3246 3246 } 3247 3247 … … 5810 5810 return; 5811 5811 5812 Node* innerNodeInDocument = result.innerNode();5813 ASSERT(!inner NodeInDocument || innerNodeInDocument->document() == this);5814 5815 Node* oldActiveNode= activeElement();5816 if (oldActive Node&& !request.active()) {5812 Element* innerElementInDocument = result.innerElement(); 5813 ASSERT(!innerElementInDocument || innerElementInDocument->document() == this); 5814 5815 Element* oldActiveElement = activeElement(); 5816 if (oldActiveElement && !request.active()) { 5817 5817 // We are clearing the :active chain because the mouse has been released. 5818 for (RenderObject* curr = oldActiveNode->renderer(); curr; curr = curr->parent()) { 5819 if (curr->node() && !curr->isText()) { 5818 for (RenderObject* curr = oldActiveElement->renderer(); curr; curr = curr->parent()) { 5819 if (curr->node()) { 5820 ASSERT(!curr->node()->isTextNode()); 5820 5821 curr->node()->setActive(false); 5821 5822 m_userActionElements.setInActiveChain(curr->node(), false); 5822 5823 } 5823 5824 } 5824 setActive Node(0);5825 setActiveElement(0); 5825 5826 } else { 5826 Node* newActiveNode = innerNodeInDocument;5827 if (!oldActive Node && newActiveNode&& request.active() && !request.touchMove()) {5827 Element* newActiveElement = innerElementInDocument; 5828 if (!oldActiveElement && newActiveElement && request.active() && !request.touchMove()) { 5828 5829 // We are setting the :active chain and freezing it. If future moves happen, they 5829 5830 // will need to reference this chain. 5830 for (RenderObject* curr = newActive Node->renderer(); curr; curr = curr->parent()) {5831 for (RenderObject* curr = newActiveElement->renderer(); curr; curr = curr->parent()) { 5831 5832 if (curr->node() && !curr->isText()) 5832 5833 m_userActionElements.setInActiveChain(curr->node(), true); 5833 5834 } 5834 5835 5835 setActive Node(newActiveNode);5836 setActiveElement(newActiveElement); 5836 5837 } 5837 5838 } 5838 5839 // If the mouse has just been pressed, set :active on the chain. Those (and only those) 5839 5840 // nodes should remain :active until the mouse is released. 5840 bool allowActiveChanges = !oldActive Node&& activeElement();5841 bool allowActiveChanges = !oldActiveElement && activeElement(); 5841 5842 5842 5843 // If the mouse is down and if this is a mouse move event, we want to restrict changes in … … 5861 5862 // Check to see if the hovered node has changed. 5862 5863 // If it hasn't, we do not need to do anything. 5863 Node* newHoverNode = inner NodeInDocument;5864 Node* newHoverNode = innerElementInDocument; 5864 5865 while (newHoverNode && !newHoverNode->renderer()) 5865 5866 newHoverNode = newHoverNode->parentOrHostNode(); -
trunk/Source/WebCore/dom/Document.h
r139141 r139199 700 700 Node* hoverNode() const { return m_hoverNode.get(); } 701 701 702 void setActive Node(PassRefPtr<Node>);702 void setActiveElement(PassRefPtr<Element>); 703 703 Element* activeElement() const { return m_activeElement.get(); } 704 704 -
trunk/Source/WebCore/rendering/HitTestResult.cpp
r136744 r139199 795 795 } 796 796 797 Element* HitTestResult::innerElement() const 798 { 799 for (Node* node = m_innerNode.get(); node; node = node->parentNode()) { 800 if (node->isElementNode()) 801 return toElement(node); 802 } 803 804 return 0; 805 } 806 797 807 } // namespace WebCore -
trunk/Source/WebCore/rendering/HitTestResult.h
r135841 r139199 116 116 117 117 Node* innerNode() const { return m_innerNode.get(); } 118 Element* innerElement() const; 118 119 Node* innerNonSharedNode() const { return m_innerNonSharedNode.get(); } 119 120 Element* URLElement() const { return m_innerURLElement.get(); }
Note: See TracChangeset
for help on using the changeset viewer.