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

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

Issue 77743002: Rename *AttributeGetter => *OriginSafeMethodGetter and DomainSafeFunctionSetter => OriginSafeMethod… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Domain => Origin Created 7 years, 1 month 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
« no previous file with comments | « Source/bindings/scripts/code_generator_v8.pm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 imp->postMessage(message); 135 imp->postMessage(message);
136 } 136 }
137 137
138 static void postMessageMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info) 138 static void postMessageMethodCallback(const v8::FunctionCallbackInfo<v8::Value>& info)
139 { 139 {
140 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 140 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
141 TestCheckSecurityInterfaceV8Internal::postMessageMethod(info); 141 TestCheckSecurityInterfaceV8Internal::postMessageMethod(info);
142 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 142 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
143 } 143 }
144 144
145 static void postMessageAttributeGetter(const v8::PropertyCallbackInfo<v8::Value> & info) 145 static void postMessageOriginSafeMethodGetter(const v8::PropertyCallbackInfo<v8: :Value>& info)
146 { 146 {
147 // This is only for getting a unique pointer which we can pass to privateTem plate. 147 // This is only for getting a unique pointer which we can pass to privateTem plate.
148 static int privateTemplateUniqueKey; 148 static int privateTemplateUniqueKey;
149 WrapperWorldType currentWorldType = worldType(info.GetIsolate()); 149 WrapperWorldType currentWorldType = worldType(info.GetIsolate());
150 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); 150 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate());
151 v8::Handle<v8::FunctionTemplate> privateTemplate = data->privateTemplate(cur rentWorldType, &privateTemplateUniqueKey, TestCheckSecurityInterfaceV8Internal:: postMessageMethodCallback, v8Undefined(), v8::Signature::New(V8PerIsolateData::f rom(info.GetIsolate())->rawTemplate(&V8TestCheckSecurityInterface::wrapperTypeIn fo, currentWorldType)), 1); 151 v8::Handle<v8::FunctionTemplate> privateTemplate = data->privateTemplate(cur rentWorldType, &privateTemplateUniqueKey, TestCheckSecurityInterfaceV8Internal:: postMessageMethodCallback, v8Undefined(), v8::Signature::New(V8PerIsolateData::f rom(info.GetIsolate())->rawTemplate(&V8TestCheckSecurityInterface::wrapperTypeIn fo, currentWorldType)), 1);
152 152
153 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8 TestCheckSecurityInterface::GetTemplate(info.GetIsolate(), currentWorldType)); 153 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8 TestCheckSecurityInterface::GetTemplate(info.GetIsolate(), currentWorldType));
154 if (holder.IsEmpty()) { 154 if (holder.IsEmpty()) {
155 // can only reach here by 'object.__proto__.func', and it should passed 155 // can only reach here by 'object.__proto__.func', and it should passed
(...skipping 11 matching lines...) Expand all
167 167
168 v8::Local<v8::Value> hiddenValue = info.This()->GetHiddenValue(v8::String::N ewSymbol("postMessage")); 168 v8::Local<v8::Value> hiddenValue = info.This()->GetHiddenValue(v8::String::N ewSymbol("postMessage"));
169 if (!hiddenValue.IsEmpty()) { 169 if (!hiddenValue.IsEmpty()) {
170 v8SetReturnValue(info, hiddenValue); 170 v8SetReturnValue(info, hiddenValue);
171 return; 171 return;
172 } 172 }
173 173
174 v8SetReturnValue(info, privateTemplate->GetFunction()); 174 v8SetReturnValue(info, privateTemplate->GetFunction());
175 } 175 }
176 176
177 static void postMessageAttributeGetterCallback(v8::Local<v8::String>, const v8:: PropertyCallbackInfo<v8::Value>& info) 177 static void postMessageOriginSafeMethodGetterCallback(v8::Local<v8::String>, con st v8::PropertyCallbackInfo<v8::Value>& info)
178 { 178 {
179 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 179 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
180 TestCheckSecurityInterfaceV8Internal::postMessageAttributeGetter(info); 180 TestCheckSecurityInterfaceV8Internal::postMessageOriginSafeMethodGetter(info );
181 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 181 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
182 } 182 }
183 183
184 static void perWorldBindingsMethodWithDoNotCheckSecurityMethod(const v8::Functio nCallbackInfo<v8::Value>& info) 184 static void perWorldBindingsMethodWithDoNotCheckSecurityMethod(const v8::Functio nCallbackInfo<v8::Value>& info)
185 { 185 {
186 if (UNLIKELY(info.Length() < 1)) { 186 if (UNLIKELY(info.Length() < 1)) {
187 throwTypeError(ExceptionMessages::failedToExecute("perWorldBindingsMetho dWithDoNotCheckSecurity", "TestCheckSecurityInterface", ExceptionMessages::notEn oughArguments(1, info.Length())), info.GetIsolate()); 187 throwTypeError(ExceptionMessages::failedToExecute("perWorldBindingsMetho dWithDoNotCheckSecurity", "TestCheckSecurityInterface", ExceptionMessages::notEn oughArguments(1, info.Length())), info.GetIsolate());
188 return; 188 return;
189 } 189 }
190 TestCheckSecurityInterface* imp = V8TestCheckSecurityInterface::toNative(inf o.Holder()); 190 TestCheckSecurityInterface* imp = V8TestCheckSecurityInterface::toNative(inf o.Holder());
191 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, url, info[0]); 191 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, url, info[0]);
192 imp->perWorldBindingsMethodWithDoNotCheckSecurity(url); 192 imp->perWorldBindingsMethodWithDoNotCheckSecurity(url);
193 } 193 }
194 194
195 static void perWorldBindingsMethodWithDoNotCheckSecurityMethodCallback(const v8: :FunctionCallbackInfo<v8::Value>& info) 195 static void perWorldBindingsMethodWithDoNotCheckSecurityMethodCallback(const v8: :FunctionCallbackInfo<v8::Value>& info)
196 { 196 {
197 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 197 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
198 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->Ge tCurrentContext()); 198 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->Ge tCurrentContext());
199 if (contextData && contextData->activityLogger()) { 199 if (contextData && contextData->activityLogger()) {
200 Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle <v8::Value> >(info, 0); 200 Vector<v8::Handle<v8::Value> > loggerArgs = toNativeArguments<v8::Handle <v8::Value> >(info, 0);
201 contextData->activityLogger()->log("TestCheckSecurityInterface.perWorldB indingsMethodWithDoNotCheckSecurity", info.Length(), loggerArgs.data(), "Method" ); 201 contextData->activityLogger()->log("TestCheckSecurityInterface.perWorldB indingsMethodWithDoNotCheckSecurity", info.Length(), loggerArgs.data(), "Method" );
202 } 202 }
203 TestCheckSecurityInterfaceV8Internal::perWorldBindingsMethodWithDoNotCheckSe curityMethod(info); 203 TestCheckSecurityInterfaceV8Internal::perWorldBindingsMethodWithDoNotCheckSe curityMethod(info);
204 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 204 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
205 } 205 }
206 206
207 static void perWorldBindingsMethodWithDoNotCheckSecurityAttributeGetter(const v8 ::PropertyCallbackInfo<v8::Value>& info) 207 static void perWorldBindingsMethodWithDoNotCheckSecurityOriginSafeMethodGetter(c onst v8::PropertyCallbackInfo<v8::Value>& info)
208 { 208 {
209 // This is only for getting a unique pointer which we can pass to privateTem plate. 209 // This is only for getting a unique pointer which we can pass to privateTem plate.
210 static int privateTemplateUniqueKey; 210 static int privateTemplateUniqueKey;
211 WrapperWorldType currentWorldType = worldType(info.GetIsolate()); 211 WrapperWorldType currentWorldType = worldType(info.GetIsolate());
212 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); 212 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate());
213 v8::Handle<v8::FunctionTemplate> privateTemplate = data->privateTemplate(cur rentWorldType, &privateTemplateUniqueKey, TestCheckSecurityInterfaceV8Internal:: perWorldBindingsMethodWithDoNotCheckSecurityMethodCallback, v8Undefined(), v8::S ignature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate(&V8TestChec kSecurityInterface::wrapperTypeInfo, currentWorldType)), 1); 213 v8::Handle<v8::FunctionTemplate> privateTemplate = data->privateTemplate(cur rentWorldType, &privateTemplateUniqueKey, TestCheckSecurityInterfaceV8Internal:: perWorldBindingsMethodWithDoNotCheckSecurityMethodCallback, v8Undefined(), v8::S ignature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate(&V8TestChec kSecurityInterface::wrapperTypeInfo, currentWorldType)), 1);
214 214
215 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8 TestCheckSecurityInterface::GetTemplate(info.GetIsolate(), currentWorldType)); 215 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8 TestCheckSecurityInterface::GetTemplate(info.GetIsolate(), currentWorldType));
216 if (holder.IsEmpty()) { 216 if (holder.IsEmpty()) {
217 // can only reach here by 'object.__proto__.func', and it should passed 217 // can only reach here by 'object.__proto__.func', and it should passed
(...skipping 11 matching lines...) Expand all
229 229
230 v8::Local<v8::Value> hiddenValue = info.This()->GetHiddenValue(v8::String::N ewSymbol("perWorldBindingsMethodWithDoNotCheckSecurity")); 230 v8::Local<v8::Value> hiddenValue = info.This()->GetHiddenValue(v8::String::N ewSymbol("perWorldBindingsMethodWithDoNotCheckSecurity"));
231 if (!hiddenValue.IsEmpty()) { 231 if (!hiddenValue.IsEmpty()) {
232 v8SetReturnValue(info, hiddenValue); 232 v8SetReturnValue(info, hiddenValue);
233 return; 233 return;
234 } 234 }
235 235
236 v8SetReturnValue(info, privateTemplate->GetFunction()); 236 v8SetReturnValue(info, privateTemplate->GetFunction());
237 } 237 }
238 238
239 static void perWorldBindingsMethodWithDoNotCheckSecurityAttributeGetterCallback( v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info) 239 static void perWorldBindingsMethodWithDoNotCheckSecurityOriginSafeMethodGetterCa llback(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& info)
240 { 240 {
241 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 241 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
242 TestCheckSecurityInterfaceV8Internal::perWorldBindingsMethodWithDoNotCheckSe curityAttributeGetter(info); 242 TestCheckSecurityInterfaceV8Internal::perWorldBindingsMethodWithDoNotCheckSe curityOriginSafeMethodGetter(info);
243 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 243 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
244 } 244 }
245 245
246 static void perWorldBindingsMethodWithDoNotCheckSecurityMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info) 246 static void perWorldBindingsMethodWithDoNotCheckSecurityMethodForMainWorld(const v8::FunctionCallbackInfo<v8::Value>& info)
247 { 247 {
248 if (UNLIKELY(info.Length() < 1)) { 248 if (UNLIKELY(info.Length() < 1)) {
249 throwTypeError(ExceptionMessages::failedToExecute("perWorldBindingsMetho dWithDoNotCheckSecurity", "TestCheckSecurityInterface", ExceptionMessages::notEn oughArguments(1, info.Length())), info.GetIsolate()); 249 throwTypeError(ExceptionMessages::failedToExecute("perWorldBindingsMetho dWithDoNotCheckSecurity", "TestCheckSecurityInterface", ExceptionMessages::notEn oughArguments(1, info.Length())), info.GetIsolate());
250 return; 250 return;
251 } 251 }
252 TestCheckSecurityInterface* imp = V8TestCheckSecurityInterface::toNative(inf o.Holder()); 252 TestCheckSecurityInterface* imp = V8TestCheckSecurityInterface::toNative(inf o.Holder());
253 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, url, info[0]); 253 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, url, info[0]);
254 imp->perWorldBindingsMethodWithDoNotCheckSecurity(url); 254 imp->perWorldBindingsMethodWithDoNotCheckSecurity(url);
255 } 255 }
256 256
257 static void perWorldBindingsMethodWithDoNotCheckSecurityMethodCallbackForMainWor ld(const v8::FunctionCallbackInfo<v8::Value>& info) 257 static void perWorldBindingsMethodWithDoNotCheckSecurityMethodCallbackForMainWor ld(const v8::FunctionCallbackInfo<v8::Value>& info)
258 { 258 {
259 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod"); 259 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMMethod");
260 TestCheckSecurityInterfaceV8Internal::perWorldBindingsMethodWithDoNotCheckSe curityMethodForMainWorld(info); 260 TestCheckSecurityInterfaceV8Internal::perWorldBindingsMethodWithDoNotCheckSe curityMethodForMainWorld(info);
261 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 261 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
262 } 262 }
263 263
264 static void perWorldBindingsMethodWithDoNotCheckSecurityAttributeGetterForMainWo rld(const v8::PropertyCallbackInfo<v8::Value>& info) 264 static void perWorldBindingsMethodWithDoNotCheckSecurityOriginSafeMethodGetterFo rMainWorld(const v8::PropertyCallbackInfo<v8::Value>& info)
265 { 265 {
266 // This is only for getting a unique pointer which we can pass to privateTem plate. 266 // This is only for getting a unique pointer which we can pass to privateTem plate.
267 static int privateTemplateUniqueKey; 267 static int privateTemplateUniqueKey;
268 WrapperWorldType currentWorldType = worldType(info.GetIsolate()); 268 WrapperWorldType currentWorldType = worldType(info.GetIsolate());
269 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate()); 269 V8PerIsolateData* data = V8PerIsolateData::from(info.GetIsolate());
270 v8::Handle<v8::FunctionTemplate> privateTemplate = data->privateTemplate(cur rentWorldType, &privateTemplateUniqueKey, TestCheckSecurityInterfaceV8Internal:: perWorldBindingsMethodWithDoNotCheckSecurityMethodCallbackForMainWorld, v8Undefi ned(), v8::Signature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate (&V8TestCheckSecurityInterface::wrapperTypeInfo, currentWorldType)), 1); 270 v8::Handle<v8::FunctionTemplate> privateTemplate = data->privateTemplate(cur rentWorldType, &privateTemplateUniqueKey, TestCheckSecurityInterfaceV8Internal:: perWorldBindingsMethodWithDoNotCheckSecurityMethodCallbackForMainWorld, v8Undefi ned(), v8::Signature::New(V8PerIsolateData::from(info.GetIsolate())->rawTemplate (&V8TestCheckSecurityInterface::wrapperTypeInfo, currentWorldType)), 1);
271 271
272 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8 TestCheckSecurityInterface::GetTemplate(info.GetIsolate(), currentWorldType)); 272 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8 TestCheckSecurityInterface::GetTemplate(info.GetIsolate(), currentWorldType));
273 if (holder.IsEmpty()) { 273 if (holder.IsEmpty()) {
274 // can only reach here by 'object.__proto__.func', and it should passed 274 // can only reach here by 'object.__proto__.func', and it should passed
(...skipping 11 matching lines...) Expand all
286 286
287 v8::Local<v8::Value> hiddenValue = info.This()->GetHiddenValue(v8::String::N ewSymbol("perWorldBindingsMethodWithDoNotCheckSecurity")); 287 v8::Local<v8::Value> hiddenValue = info.This()->GetHiddenValue(v8::String::N ewSymbol("perWorldBindingsMethodWithDoNotCheckSecurity"));
288 if (!hiddenValue.IsEmpty()) { 288 if (!hiddenValue.IsEmpty()) {
289 v8SetReturnValue(info, hiddenValue); 289 v8SetReturnValue(info, hiddenValue);
290 return; 290 return;
291 } 291 }
292 292
293 v8SetReturnValue(info, privateTemplate->GetFunction()); 293 v8SetReturnValue(info, privateTemplate->GetFunction());
294 } 294 }
295 295
296 static void perWorldBindingsMethodWithDoNotCheckSecurityAttributeGetterCallbackF orMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Value>& in fo) 296 static void perWorldBindingsMethodWithDoNotCheckSecurityOriginSafeMethodGetterCa llbackForMainWorld(v8::Local<v8::String>, const v8::PropertyCallbackInfo<v8::Val ue>& info)
297 { 297 {
298 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter"); 298 TRACE_EVENT_SET_SAMPLING_STATE("Blink", "DOMGetter");
299 TestCheckSecurityInterfaceV8Internal::perWorldBindingsMethodWithDoNotCheckSe curityAttributeGetterForMainWorld(info); 299 TestCheckSecurityInterfaceV8Internal::perWorldBindingsMethodWithDoNotCheckSe curityOriginSafeMethodGetterForMainWorld(info);
300 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution"); 300 TRACE_EVENT_SET_SAMPLING_STATE("V8", "Execution");
301 } 301 }
302 302
303 static void TestCheckSecurityInterfaceDomainSafeFunctionSetter(v8::Local<v8::Str ing> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& i nfo) 303 static void TestCheckSecurityInterfaceOriginSafeMethodSetter(v8::Local<v8::Strin g> name, v8::Local<v8::Value> jsValue, const v8::PropertyCallbackInfo<void>& inf o)
304 { 304 {
305 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8 TestCheckSecurityInterface::GetTemplate(info.GetIsolate(), worldType(info.GetIso late()))); 305 v8::Handle<v8::Object> holder = info.This()->FindInstanceInPrototypeChain(V8 TestCheckSecurityInterface::GetTemplate(info.GetIsolate(), worldType(info.GetIso late())));
306 if (holder.IsEmpty()) 306 if (holder.IsEmpty())
307 return; 307 return;
308 TestCheckSecurityInterface* imp = V8TestCheckSecurityInterface::toNative(hol der); 308 TestCheckSecurityInterface* imp = V8TestCheckSecurityInterface::toNative(hol der);
309 ExceptionState exceptionState(info.Holder(), info.GetIsolate()); 309 ExceptionState exceptionState(info.Holder(), info.GetIsolate());
310 if (!BindingSecurity::shouldAllowAccessToFrame(imp->frame(), exceptionState) ) { 310 if (!BindingSecurity::shouldAllowAccessToFrame(imp->frame(), exceptionState) ) {
311 exceptionState.throwIfNeeded(); 311 exceptionState.throwIfNeeded();
312 return; 312 return;
313 } 313 }
(...skipping 24 matching lines...) Expand all
338 UNUSED_PARAM(prototypeTemplate); 338 UNUSED_PARAM(prototypeTemplate);
339 instanceTemplate->SetAccessCheckCallbacks(TestCheckSecurityInterfaceV8Intern al::namedSecurityCheck, TestCheckSecurityInterfaceV8Internal::indexedSecurityChe ck, v8::External::New(isolate, const_cast<WrapperTypeInfo*>(&V8TestCheckSecurity Interface::wrapperTypeInfo))); 339 instanceTemplate->SetAccessCheckCallbacks(TestCheckSecurityInterfaceV8Intern al::namedSecurityCheck, TestCheckSecurityInterfaceV8Internal::indexedSecurityChe ck, v8::External::New(isolate, const_cast<WrapperTypeInfo*>(&V8TestCheckSecurity Interface::wrapperTypeInfo)));
340 340
341 // Custom Signature 'excitingFunction' 341 // Custom Signature 'excitingFunction'
342 const int excitingFunctionArgc = 1; 342 const int excitingFunctionArgc = 1;
343 v8::Handle<v8::FunctionTemplate> excitingFunctionArgv[excitingFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Node::wrapperTypeInfo, curre ntWorldType) }; 343 v8::Handle<v8::FunctionTemplate> excitingFunctionArgv[excitingFunctionArgc] = { V8PerIsolateData::from(isolate)->rawTemplate(&V8Node::wrapperTypeInfo, curre ntWorldType) };
344 v8::Handle<v8::Signature> excitingFunctionSignature = v8::Signature::New(fun ctionTemplate, excitingFunctionArgc, excitingFunctionArgv); 344 v8::Handle<v8::Signature> excitingFunctionSignature = v8::Signature::New(fun ctionTemplate, excitingFunctionArgc, excitingFunctionArgv);
345 prototypeTemplate->Set(v8::String::NewSymbol("excitingFunction"), v8::Functi onTemplate::New(TestCheckSecurityInterfaceV8Internal::excitingFunctionMethodCall back, v8Undefined(), excitingFunctionSignature, 1)); 345 prototypeTemplate->Set(v8::String::NewSymbol("excitingFunction"), v8::Functi onTemplate::New(TestCheckSecurityInterfaceV8Internal::excitingFunctionMethodCall back, v8Undefined(), excitingFunctionSignature, 1));
346 346
347 // Function 'postMessage' (Extended Attributes: 'DoNotCheckSecurity') 347 // Function 'postMessage' (Extended Attributes: 'DoNotCheckSecurity')
348 prototypeTemplate->SetAccessor(v8::String::NewSymbol("postMessage"), TestChe ckSecurityInterfaceV8Internal::postMessageAttributeGetterCallback, TestCheckSecu rityInterfaceV8Internal::TestCheckSecurityInterfaceDomainSafeFunctionSetter, v8U ndefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete) ); 348 prototypeTemplate->SetAccessor(v8::String::NewSymbol("postMessage"), TestChe ckSecurityInterfaceV8Internal::postMessageOriginSafeMethodGetterCallback, TestCh eckSecurityInterfaceV8Internal::TestCheckSecurityInterfaceOriginSafeMethodSetter , v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDe lete));
349 349
350 // Function 'perWorldBindingsMethodWithDoNotCheckSecurity' (Extended Attribu tes: 'DoNotCheckSecurity PerWorldBindings ActivityLogging') 350 // Function 'perWorldBindingsMethodWithDoNotCheckSecurity' (Extended Attribu tes: 'DoNotCheckSecurity PerWorldBindings ActivityLogging')
351 if (currentWorldType == MainWorld) { 351 if (currentWorldType == MainWorld) {
352 prototypeTemplate->SetAccessor(v8::String::NewSymbol("perWorldBindingsMe thodWithDoNotCheckSecurity"), TestCheckSecurityInterfaceV8Internal::perWorldBind ingsMethodWithDoNotCheckSecurityAttributeGetterCallbackForMainWorld, TestCheckSe curityInterfaceV8Internal::TestCheckSecurityInterfaceDomainSafeFunctionSetter, v 8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelet e)); 352 prototypeTemplate->SetAccessor(v8::String::NewSymbol("perWorldBindingsMe thodWithDoNotCheckSecurity"), TestCheckSecurityInterfaceV8Internal::perWorldBind ingsMethodWithDoNotCheckSecurityOriginSafeMethodGetterCallbackForMainWorld, Test CheckSecurityInterfaceV8Internal::TestCheckSecurityInterfaceOriginSafeMethodSett er, v8Undefined(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::Dont Delete));
353 } else { 353 } else {
354 prototypeTemplate->SetAccessor(v8::String::NewSymbol("perWorldBindingsMe thodWithDoNotCheckSecurity"), TestCheckSecurityInterfaceV8Internal::perWorldBind ingsMethodWithDoNotCheckSecurityAttributeGetterCallback, TestCheckSecurityInterf aceV8Internal::TestCheckSecurityInterfaceDomainSafeFunctionSetter, v8Undefined() , v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete)); 354 prototypeTemplate->SetAccessor(v8::String::NewSymbol("perWorldBindingsMe thodWithDoNotCheckSecurity"), TestCheckSecurityInterfaceV8Internal::perWorldBind ingsMethodWithDoNotCheckSecurityOriginSafeMethodGetterCallback, TestCheckSecurit yInterfaceV8Internal::TestCheckSecurityInterfaceOriginSafeMethodSetter, v8Undefi ned(), v8::ALL_CAN_READ, static_cast<v8::PropertyAttribute>(v8::DontDelete));
355 } 355 }
356 356
357 // Custom toString template 357 // Custom toString template
358 functionTemplate->Set(v8::String::NewSymbol("toString"), V8PerIsolateData::c urrent()->toStringTemplate()); 358 functionTemplate->Set(v8::String::NewSymbol("toString"), V8PerIsolateData::c urrent()->toStringTemplate());
359 return functionTemplate; 359 return functionTemplate;
360 } 360 }
361 361
362 v8::Handle<v8::FunctionTemplate> V8TestCheckSecurityInterface::GetTemplate(v8::I solate* isolate, WrapperWorldType currentWorldType) 362 v8::Handle<v8::FunctionTemplate> V8TestCheckSecurityInterface::GetTemplate(v8::I solate* isolate, WrapperWorldType currentWorldType)
363 { 363 {
364 V8PerIsolateData* data = V8PerIsolateData::from(isolate); 364 V8PerIsolateData* data = V8PerIsolateData::from(isolate);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 V8DOMWrapper::associateObjectWithWrapper<V8TestCheckSecurityInterface>(impl, &wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent); 405 V8DOMWrapper::associateObjectWithWrapper<V8TestCheckSecurityInterface>(impl, &wrapperTypeInfo, wrapper, isolate, WrapperConfiguration::Independent);
406 return wrapper; 406 return wrapper;
407 } 407 }
408 408
409 void V8TestCheckSecurityInterface::derefObject(void* object) 409 void V8TestCheckSecurityInterface::derefObject(void* object)
410 { 410 {
411 fromInternalPointer(object)->deref(); 411 fromInternalPointer(object)->deref();
412 } 412 }
413 413
414 } // namespace WebCore 414 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/bindings/scripts/code_generator_v8.pm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698