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

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

Issue 456683002: bindings: Introduces type-check for the internal pointers. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Synced. Created 6 years, 4 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 "V8SVGTestInterface.h" 8 #include "V8SVGTestInterface.h"
9 9
10 #include "bindings/core/v8/ExceptionState.h" 10 #include "bindings/core/v8/ExceptionState.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, v8Valu e); 108 return V8PerIsolateData::from(isolate)->hasInstance(&wrapperTypeInfo, v8Valu e);
109 } 109 }
110 110
111 v8::Handle<v8::Object> V8SVGTestInterface::findInstanceInPrototypeChain(v8::Hand le<v8::Value> v8Value, v8::Isolate* isolate) 111 v8::Handle<v8::Object> V8SVGTestInterface::findInstanceInPrototypeChain(v8::Hand le<v8::Value> v8Value, v8::Isolate* isolate)
112 { 112 {
113 return V8PerIsolateData::from(isolate)->findInstanceInPrototypeChain(&wrappe rTypeInfo, v8Value); 113 return V8PerIsolateData::from(isolate)->findInstanceInPrototypeChain(&wrappe rTypeInfo, v8Value);
114 } 114 }
115 115
116 SVGTestInterface* V8SVGTestInterface::toNativeWithTypeCheck(v8::Isolate* isolate , v8::Handle<v8::Value> value) 116 SVGTestInterface* V8SVGTestInterface::toNativeWithTypeCheck(v8::Isolate* isolate , v8::Handle<v8::Value> value)
117 { 117 {
118 return hasInstance(value, isolate) ? fromInternalPointer(v8::Handle<v8::Obje ct>::Cast(value)->GetAlignedPointerFromInternalField(v8DOMWrapperObjectIndex)) : 0; 118 return hasInstance(value, isolate) ? fromInternalPointer(blink::toInternalPo inter(v8::Handle<v8::Object>::Cast(value))) : 0;
119 } 119 }
120 120
121 v8::Handle<v8::Object> wrap(SVGTestInterface* impl, v8::Handle<v8::Object> creat ionContext, v8::Isolate* isolate) 121 v8::Handle<v8::Object> wrap(SVGTestInterface* impl, v8::Handle<v8::Object> creat ionContext, v8::Isolate* isolate)
122 { 122 {
123 ASSERT(impl); 123 ASSERT(impl);
124 ASSERT(!DOMDataStore::containsWrapper<V8SVGTestInterface>(impl, isolate)); 124 ASSERT(!DOMDataStore::containsWrapper<V8SVGTestInterface>(impl, isolate));
125 return V8SVGTestInterface::createWrapper(impl, creationContext, isolate); 125 return V8SVGTestInterface::createWrapper(impl, creationContext, isolate);
126 } 126 }
127 127
128 v8::Handle<v8::Object> V8SVGTestInterface::createWrapper(PassRefPtr<SVGTestInter face> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) 128 v8::Handle<v8::Object> V8SVGTestInterface::createWrapper(PassRefPtr<SVGTestInter face> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
129 { 129 {
130 ASSERT(impl); 130 ASSERT(impl);
131 ASSERT(!DOMDataStore::containsWrapper<V8SVGTestInterface>(impl.get(), isolat e)); 131 ASSERT(!DOMDataStore::containsWrapper<V8SVGTestInterface>(impl.get(), isolat e));
132 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) { 132 if (ScriptWrappable::wrapperCanBeStoredInObject(impl.get())) {
133 const WrapperTypeInfo* actualInfo = ScriptWrappable::fromObject(impl.get ())->typeInfo(); 133 const WrapperTypeInfo* actualInfo = ScriptWrappable::fromObject(impl.get ())->typeInfo();
134 // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapper TypeInfo. These will both have 134 // Might be a XXXConstructor::wrapperTypeInfo instead of an XXX::wrapper TypeInfo. These will both have
135 // the same object de-ref functions, though, so use that as the basis of the check. 135 // the same object de-ref functions, though, so use that as the basis of the check.
136 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction == wrapperTypeInfo.derefObjectFunction); 136 RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(actualInfo->derefObjectFunction == wrapperTypeInfo.derefObjectFunction);
137 } 137 }
138 138
139 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext , &wrapperTypeInfo, toInternalPointer(impl.get()), isolate); 139 v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext , &wrapperTypeInfo, toInternalPointer(impl.get()), isolate);
140 if (UNLIKELY(wrapper.IsEmpty())) 140 if (UNLIKELY(wrapper.IsEmpty()))
141 return wrapper; 141 return wrapper;
142 142
143 installPerContextEnabledProperties(wrapper, impl.get(), isolate); 143 installPerContextEnabledProperties(wrapper, impl.get(), isolate);
144 V8DOMWrapper::associateObjectWithWrapper<V8SVGTestInterface>(impl, &wrapperT ypeInfo, wrapper, isolate, WrapperConfiguration::Dependent); 144 V8DOMWrapper::associateObjectWithWrapper<V8SVGTestInterface>(impl, &wrapperT ypeInfo, wrapper, isolate, WrapperConfiguration::Dependent);
145 return wrapper; 145 return wrapper;
146 } 146 }
147 147
148 void V8SVGTestInterface::derefObject(void* object) 148 void V8SVGTestInterface::derefObject(ScriptWrappableBase* internalPointer)
149 { 149 {
150 fromInternalPointer(object)->deref(); 150 fromInternalPointer(internalPointer)->deref();
151 } 151 }
152 152
153 template<> 153 template<>
154 v8::Handle<v8::Value> toV8NoInline(SVGTestInterface* impl, v8::Handle<v8::Object > creationContext, v8::Isolate* isolate) 154 v8::Handle<v8::Value> toV8NoInline(SVGTestInterface* impl, v8::Handle<v8::Object > creationContext, v8::Isolate* isolate)
155 { 155 {
156 return toV8(impl, creationContext, isolate); 156 return toV8(impl, creationContext, isolate);
157 } 157 }
158 158
159 } // namespace blink 159 } // namespace blink
OLDNEW
« no previous file with comments | « Source/bindings/tests/results/V8SVGTestInterface.h ('k') | Source/bindings/tests/results/V8TestException.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698