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

Side by Side Diff: third_party/WebKit/Source/core/dom/custom/CustomElement.h

Issue 2043153003: Implement "create an element" when async for Custom Element V1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CustomElement_h 5 #ifndef CustomElement_h
6 #define CustomElement_h 6 #define CustomElement_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/HTMLNames.h" 9 #include "core/HTMLNames.h"
10 #include "core/dom/Element.h" 10 #include "core/dom/Element.h"
11 #include "wtf/Allocator.h" 11 #include "wtf/Allocator.h"
12 #include "wtf/text/AtomicString.h" 12 #include "wtf/text/AtomicString.h"
13 13
14 namespace blink { 14 namespace blink {
15 15
16 class Document; 16 class Document;
17 class Element; 17 class Element;
18 class HTMLElement; 18 class HTMLElement;
19 class QualifiedName; 19 class QualifiedName;
20 class CustomElementDefinition; 20 class CustomElementDefinition;
21 class CustomElementRegistry; 21 class CustomElementRegistry;
22 22
23 class CORE_EXPORT CustomElement { 23 class CORE_EXPORT CustomElement {
24 STATIC_ONLY(CustomElement); 24 STATIC_ONLY(CustomElement);
25 public: 25 public:
26 // Retrieves the CustomElementsRegistry for Element, if any. This 26 // Retrieves the CustomElementsRegistry for Element, if any. This
27 // may be a different object for a given element over its lifetime 27 // may be a different object for a given element over its lifetime
28 // as it moves between documents. 28 // as it moves between documents.
29 static CustomElementsRegistry* registry(const Element&); 29 static CustomElementsRegistry* registry(const Element&);
30 static CustomElementsRegistry* registry(const Document&);
30 31
31 // Returns true if element could possibly match a custom element 32 // Returns true if element could possibly match a custom element
32 // descriptor *now*. See CustomElementDescriptor::matches for the 33 // descriptor *now*. See CustomElementDescriptor::matches for the
33 // meaning of "match". Custom element processing which depends on 34 // meaning of "match". Custom element processing which depends on
34 // matching a descriptor, such as upgrade, can be skipped for 35 // matching a descriptor, such as upgrade, can be skipped for
35 // elements that fail this test. 36 // elements that fail this test.
36 // 37 //
37 // Although this result is currently constant for a given element, 38 // Although this result is currently constant for a given element,
38 // when customized built-in elements are implemented the result 39 // when customized built-in elements are implemented the result
39 // will depend on the value of the 'is' attribute. In addition, 40 // will depend on the value of the 'is' attribute. In addition,
(...skipping 10 matching lines...) Expand all
50 51
51 static bool isValidName(const AtomicString& name); 52 static bool isValidName(const AtomicString& name);
52 53
53 static bool shouldCreateCustomElement(Document&, const AtomicString& localNa me); 54 static bool shouldCreateCustomElement(Document&, const AtomicString& localNa me);
54 static bool shouldCreateCustomElement(Document&, const QualifiedName&); 55 static bool shouldCreateCustomElement(Document&, const QualifiedName&);
55 56
56 static HTMLElement* createCustomElement(Document&, const AtomicString& local Name, CreateElementFlags); 57 static HTMLElement* createCustomElement(Document&, const AtomicString& local Name, CreateElementFlags);
57 static HTMLElement* createCustomElement(Document&, const QualifiedName&, Cre ateElementFlags); 58 static HTMLElement* createCustomElement(Document&, const QualifiedName&, Cre ateElementFlags);
58 59
59 static void enqueueUpgradeReaction(Element*, CustomElementDefinition*); 60 static void enqueueUpgradeReaction(Element*, CustomElementDefinition*);
61
62 private:
63 static HTMLElement* createCustomElementAsync(Document&, CustomElementDefinit ion&, const QualifiedName&);
60 }; 64 };
61 65
62 } // namespace blink 66 } // namespace blink
63 67
64 #endif // CustomElement_h 68 #endif // CustomElement_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/dom/Node.idl ('k') | third_party/WebKit/Source/core/dom/custom/CustomElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698