Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/custom/CustomElementDefinition.cpp |
| diff --git a/third_party/WebKit/Source/core/dom/custom/CustomElementDefinition.cpp b/third_party/WebKit/Source/core/dom/custom/CustomElementDefinition.cpp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0f56bb9dfcd1819bde61ff457d953e36334a0715 |
| --- /dev/null |
| +++ b/third_party/WebKit/Source/core/dom/custom/CustomElementDefinition.cpp |
| @@ -0,0 +1,33 @@ |
| +// 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. |
| + |
| +#include "core/dom/custom/CustomElementDefinition.h" |
| + |
| +namespace blink { |
| + |
| +CustomElementDefinition::CustomElementDefinition( |
| + const AtomicString& localName, |
| + v8::Isolate* isolate, |
| + v8::Handle<v8::Object> prototype) |
| + : m_localName(localName) |
| + , m_prototype(isolate, prototype) |
| +{ |
| + m_prototype.setWeak(this, &CustomElementDefinition::didCollectPrototype); |
| +} |
| + |
| +v8::Local<v8::Object> CustomElementDefinition::prototype( |
| + v8::Isolate* isolate) const |
| +{ |
| + v8::Local<v8::Object> object = m_prototype.newLocal(isolate); |
| + DCHECK(!object.IsEmpty()); |
|
haraken
2016/05/10 09:04:22
Would you help me understand who guarantees that m
dominicc (has gone to gerrit)
2016/05/11 02:31:49
CustomElementsRegistry::visitDOMWrapper ends up ca
|
| + return object; |
| +} |
| + |
| +void CustomElementDefinition::didCollectPrototype( |
| + const v8::WeakCallbackInfo<CustomElementDefinition>& info) |
| +{ |
| + info.GetParameter()->m_prototype.clear(); |
| +} |
| + |
| +} // namespace blink |