Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: sky/engine/core/dom/Document.cpp

Issue 697773002: Remove Element#attributes. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: fix template binding. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sky/engine/core/dom/Attr.idl ('k') | sky/engine/core/dom/Element.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 if (deep) { 646 if (deep) {
647 if (!importContainerNodeChildren(oldElement, newElement, exceptionSt ate)) 647 if (!importContainerNodeChildren(oldElement, newElement, exceptionSt ate))
648 return nullptr; 648 return nullptr;
649 if (isHTMLTemplateElement(*oldElement) 649 if (isHTMLTemplateElement(*oldElement)
650 && !importContainerNodeChildren(toHTMLTemplateElement(oldElement )->content(), toHTMLTemplateElement(newElement)->content(), exceptionState)) 650 && !importContainerNodeChildren(toHTMLTemplateElement(oldElement )->content(), toHTMLTemplateElement(newElement)->content(), exceptionState))
651 return nullptr; 651 return nullptr;
652 } 652 }
653 653
654 return newElement.release(); 654 return newElement.release();
655 } 655 }
656 case ATTRIBUTE_NODE:
657 exceptionState.throwDOMException(NotSupportedError, "Cannot clone an Att r.");
658 return nullptr;
659 case DOCUMENT_FRAGMENT_NODE: { 656 case DOCUMENT_FRAGMENT_NODE: {
660 if (importedNode->isShadowRoot()) { 657 if (importedNode->isShadowRoot()) {
661 // ShadowRoot nodes should not be explicitly importable. 658 // ShadowRoot nodes should not be explicitly importable.
662 // Either they are imported along with their host node, or created i mplicitly. 659 // Either they are imported along with their host node, or created i mplicitly.
663 exceptionState.throwDOMException(NotSupportedError, "The node provid ed is a shadow root, which may not be imported."); 660 exceptionState.throwDOMException(NotSupportedError, "The node provid ed is a shadow root, which may not be imported.");
664 return nullptr; 661 return nullptr;
665 } 662 }
666 DocumentFragment* oldFragment = toDocumentFragment(importedNode); 663 DocumentFragment* oldFragment = toDocumentFragment(importedNode);
667 RefPtr<DocumentFragment> newFragment = createDocumentFragment(); 664 RefPtr<DocumentFragment> newFragment = createDocumentFragment();
668 if (deep && !importContainerNodeChildren(oldFragment, newFragment, excep tionState)) 665 if (deep && !importContainerNodeChildren(oldFragment, newFragment, excep tionState))
(...skipping 11 matching lines...) Expand all
680 } 677 }
681 678
682 PassRefPtr<Node> Document::adoptNode(PassRefPtr<Node> source, ExceptionState& ex ceptionState) 679 PassRefPtr<Node> Document::adoptNode(PassRefPtr<Node> source, ExceptionState& ex ceptionState)
683 { 680 {
684 EventQueueScope scope; 681 EventQueueScope scope;
685 682
686 switch (source->nodeType()) { 683 switch (source->nodeType()) {
687 case DOCUMENT_NODE: 684 case DOCUMENT_NODE:
688 exceptionState.throwDOMException(NotSupportedError, "The node provided i s of type '" + source->nodeName() + "', which may not be adopted."); 685 exceptionState.throwDOMException(NotSupportedError, "The node provided i s of type '" + source->nodeName() + "', which may not be adopted.");
689 return nullptr; 686 return nullptr;
690 case ATTRIBUTE_NODE: {
691 exceptionState.throwDOMException(NotSupportedError, "Cannot adopt Attr." );
692 break;
693 }
694 default: 687 default:
695 if (source->isShadowRoot()) { 688 if (source->isShadowRoot()) {
696 // ShadowRoot cannot disconnect itself from the host node. 689 // ShadowRoot cannot disconnect itself from the host node.
697 exceptionState.throwDOMException(HierarchyRequestError, "The node pr ovided is a shadow root, which may not be adopted."); 690 exceptionState.throwDOMException(HierarchyRequestError, "The node pr ovided is a shadow root, which may not be adopted.");
698 return nullptr; 691 return nullptr;
699 } 692 }
700 693
701 if (source->parentNode()) { 694 if (source->parentNode()) {
702 source->parentNode()->removeChild(source.get(), exceptionState); 695 source->parentNode()->removeChild(source.get(), exceptionState);
703 if (exceptionState.hadException()) 696 if (exceptionState.hadException())
(...skipping 1110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1814 if (!request.readOnly()) 1807 if (!request.readOnly())
1815 updateHoverActiveState(request, result.innerElement(), &event); 1808 updateHoverActiveState(request, result.innerElement(), &event);
1816 1809
1817 return MouseEventWithHitTestResults(event, result); 1810 return MouseEventWithHitTestResults(event, result);
1818 } 1811 }
1819 1812
1820 // DOM Section 1.1.1 1813 // DOM Section 1.1.1
1821 bool Document::childTypeAllowed(NodeType type) const 1814 bool Document::childTypeAllowed(NodeType type) const
1822 { 1815 {
1823 switch (type) { 1816 switch (type) {
1824 case ATTRIBUTE_NODE:
1825 case DOCUMENT_FRAGMENT_NODE: 1817 case DOCUMENT_FRAGMENT_NODE:
1826 case DOCUMENT_NODE: 1818 case DOCUMENT_NODE:
1827 case TEXT_NODE: 1819 case TEXT_NODE:
1828 return false; 1820 return false;
1829 case ELEMENT_NODE: 1821 case ELEMENT_NODE:
1830 // Documents may contain no more than one of each of these. 1822 // Documents may contain no more than one of each of these.
1831 // (One Element and one DocumentType.) 1823 // (One Element and one DocumentType.)
1832 for (Node* c = firstChild(); c; c = c->nextSibling()) 1824 for (Node* c = firstChild(); c; c = c->nextSibling())
1833 if (c->nodeType() == type) 1825 if (c->nodeType() == type)
1834 return false; 1826 return false;
(...skipping 21 matching lines...) Expand all
1856 break; 1848 break;
1857 default: 1849 default:
1858 break; 1850 break;
1859 } 1851 }
1860 } 1852 }
1861 1853
1862 // Then, see how many doctypes and elements might be added by the new child. 1854 // Then, see how many doctypes and elements might be added by the new child.
1863 if (newChild.isDocumentFragment()) { 1855 if (newChild.isDocumentFragment()) {
1864 for (Node* c = toDocumentFragment(newChild).firstChild(); c; c = c->next Sibling()) { 1856 for (Node* c = toDocumentFragment(newChild).firstChild(); c; c = c->next Sibling()) {
1865 switch (c->nodeType()) { 1857 switch (c->nodeType()) {
1866 case ATTRIBUTE_NODE:
1867 case DOCUMENT_FRAGMENT_NODE: 1858 case DOCUMENT_FRAGMENT_NODE:
1868 case DOCUMENT_NODE: 1859 case DOCUMENT_NODE:
1869 case TEXT_NODE: 1860 case TEXT_NODE:
1870 return false; 1861 return false;
1871 case ELEMENT_NODE: 1862 case ELEMENT_NODE:
1872 numElements++; 1863 numElements++;
1873 break; 1864 break;
1874 } 1865 }
1875 } 1866 }
1876 } else { 1867 } else {
1877 switch (newChild.nodeType()) { 1868 switch (newChild.nodeType()) {
1878 case ATTRIBUTE_NODE:
1879 case DOCUMENT_FRAGMENT_NODE: 1869 case DOCUMENT_FRAGMENT_NODE:
1880 case DOCUMENT_NODE: 1870 case DOCUMENT_NODE:
1881 case TEXT_NODE: 1871 case TEXT_NODE:
1882 return false; 1872 return false;
1883 case ELEMENT_NODE: 1873 case ELEMENT_NODE:
1884 numElements++; 1874 numElements++;
1885 break; 1875 break;
1886 } 1876 }
1887 } 1877 }
1888 1878
(...skipping 1240 matching lines...) Expand 10 before | Expand all | Expand 10 after
3129 using namespace blink; 3119 using namespace blink;
3130 void showLiveDocumentInstances() 3120 void showLiveDocumentInstances()
3131 { 3121 {
3132 WeakDocumentSet& set = liveDocumentSet(); 3122 WeakDocumentSet& set = liveDocumentSet();
3133 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); 3123 fprintf(stderr, "There are %u documents currently alive:\n", set.size());
3134 for (WeakDocumentSet::const_iterator it = set.begin(); it != set.end(); ++it ) { 3124 for (WeakDocumentSet::const_iterator it = set.begin(); it != set.end(); ++it ) {
3135 fprintf(stderr, "- Document %p URL: %s\n", *it, (*it)->url().string().ut f8().data()); 3125 fprintf(stderr, "- Document %p URL: %s\n", *it, (*it)->url().string().ut f8().data());
3136 } 3126 }
3137 } 3127 }
3138 #endif 3128 #endif
OLDNEW
« no previous file with comments | « sky/engine/core/dom/Attr.idl ('k') | sky/engine/core/dom/Element.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698