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

Side by Side Diff: Source/bindings/tests/results/V8TestInterfaceEventTarget.cpp

Issue 302263004: Oilpan: Move [WillBeGarbageCollected] from Node to EventTarget. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY! 5 // This file has been auto-generated by code_generator_v8.py. DO NOT MODIFY!
6 6
7 #include "config.h" 7 #include "config.h"
8 #include "V8TestInterfaceEventTarget.h" 8 #include "V8TestInterfaceEventTarget.h"
9 9
10 #include "RuntimeEnabledFeatures.h" 10 #include "RuntimeEnabledFeatures.h"
(...skipping 19 matching lines...) Expand all
30 } 30 }
31 31
32 } // namespace WebCore 32 } // namespace WebCore
33 33
34 void webCoreInitializeScriptWrappableForInterface(WebCore::TestInterfaceEventTar get* object) 34 void webCoreInitializeScriptWrappableForInterface(WebCore::TestInterfaceEventTar get* object)
35 { 35 {
36 WebCore::initializeScriptWrappableForInterface(object); 36 WebCore::initializeScriptWrappableForInterface(object);
37 } 37 }
38 38
39 namespace WebCore { 39 namespace WebCore {
40 const WrapperTypeInfo V8TestInterfaceEventTarget::wrapperTypeInfo = { gin::kEmbe dderBlink, V8TestInterfaceEventTarget::domTemplate, V8TestInterfaceEventTarget:: derefObject, 0, V8TestInterfaceEventTarget::toEventTarget, 0, V8TestInterfaceEve ntTarget::installPerContextEnabledMethods, &V8EventTarget::wrapperTypeInfo, Wrap perTypeObjectPrototype, RefCountedObject }; 40 const WrapperTypeInfo V8TestInterfaceEventTarget::wrapperTypeInfo = { gin::kEmbe dderBlink, V8TestInterfaceEventTarget::domTemplate, V8TestInterfaceEventTarget:: derefObject, 0, V8TestInterfaceEventTarget::toEventTarget, 0, V8TestInterfaceEve ntTarget::installPerContextEnabledMethods, &V8EventTarget::wrapperTypeInfo, Wrap perTypeObjectPrototype, WillBeGarbageCollectedObject };
41 41
42 namespace TestInterfaceEventTargetV8Internal { 42 namespace TestInterfaceEventTargetV8Internal {
43 43
44 template <typename T> void V8_USE(T) { } 44 template <typename T> void V8_USE(T) { }
45 45
46 } // namespace TestInterfaceEventTargetV8Internal 46 } // namespace TestInterfaceEventTargetV8Internal
47 47
48 const WrapperTypeInfo V8TestInterfaceEventTargetConstructor::wrapperTypeInfo = { gin::kEmbedderBlink, V8TestInterfaceEventTargetConstructor::domTemplate, V8Test InterfaceEventTarget::derefObject, 0, V8TestInterfaceEventTarget::toEventTarget, 0, V8TestInterfaceEventTarget::installPerContextEnabledMethods, 0, WrapperTypeO bjectPrototype, RefCountedObject }; 48 const WrapperTypeInfo V8TestInterfaceEventTargetConstructor::wrapperTypeInfo = { gin::kEmbedderBlink, V8TestInterfaceEventTargetConstructor::domTemplate, V8Test InterfaceEventTarget::derefObject, 0, V8TestInterfaceEventTarget::toEventTarget, 0, V8TestInterfaceEventTarget::installPerContextEnabledMethods, 0, WrapperTypeO bjectPrototype, WillBeGarbageCollectedObject };
49 49
50 static void V8TestInterfaceEventTargetConstructorCallback(const v8::FunctionCall backInfo<v8::Value>& info) 50 static void V8TestInterfaceEventTargetConstructorCallback(const v8::FunctionCall backInfo<v8::Value>& info)
51 { 51 {
52 v8::Isolate* isolate = info.GetIsolate(); 52 v8::Isolate* isolate = info.GetIsolate();
53 if (!info.IsConstructCall()) { 53 if (!info.IsConstructCall()) {
54 throwTypeError(ExceptionMessages::constructorNotCallableAsFunction("Name "), isolate); 54 throwTypeError(ExceptionMessages::constructorNotCallableAsFunction("Name "), isolate);
55 return; 55 return;
56 } 56 }
57 57
58 if (ConstructorMode::current(isolate) == ConstructorMode::WrapExistingObject ) { 58 if (ConstructorMode::current(isolate) == ConstructorMode::WrapExistingObject ) {
59 v8SetReturnValue(info, info.Holder()); 59 v8SetReturnValue(info, info.Holder());
60 return; 60 return;
61 } 61 }
62 62
63 Document* document = currentDOMWindow(isolate)->document(); 63 Document* document = currentDOMWindow(isolate)->document();
64 ASSERT(document); 64 ASSERT(document);
65 65
66 // Make sure the document is added to the DOM Node map. Otherwise, the TestI nterfaceEventTarget instance 66 // Make sure the document is added to the DOM Node map. Otherwise, the TestI nterfaceEventTarget instance
67 // may end up being the only node in the map and get garbage-collected prema turely. 67 // may end up being the only node in the map and get garbage-collected prema turely.
68 toV8(document, info.Holder(), isolate); 68 toV8(document, info.Holder(), isolate);
69 69
70 RefPtr<TestInterfaceEventTarget> impl = TestInterfaceEventTarget::createForJ SConstructor(*document); 70 RefPtrWillBeRawPtr<TestInterfaceEventTarget> impl = TestInterfaceEventTarget ::createForJSConstructor(*document);
71 71
72 v8::Handle<v8::Object> wrapper = info.Holder(); 72 v8::Handle<v8::Object> wrapper = info.Holder();
73 V8DOMWrapper::associateObjectWithWrapper<V8TestInterfaceEventTarget>(impl.re lease(), &V8TestInterfaceEventTargetConstructor::wrapperTypeInfo, wrapper, isola te, WrapperConfiguration::Independent); 73 V8DOMWrapper::associateObjectWithWrapper<V8TestInterfaceEventTarget>(impl.re lease(), &V8TestInterfaceEventTargetConstructor::wrapperTypeInfo, wrapper, isola te, WrapperConfiguration::Independent);
74 v8SetReturnValue(info, wrapper); 74 v8SetReturnValue(info, wrapper);
75 } 75 }
76 76
77 v8::Handle<v8::FunctionTemplate> V8TestInterfaceEventTargetConstructor::domTempl ate(v8::Isolate* isolate) 77 v8::Handle<v8::FunctionTemplate> V8TestInterfaceEventTargetConstructor::domTempl ate(v8::Isolate* isolate)
78 { 78 {
79 static int domTemplateKey; // This address is used for a key to look up the dom template. 79 static int domTemplateKey; // This address is used for a key to look up the dom template.
80 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 80 V8PerIsolateData* data = V8PerIsolateData::from(isolate);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 TestInterfaceEventTarget* V8TestInterfaceEventTarget::toNativeWithTypeCheck(v8:: Isolate* isolate, v8::Handle<v8::Value> value) 136 TestInterfaceEventTarget* V8TestInterfaceEventTarget::toNativeWithTypeCheck(v8:: Isolate* isolate, v8::Handle<v8::Value> value)
137 { 137 {
138 return hasInstance(value, isolate) ? fromInternalPointer(v8::Handle<v8::Obje ct>::Cast(value)->GetAlignedPointerFromInternalField(v8DOMWrapperObjectIndex)) : 0; 138 return hasInstance(value, isolate) ? fromInternalPointer(v8::Handle<v8::Obje ct>::Cast(value)->GetAlignedPointerFromInternalField(v8DOMWrapperObjectIndex)) : 0;
139 } 139 }
140 140
141 EventTarget* V8TestInterfaceEventTarget::toEventTarget(v8::Handle<v8::Object> ob ject) 141 EventTarget* V8TestInterfaceEventTarget::toEventTarget(v8::Handle<v8::Object> ob ject)
142 { 142 {
143 return toNative(object); 143 return toNative(object);
144 } 144 }
145 145
146 v8::Handle<v8::Object> V8TestInterfaceEventTarget::createWrapper(PassRefPtr<Test InterfaceEventTarget> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) 146 v8::Handle<v8::Object> V8TestInterfaceEventTarget::createWrapper(PassRefPtrWillB eRawPtr<TestInterfaceEventTarget> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
147 { 147 {
148 ASSERT(impl); 148 ASSERT(impl);
149 ASSERT(!DOMDataStore::containsWrapper<V8TestInterfaceEventTarget>(impl.get() , isolate)); 149 ASSERT(!DOMDataStore::containsWrapper<V8TestInterfaceEventTarget>(impl.get() , isolate));
150 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { 150 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) {
151 const WrapperTypeInfo* actualInfo = ScriptWrappable::fromObject(impl.get ())->typeInfo(); 151 const WrapperTypeInfo* actualInfo = ScriptWrappable::fromObject(impl.get ())->typeInfo();
152 // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapper TypeInfo. These will both have 152 // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapper TypeInfo. These will both have
153 // the same object de-ref functions, though, so use that as the basis of the check. 153 // the same object de-ref functions, though, so use that as the basis of the check.
154 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction == wrapperTypeInfo.derefObjectFunction); 154 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction == wrapperTypeInfo.derefObjectFunction);
155 } 155 }
156 156
157 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext , &wrapperTypeInfo, toInternalPointer(impl.get()), isolate); 157 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext , &wrapperTypeInfo, toInternalPointer(impl.get()), isolate);
158 if (UNLIKELY(wrapper.IsEmpty())) 158 if (UNLIKELY(wrapper.IsEmpty()))
159 return wrapper; 159 return wrapper;
160 160
161 installPerContextEnabledProperties(wrapper, impl.get(), isolate); 161 installPerContextEnabledProperties(wrapper, impl.get(), isolate);
162 V8DOMWrapper::associateObjectWithWrapper<V8TestInterfaceEventTarget>(impl, & wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent); 162 V8DOMWrapper::associateObjectWithWrapper<V8TestInterfaceEventTarget>(impl, & wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent);
163 return wrapper; 163 return wrapper;
164 } 164 }
165 165
166 void V8TestInterfaceEventTarget::derefObject(void* object) 166 void V8TestInterfaceEventTarget::derefObject(void* object)
167 { 167 {
168 #if !ENABLE(OILPAN)
168 fromInternalPointer(object)->deref(); 169 fromInternalPointer(object)->deref();
170 #endif // !ENABLE(OILPAN)
169 } 171 }
170 172
171 template<> 173 template<>
172 v8::Handle<v8::Value> toV8NoInline(TestInterfaceEventTarget* impl, v8::Handle<v8 ::Object> creationContext, v8::Isolate* isolate) 174 v8::Handle<v8::Value> toV8NoInline(TestInterfaceEventTarget* impl, v8::Handle<v8 ::Object> creationContext, v8::Isolate* isolate)
173 { 175 {
174 return toV8(impl, creationContext, isolate); 176 return toV8(impl, creationContext, isolate);
175 } 177 }
176 178
177 } // namespace WebCore 179 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/bindings/tests/results/V8TestInterfaceEventTarget.h ('k') | Source/bindings/tests/results/V8TestObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698