Chromium Code Reviews| 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 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved. | 
| 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) | 
| 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 
| 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 
| 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 
| (...skipping 1519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1530 Settings* Document::settings() const | 1530 Settings* Document::settings() const | 
| 1531 { | 1531 { | 
| 1532 return m_frame ? m_frame->settings() : 0; | 1532 return m_frame ? m_frame->settings() : 0; | 
| 1533 } | 1533 } | 
| 1534 | 1534 | 
| 1535 PassRefPtrWillBeRawPtr<Range> Document::createRange() | 1535 PassRefPtrWillBeRawPtr<Range> Document::createRange() | 
| 1536 { | 1536 { | 
| 1537 return Range::create(*this); | 1537 return Range::create(*this); | 
| 1538 } | 1538 } | 
| 1539 | 1539 | 
| 1540 PassRefPtr<NodeIterator> Document::createNodeIterator(Node* root, ExceptionState & exceptionState) | 1540 PassRefPtrWillBeRawPtr<NodeIterator> Document::createNodeIterator(Node* root, Ex ceptionState& exceptionState) | 
| 1541 { | 1541 { | 
| 1542 // FIXME: Probably this should be handled within the bindings layer and Type Error should be thrown. | 1542 // FIXME: Probably this should be handled within the bindings layer and Type Error should be thrown. | 
| 1543 if (!root) { | 1543 if (!root) { | 
| 1544 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 1544 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 
| 1545 return nullptr; | 1545 return nullptr; | 
| 1546 } | 1546 } | 
| 1547 return NodeIterator::create(root, NodeFilter::SHOW_ALL, PassRefPtr<NodeFilte r>()); | 1547 return NodeIterator::create(root, NodeFilter::SHOW_ALL, PassRefPtrWillBeRawP tr<NodeFilter>(nullptr)); | 
| 
 
haraken
2014/05/18 08:45:48
Doesn't just 'nullptr' work? The same comment for
 
sof
2014/05/18 17:19:24
Yes, the compiler doesn't need our explicit guidan
 
 | |
| 1548 } | 1548 } | 
| 1549 | 1549 | 
| 1550 PassRefPtr<NodeIterator> Document::createNodeIterator(Node* root, unsigned whatT oShow, ExceptionState& exceptionState) | 1550 PassRefPtrWillBeRawPtr<NodeIterator> Document::createNodeIterator(Node* root, un signed whatToShow, ExceptionState& exceptionState) | 
| 1551 { | 1551 { | 
| 1552 if (!root) { | 1552 if (!root) { | 
| 1553 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 1553 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 
| 1554 return nullptr; | 1554 return nullptr; | 
| 1555 } | 1555 } | 
| 1556 // FIXME: It might be a good idea to emit a warning if |whatToShow| contains a bit that is not defined in | 1556 // FIXME: It might be a good idea to emit a warning if |whatToShow| contains a bit that is not defined in | 
| 1557 // NodeFilter. | 1557 // NodeFilter. | 
| 1558 return NodeIterator::create(root, whatToShow, PassRefPtr<NodeFilter>()); | 1558 return NodeIterator::create(root, whatToShow, PassRefPtrWillBeRawPtr<NodeFil ter>(nullptr)); | 
| 1559 } | 1559 } | 
| 1560 | 1560 | 
| 1561 PassRefPtr<NodeIterator> Document::createNodeIterator(Node* root, unsigned whatT oShow, PassRefPtr<NodeFilter> filter, ExceptionState& exceptionState) | 1561 PassRefPtrWillBeRawPtr<NodeIterator> Document::createNodeIterator(Node* root, un signed whatToShow, PassRefPtrWillBeRawPtr<NodeFilter> filter, ExceptionState& ex ceptionState) | 
| 1562 { | 1562 { | 
| 1563 if (!root) { | 1563 if (!root) { | 
| 1564 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 1564 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 
| 1565 return nullptr; | 1565 return nullptr; | 
| 1566 } | 1566 } | 
| 1567 // FIXME: Ditto. | 1567 // FIXME: Ditto. | 
| 1568 return NodeIterator::create(root, whatToShow, filter); | 1568 return NodeIterator::create(root, whatToShow, filter); | 
| 1569 } | 1569 } | 
| 1570 | 1570 | 
| 1571 PassRefPtr<TreeWalker> Document::createTreeWalker(Node* root, ExceptionState& ex ceptionState) | 1571 PassRefPtrWillBeRawPtr<TreeWalker> Document::createTreeWalker(Node* root, Except ionState& exceptionState) | 
| 1572 { | 1572 { | 
| 1573 if (!root) { | 1573 if (!root) { | 
| 1574 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 1574 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 
| 1575 return nullptr; | 1575 return nullptr; | 
| 1576 } | 1576 } | 
| 1577 return TreeWalker::create(root, NodeFilter::SHOW_ALL, PassRefPtr<NodeFilter> ()); | 1577 return TreeWalker::create(root, NodeFilter::SHOW_ALL, PassRefPtrWillBeRawPtr <NodeFilter>(nullptr)); | 
| 1578 } | 1578 } | 
| 1579 | 1579 | 
| 1580 PassRefPtr<TreeWalker> Document::createTreeWalker(Node* root, unsigned whatToSho w, ExceptionState& exceptionState) | 1580 PassRefPtrWillBeRawPtr<TreeWalker> Document::createTreeWalker(Node* root, unsign ed whatToShow, ExceptionState& exceptionState) | 
| 1581 { | 1581 { | 
| 1582 if (!root) { | 1582 if (!root) { | 
| 1583 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 1583 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 
| 1584 return nullptr; | 1584 return nullptr; | 
| 1585 } | 1585 } | 
| 1586 return TreeWalker::create(root, whatToShow, PassRefPtr<NodeFilter>()); | 1586 return TreeWalker::create(root, whatToShow, PassRefPtrWillBeRawPtr<NodeFilte r>(nullptr)); | 
| 1587 } | 1587 } | 
| 1588 | 1588 | 
| 1589 PassRefPtr<TreeWalker> Document::createTreeWalker(Node* root, unsigned whatToSho w, PassRefPtr<NodeFilter> filter, ExceptionState& exceptionState) | 1589 PassRefPtrWillBeRawPtr<TreeWalker> Document::createTreeWalker(Node* root, unsign ed whatToShow, PassRefPtrWillBeRawPtr<NodeFilter> filter, ExceptionState& except ionState) | 
| 1590 { | 1590 { | 
| 1591 if (!root) { | 1591 if (!root) { | 
| 1592 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 1592 exceptionState.throwDOMException(NotSupportedError, ExceptionMessages::a rgumentNullOrIncorrectType(1, "Node")); | 
| 1593 return nullptr; | 1593 return nullptr; | 
| 1594 } | 1594 } | 
| 1595 return TreeWalker::create(root, whatToShow, filter); | 1595 return TreeWalker::create(root, whatToShow, filter); | 
| 1596 } | 1596 } | 
| 1597 | 1597 | 
| 1598 bool Document::needsRenderTreeUpdate() const | 1598 bool Document::needsRenderTreeUpdate() const | 
| 1599 { | 1599 { | 
| (...skipping 2120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3720 | 3720 | 
| 3721 void Document::detachNodeIterator(NodeIterator* ni) | 3721 void Document::detachNodeIterator(NodeIterator* ni) | 
| 3722 { | 3722 { | 
| 3723 // The node iterator can be detached without having been attached if its roo t node didn't have a document | 3723 // The node iterator can be detached without having been attached if its roo t node didn't have a document | 
| 3724 // when the iterator was created, but has it now. | 3724 // when the iterator was created, but has it now. | 
| 3725 m_nodeIterators.remove(ni); | 3725 m_nodeIterators.remove(ni); | 
| 3726 } | 3726 } | 
| 3727 | 3727 | 
| 3728 void Document::moveNodeIteratorsToNewDocument(Node& node, Document& newDocument) | 3728 void Document::moveNodeIteratorsToNewDocument(Node& node, Document& newDocument) | 
| 3729 { | 3729 { | 
| 3730 HashSet<NodeIterator*> nodeIteratorsList = m_nodeIterators; | 3730 WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator> > nodeIteratorsList = m_nodeIterators; | 
| 3731 HashSet<NodeIterator*>::const_iterator nodeIteratorsEnd = nodeIteratorsList. end(); | 3731 WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator> >::const_iterator nod eIteratorsEnd = nodeIteratorsList.end(); | 
| 3732 for (HashSet<NodeIterator*>::const_iterator it = nodeIteratorsList.begin(); it != nodeIteratorsEnd; ++it) { | 3732 for (WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator> >::const_iterato r it = nodeIteratorsList.begin(); it != nodeIteratorsEnd; ++it) { | 
| 3733 if ((*it)->root() == node) { | 3733 if ((*it)->root() == node) { | 
| 3734 detachNodeIterator(*it); | 3734 detachNodeIterator(*it); | 
| 3735 newDocument.attachNodeIterator(*it); | 3735 newDocument.attachNodeIterator(*it); | 
| 3736 } | 3736 } | 
| 3737 } | 3737 } | 
| 3738 } | 3738 } | 
| 3739 | 3739 | 
| 3740 void Document::updateRangesAfterChildrenChanged(ContainerNode* container) | 3740 void Document::updateRangesAfterChildrenChanged(ContainerNode* container) | 
| 3741 { | 3741 { | 
| 3742 if (!m_ranges.isEmpty()) { | 3742 if (!m_ranges.isEmpty()) { | 
| 3743 HashSet<Range*>::const_iterator end = m_ranges.end(); | 3743 HashSet<Range*>::const_iterator end = m_ranges.end(); | 
| 3744 for (HashSet<Range*>::const_iterator it = m_ranges.begin(); it != end; + +it) | 3744 for (HashSet<Range*>::const_iterator it = m_ranges.begin(); it != end; + +it) | 
| 3745 (*it)->nodeChildrenChanged(container); | 3745 (*it)->nodeChildrenChanged(container); | 
| 3746 } | 3746 } | 
| 3747 } | 3747 } | 
| 3748 | 3748 | 
| 3749 void Document::nodeChildrenWillBeRemoved(ContainerNode& container) | 3749 void Document::nodeChildrenWillBeRemoved(ContainerNode& container) | 
| 3750 { | 3750 { | 
| 3751 NoEventDispatchAssertion assertNoEventDispatch; | 3751 NoEventDispatchAssertion assertNoEventDispatch; | 
| 3752 if (!m_ranges.isEmpty()) { | 3752 if (!m_ranges.isEmpty()) { | 
| 3753 HashSet<Range*>::const_iterator end = m_ranges.end(); | 3753 HashSet<Range*>::const_iterator end = m_ranges.end(); | 
| 3754 for (HashSet<Range*>::const_iterator it = m_ranges.begin(); it != end; + +it) | 3754 for (HashSet<Range*>::const_iterator it = m_ranges.begin(); it != end; + +it) | 
| 3755 (*it)->nodeChildrenWillBeRemoved(container); | 3755 (*it)->nodeChildrenWillBeRemoved(container); | 
| 3756 } | 3756 } | 
| 3757 | 3757 | 
| 3758 HashSet<NodeIterator*>::const_iterator nodeIteratorsEnd = m_nodeIterators.en d(); | 3758 WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator> >::const_iterator nod eIteratorsEnd = m_nodeIterators.end(); | 
| 3759 for (HashSet<NodeIterator*>::const_iterator it = m_nodeIterators.begin(); it != nodeIteratorsEnd; ++it) { | 3759 for (WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator> >::const_iterato r it = m_nodeIterators.begin(); it != nodeIteratorsEnd; ++it) { | 
| 3760 for (Node* n = container.firstChild(); n; n = n->nextSibling()) | 3760 for (Node* n = container.firstChild(); n; n = n->nextSibling()) | 
| 3761 (*it)->nodeWillBeRemoved(*n); | 3761 (*it)->nodeWillBeRemoved(*n); | 
| 3762 } | 3762 } | 
| 3763 | 3763 | 
| 3764 if (LocalFrame* frame = this->frame()) { | 3764 if (LocalFrame* frame = this->frame()) { | 
| 3765 for (Node* n = container.firstChild(); n; n = n->nextSibling()) { | 3765 for (Node* n = container.firstChild(); n; n = n->nextSibling()) { | 
| 3766 frame->eventHandler().nodeWillBeRemoved(*n); | 3766 frame->eventHandler().nodeWillBeRemoved(*n); | 
| 3767 frame->selection().nodeWillBeRemoved(*n); | 3767 frame->selection().nodeWillBeRemoved(*n); | 
| 3768 frame->page()->dragCaretController().nodeWillBeRemoved(*n); | 3768 frame->page()->dragCaretController().nodeWillBeRemoved(*n); | 
| 3769 } | 3769 } | 
| 3770 } | 3770 } | 
| 3771 } | 3771 } | 
| 3772 | 3772 | 
| 3773 void Document::nodeWillBeRemoved(Node& n) | 3773 void Document::nodeWillBeRemoved(Node& n) | 
| 3774 { | 3774 { | 
| 3775 HashSet<NodeIterator*>::const_iterator nodeIteratorsEnd = m_nodeIterators.en d(); | 3775 WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator> >::const_iterator nod eIteratorsEnd = m_nodeIterators.end(); | 
| 3776 for (HashSet<NodeIterator*>::const_iterator it = m_nodeIterators.begin(); it != nodeIteratorsEnd; ++it) | 3776 for (WillBeHeapHashSet<RawPtrWillBeWeakMember<NodeIterator> >::const_iterato r it = m_nodeIterators.begin(); it != nodeIteratorsEnd; ++it) | 
| 3777 (*it)->nodeWillBeRemoved(n); | 3777 (*it)->nodeWillBeRemoved(n); | 
| 3778 | 3778 | 
| 3779 if (!m_ranges.isEmpty()) { | 3779 if (!m_ranges.isEmpty()) { | 
| 3780 HashSet<Range*>::const_iterator rangesEnd = m_ranges.end(); | 3780 HashSet<Range*>::const_iterator rangesEnd = m_ranges.end(); | 
| 3781 for (HashSet<Range*>::const_iterator it = m_ranges.begin(); it != ranges End; ++it) | 3781 for (HashSet<Range*>::const_iterator it = m_ranges.begin(); it != ranges End; ++it) | 
| 3782 (*it)->nodeWillBeRemoved(n); | 3782 (*it)->nodeWillBeRemoved(n); | 
| 3783 } | 3783 } | 
| 3784 | 3784 | 
| 3785 if (LocalFrame* frame = this->frame()) { | 3785 if (LocalFrame* frame = this->frame()) { | 
| 3786 frame->eventHandler().nodeWillBeRemoved(n); | 3786 frame->eventHandler().nodeWillBeRemoved(n); | 
| (...skipping 1923 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5710 visitor->trace(m_hoverNode); | 5710 visitor->trace(m_hoverNode); | 
| 5711 visitor->trace(m_activeHoverElement); | 5711 visitor->trace(m_activeHoverElement); | 
| 5712 visitor->trace(m_documentElement); | 5712 visitor->trace(m_documentElement); | 
| 5713 visitor->trace(m_titleElement); | 5713 visitor->trace(m_titleElement); | 
| 5714 visitor->trace(m_markers); | 5714 visitor->trace(m_markers); | 
| 5715 visitor->trace(m_currentScriptStack); | 5715 visitor->trace(m_currentScriptStack); | 
| 5716 visitor->trace(m_transformSourceDocument); | 5716 visitor->trace(m_transformSourceDocument); | 
| 5717 visitor->trace(m_cssCanvasElements); | 5717 visitor->trace(m_cssCanvasElements); | 
| 5718 visitor->trace(m_topLayerElements); | 5718 visitor->trace(m_topLayerElements); | 
| 5719 visitor->trace(m_elemSheet); | 5719 visitor->trace(m_elemSheet); | 
| 5720 visitor->trace(m_nodeIterators); | |
| 5720 visitor->trace(m_styleEngine); | 5721 visitor->trace(m_styleEngine); | 
| 5721 visitor->trace(m_formController); | 5722 visitor->trace(m_formController); | 
| 5722 visitor->trace(m_fetcher); | 5723 visitor->trace(m_fetcher); | 
| 5723 visitor->trace(m_contextFeatures); | 5724 visitor->trace(m_contextFeatures); | 
| 5724 visitor->trace(m_styleSheetList); | 5725 visitor->trace(m_styleSheetList); | 
| 5725 visitor->trace(m_mediaQueryMatcher); | 5726 visitor->trace(m_mediaQueryMatcher); | 
| 5726 visitor->trace(m_associatedFormControls); | 5727 visitor->trace(m_associatedFormControls); | 
| 5727 visitor->trace(m_templateDocument); | 5728 visitor->trace(m_templateDocument); | 
| 5728 visitor->trace(m_templateDocumentHost); | 5729 visitor->trace(m_templateDocumentHost); | 
| 5729 visitor->trace(m_visibilityObservers); | 5730 visitor->trace(m_visibilityObservers); | 
| 5730 visitor->trace(m_userActionElements); | 5731 visitor->trace(m_userActionElements); | 
| 5731 visitor->trace(m_svgExtensions); | 5732 visitor->trace(m_svgExtensions); | 
| 5732 visitor->registerWeakMembers<Document, &Document::clearWeakMembers>(this); | 5733 visitor->registerWeakMembers<Document, &Document::clearWeakMembers>(this); | 
| 5733 DocumentSupplementable::trace(visitor); | 5734 DocumentSupplementable::trace(visitor); | 
| 5734 TreeScope::trace(visitor); | 5735 TreeScope::trace(visitor); | 
| 5735 ContainerNode::trace(visitor); | 5736 ContainerNode::trace(visitor); | 
| 5736 ExecutionContext::trace(visitor); | 5737 ExecutionContext::trace(visitor); | 
| 5737 } | 5738 } | 
| 5738 | 5739 | 
| 5739 } // namespace WebCore | 5740 } // namespace WebCore | 
| OLD | NEW |