| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
| 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 #if ENABLE(TOUCH_EVENT_TRACKING) | 424 #if ENABLE(TOUCH_EVENT_TRACKING) |
| 425 if (doc) | 425 if (doc) |
| 426 doc->didRemoveEventTargetNode(this); | 426 doc->didRemoveEventTargetNode(this); |
| 427 #endif | 427 #endif |
| 428 clearEventTargetData(); | 428 clearEventTargetData(); |
| 429 } | 429 } |
| 430 | 430 |
| 431 if (renderer()) | 431 if (renderer()) |
| 432 detach(); | 432 detach(); |
| 433 | 433 |
| 434 if (doc && !isContainerNode()) { | 434 if (AXObjectCache::accessibilityEnabled() && doc && doc->axObjectCacheExists
() && !isContainerNode()) |
| 435 if (AXObjectCache* cache = doc->existingAXObjectCache()) | 435 doc->axObjectCache()->remove(this); |
| 436 cache->remove(this); | |
| 437 } | |
| 438 | 436 |
| 439 if (m_previous) | 437 if (m_previous) |
| 440 m_previous->setNextSibling(0); | 438 m_previous->setNextSibling(0); |
| 441 if (m_next) | 439 if (m_next) |
| 442 m_next->setPreviousSibling(0); | 440 m_next->setPreviousSibling(0); |
| 443 | 441 |
| 444 m_treeScope->guardDeref(); | 442 m_treeScope->guardDeref(); |
| 445 | 443 |
| 446 InspectorCounters::decrementCounter(InspectorCounters::NodeCounter); | 444 InspectorCounters::decrementCounter(InspectorCounters::NodeCounter); |
| 447 } | 445 } |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 721 { | 719 { |
| 722 if (rendererIsEditable(editableLevel)) | 720 if (rendererIsEditable(editableLevel)) |
| 723 return true; | 721 return true; |
| 724 | 722 |
| 725 // FIXME: Respect editableLevel for ARIA editable elements. | 723 // FIXME: Respect editableLevel for ARIA editable elements. |
| 726 if (editableLevel == RichlyEditable) | 724 if (editableLevel == RichlyEditable) |
| 727 return false; | 725 return false; |
| 728 | 726 |
| 729 ASSERT(document()); | 727 ASSERT(document()); |
| 730 ASSERT(AXObjectCache::accessibilityEnabled()); | 728 ASSERT(AXObjectCache::accessibilityEnabled()); |
| 731 ASSERT(document()->existingAXObjectCache()); | 729 ASSERT(document()->axObjectCacheExists()); |
| 732 | 730 |
| 733 if (document()) { | 731 if (document() && AXObjectCache::accessibilityEnabled() && document()->axObj
ectCacheExists()) |
| 734 if (AXObjectCache* cache = document()->existingAXObjectCache()) | 732 return document()->axObjectCache()->rootAXEditableElement(this); |
| 735 return cache->rootAXEditableElement(this); | |
| 736 } | |
| 737 | 733 |
| 738 return false; | 734 return false; |
| 739 } | 735 } |
| 740 | 736 |
| 741 bool Node::shouldUseInputMethod() | 737 bool Node::shouldUseInputMethod() |
| 742 { | 738 { |
| 743 return isContentEditable(UserSelectAllIsAlwaysNonEditable); | 739 return isContentEditable(UserSelectAllIsAlwaysNonEditable); |
| 744 } | 740 } |
| 745 | 741 |
| 746 RenderBox* Node::renderBox() const | 742 RenderBox* Node::renderBox() const |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1079 // because it won't affect the result of Text::textRendererIsNeeded(
) for the rest | 1075 // because it won't affect the result of Text::textRendererIsNeeded(
) for the rest |
| 1080 // of sibling nodes. | 1076 // of sibling nodes. |
| 1081 if (!next->renderer()) | 1077 if (!next->renderer()) |
| 1082 break; | 1078 break; |
| 1083 } | 1079 } |
| 1084 } | 1080 } |
| 1085 | 1081 |
| 1086 setAttached(); | 1082 setAttached(); |
| 1087 clearNeedsStyleRecalc(); | 1083 clearNeedsStyleRecalc(); |
| 1088 | 1084 |
| 1089 if (Document* doc = documentInternal()) { | 1085 Document* doc = documentInternal(); |
| 1090 if (AXObjectCache* cache = doc->axObjectCache()) | 1086 if (AXObjectCache::accessibilityEnabled() && doc && doc->axObjectCacheExists
()) |
| 1091 cache->updateCacheAfterNodeIsAttached(this); | 1087 doc->axObjectCache()->updateCacheAfterNodeIsAttached(this); |
| 1092 } | |
| 1093 } | 1088 } |
| 1094 | 1089 |
| 1095 #ifndef NDEBUG | 1090 #ifndef NDEBUG |
| 1096 static Node* detachingNode; | 1091 static Node* detachingNode; |
| 1097 | 1092 |
| 1098 bool Node::inDetach() const | 1093 bool Node::inDetach() const |
| 1099 { | 1094 { |
| 1100 return detachingNode == this; | 1095 return detachingNode == this; |
| 1101 } | 1096 } |
| 1102 #endif | 1097 #endif |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1303 } | 1298 } |
| 1304 | 1299 |
| 1305 bool Node::isRootEditableElement() const | 1300 bool Node::isRootEditableElement() const |
| 1306 { | 1301 { |
| 1307 return rendererIsEditable() && isElementNode() && (!parentNode() || !parentN
ode()->rendererIsEditable() | 1302 return rendererIsEditable() && isElementNode() && (!parentNode() || !parentN
ode()->rendererIsEditable() |
| 1308 || !parentNode()->isElementNode() || hasTagName(bodyTag)); | 1303 || !parentNode()->isElementNode() || hasTagName(bodyTag)); |
| 1309 } | 1304 } |
| 1310 | 1305 |
| 1311 Element* Node::rootEditableElement(EditableType editableType) const | 1306 Element* Node::rootEditableElement(EditableType editableType) const |
| 1312 { | 1307 { |
| 1313 if (editableType == HasEditableAXRole) { | 1308 if (editableType == HasEditableAXRole) |
| 1314 if (AXObjectCache* cache = document()->existingAXObjectCache()) | 1309 return const_cast<Element*>(document()->axObjectCache()->rootAXEditableE
lement(this)); |
| 1315 return const_cast<Element*>(cache->rootAXEditableElement(this)); | 1310 |
| 1316 } | |
| 1317 | |
| 1318 return rootEditableElement(); | 1311 return rootEditableElement(); |
| 1319 } | 1312 } |
| 1320 | 1313 |
| 1321 Element* Node::rootEditableElement() const | 1314 Element* Node::rootEditableElement() const |
| 1322 { | 1315 { |
| 1323 Element* result = 0; | 1316 Element* result = 0; |
| 1324 for (Node* n = const_cast<Node*>(this); n && n->rendererIsEditable(); n = n-
>parentNode()) { | 1317 for (Node* n = const_cast<Node*>(this); n && n->rendererIsEditable(); n = n-
>parentNode()) { |
| 1325 if (n->isElementNode()) | 1318 if (n->isElementNode()) |
| 1326 result = toElement(n); | 1319 result = toElement(n); |
| 1327 if (n->hasTagName(bodyTag)) | 1320 if (n->hasTagName(bodyTag)) |
| (...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2085 | 2078 |
| 2086 ScriptExecutionContext* Node::scriptExecutionContext() const | 2079 ScriptExecutionContext* Node::scriptExecutionContext() const |
| 2087 { | 2080 { |
| 2088 return document(); | 2081 return document(); |
| 2089 } | 2082 } |
| 2090 | 2083 |
| 2091 void Node::didMoveToNewDocument(Document* oldDocument) | 2084 void Node::didMoveToNewDocument(Document* oldDocument) |
| 2092 { | 2085 { |
| 2093 TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled(oldDocument); | 2086 TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled(oldDocument); |
| 2094 | 2087 |
| 2095 if (AXObjectCache::accessibilityEnabled() && oldDocument) | 2088 if (AXObjectCache::accessibilityEnabled() && oldDocument && oldDocument->axO
bjectCacheExists()) |
| 2096 if (AXObjectCache* cache = oldDocument->existingAXObjectCache()) | 2089 oldDocument->axObjectCache()->remove(this); |
| 2097 cache->remove(this); | |
| 2098 | 2090 |
| 2099 // FIXME: Event listener types for this node should be set on the new owner
document here. | 2091 // FIXME: Event listener types for this node should be set on the new owner
document here. |
| 2100 | 2092 |
| 2101 const EventListenerVector& wheelListeners = getEventListeners(eventNames().m
ousewheelEvent); | 2093 const EventListenerVector& wheelListeners = getEventListeners(eventNames().m
ousewheelEvent); |
| 2102 for (size_t i = 0; i < wheelListeners.size(); ++i) { | 2094 for (size_t i = 0; i < wheelListeners.size(); ++i) { |
| 2103 oldDocument->didRemoveWheelEventHandler(); | 2095 oldDocument->didRemoveWheelEventHandler(); |
| 2104 document()->didAddWheelEventHandler(); | 2096 document()->didAddWheelEventHandler(); |
| 2105 } | 2097 } |
| 2106 | 2098 |
| 2107 Vector<AtomicString> touchEventNames = eventNames().touchEventNames(); | 2099 Vector<AtomicString> touchEventNames = eventNames().touchEventNames(); |
| (...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2756 node->showTreeForThis(); | 2748 node->showTreeForThis(); |
| 2757 } | 2749 } |
| 2758 | 2750 |
| 2759 void showNodePath(const WebCore::Node* node) | 2751 void showNodePath(const WebCore::Node* node) |
| 2760 { | 2752 { |
| 2761 if (node) | 2753 if (node) |
| 2762 node->showNodePathForThis(); | 2754 node->showNodePathForThis(); |
| 2763 } | 2755 } |
| 2764 | 2756 |
| 2765 #endif | 2757 #endif |
| OLD | NEW |