OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "core/dom/custom/CustomElementDefinition.h" | |
6 | |
7 namespace blink { | |
8 | |
9 CustomElementDefinition::CustomElementDefinition( | |
10 const AtomicString& localName, | |
11 v8::Isolate* isolate, | |
12 v8::Handle<v8::Object> prototype) | |
13 : m_localName(localName) | |
14 , m_prototype(isolate, prototype) | |
15 { | |
16 m_prototype.setWeak(this, &CustomElementDefinition::didCollectPrototype); | |
17 } | |
18 | |
19 v8::Local<v8::Object> CustomElementDefinition::prototype( | |
20 v8::Isolate* isolate) const | |
21 { | |
22 v8::Local<v8::Object> object = m_prototype.newLocal(isolate); | |
23 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
| |
24 return object; | |
25 } | |
26 | |
27 void CustomElementDefinition::didCollectPrototype( | |
28 const v8::WeakCallbackInfo<CustomElementDefinition>& info) | |
29 { | |
30 info.GetParameter()->m_prototype.clear(); | |
31 } | |
32 | |
33 } // namespace blink | |
OLD | NEW |