Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/custom/CustomElementDefinition.h | 
| diff --git a/third_party/WebKit/Source/core/dom/custom/CustomElementDefinition.h b/third_party/WebKit/Source/core/dom/custom/CustomElementDefinition.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..de0155d4970d9cae2d75092c9f53739a1711100c | 
| --- /dev/null | 
| +++ b/third_party/WebKit/Source/core/dom/custom/CustomElementDefinition.h | 
| @@ -0,0 +1,42 @@ | 
| +// Copyright 2016 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef CustomElementDefinition_h | 
| +#define CustomElementDefinition_h | 
| + | 
| +#include "bindings/core/v8/ScopedPersistent.h" | 
| +#include "platform/heap/Handle.h" | 
| +#include "v8.h" | 
| +#include "wtf/text/AtomicString.h" | 
| + | 
| +namespace blink { | 
| + | 
| +class CustomElementDefinition final | 
| + : public GarbageCollectedFinalized<CustomElementDefinition> { | 
| +public: | 
| + CustomElementDefinition( | 
| + const AtomicString& localName, | 
| + v8::Isolate*, | 
| + v8::Local<v8::Object> prototype); | 
| + | 
| + const AtomicString& localName() const { return m_localName; } | 
| + v8::Local<v8::Object> prototype(v8::Isolate*) const; | 
| 
 
haraken
2016/05/11 11:30:09
Does the performance of prototype() matter?
If no
 
 | 
| + | 
| + DEFINE_INLINE_TRACE() { } | 
| + | 
| +private: | 
| + AtomicString m_localName; | 
| + | 
| + // This is a weak reference. CustomElementDefinition can rely on | 
| + // it being kept alive as long as the CustomElementsRegistry which | 
| + // owns this definition is alive: | 
| + // CustomElementsRegistry wrapper ---> ::m_constructorIdMap | 
| + // m_constructorIdMap --- key ---> constructor | 
| + // constructor --- prototype propery ---> m_prototype | 
| + ScopedPersistent<v8::Object> m_prototype; | 
| +}; | 
| + | 
| +} // namespace blink | 
| + | 
| +#endif // CustomElementDefinition_h |