| Index: third_party/WebKit/Source/bindings/core/v8/ScriptCustomElementDefinition.h
|
| diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptCustomElementDefinition.h b/third_party/WebKit/Source/bindings/core/v8/ScriptCustomElementDefinition.h
|
| index 8d8cdd4be35f38cca3880114de36dd06b0f2603e..c8d7301f0e8b87f6b1d8dc07cdbe5765ffaa94b6 100644
|
| --- a/third_party/WebKit/Source/bindings/core/v8/ScriptCustomElementDefinition.h
|
| +++ b/third_party/WebKit/Source/bindings/core/v8/ScriptCustomElementDefinition.h
|
| @@ -10,11 +10,8 @@
|
| #include "core/CoreExport.h"
|
| #include "core/dom/custom/CustomElementDefinition.h"
|
| #include "v8.h"
|
| -#include "wtf/HashSet.h"
|
| #include "wtf/Noncopyable.h"
|
| #include "wtf/RefPtr.h"
|
| -#include "wtf/text/AtomicString.h"
|
| -#include "wtf/text/AtomicStringHash.h"
|
|
|
| namespace blink {
|
|
|
| @@ -36,9 +33,9 @@ public:
|
| const CustomElementDescriptor&,
|
| const v8::Local<v8::Object>& constructor,
|
| const v8::Local<v8::Object>& prototype,
|
| - const v8::Local<v8::Object>& connectedCallback,
|
| - const v8::Local<v8::Object>& disconnectedCallback,
|
| - const v8::Local<v8::Object>& attributeChangedCallback,
|
| + const v8::Local<v8::Function>& connectedCallback,
|
| + const v8::Local<v8::Function>& disconnectedCallback,
|
| + const v8::Local<v8::Function>& attributeChangedCallback,
|
| const HashSet<AtomicString>& observedAttributes);
|
|
|
| virtual ~ScriptCustomElementDefinition() = default;
|
| @@ -49,15 +46,23 @@ public:
|
| HTMLElement* createElementSync(Document&, const QualifiedName&) override;
|
| HTMLElement* createElementSync(Document&, const QualifiedName&, ExceptionState&) override;
|
|
|
| + bool hasConnectedCallback() const override;
|
| + bool hasDisconnectedCallback() const override;
|
| +
|
| + void runConnectedCallback(Element*) override;
|
| + void runDisconnectedCallback(Element*) override;
|
| + void runAttributeChangedCallback(Element*, const QualifiedName&,
|
| + const AtomicString& oldValue, const AtomicString& newValue) override;
|
| +
|
| private:
|
| ScriptCustomElementDefinition(
|
| ScriptState*,
|
| const CustomElementDescriptor&,
|
| const v8::Local<v8::Object>& constructor,
|
| const v8::Local<v8::Object>& prototype,
|
| - const v8::Local<v8::Object>& connectedCallback,
|
| - const v8::Local<v8::Object>& disconnectedCallback,
|
| - const v8::Local<v8::Object>& attributeChangedCallback,
|
| + const v8::Local<v8::Function>& connectedCallback,
|
| + const v8::Local<v8::Function>& disconnectedCallback,
|
| + const v8::Local<v8::Function>& attributeChangedCallback,
|
| const HashSet<AtomicString>& observedAttributes);
|
|
|
| // Implementations of |CustomElementDefinition|
|
| @@ -65,13 +70,15 @@ private:
|
| bool runConstructor(Element*) override;
|
| Element* runConstructor();
|
|
|
| + void runCallback(v8::Local<v8::Function>, Element*,
|
| + int argc = 0, v8::Local<v8::Value> argv[] = nullptr);
|
| +
|
| RefPtr<ScriptState> m_scriptState;
|
| ScopedPersistent<v8::Object> m_constructor;
|
| ScopedPersistent<v8::Object> m_prototype;
|
| - ScopedPersistent<v8::Object> m_connectedCallback;
|
| - ScopedPersistent<v8::Object> m_disconnectedCallback;
|
| - ScopedPersistent<v8::Object> m_attributeChangedCallback;
|
| - HashSet<AtomicString> m_observedAttributes;
|
| + ScopedPersistent<v8::Function> m_connectedCallback;
|
| + ScopedPersistent<v8::Function> m_disconnectedCallback;
|
| + ScopedPersistent<v8::Function> m_attributeChangedCallback;
|
| };
|
|
|
| } // namespace blink
|
|
|