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

Side by Side Diff: Source/web/WebBindings.cpp

Issue 23537048: Reduce usage of v8::Isolate::GetCurrent() in NPV8Object (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 3 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
« no previous file with comments | « Source/bindings/v8/V8NPUtils.cpp ('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) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 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 301 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 } 312 }
313 313
314 static NPObject* makeIntArrayImpl(const WebVector<int>& data, v8::Isolate* isola te) 314 static NPObject* makeIntArrayImpl(const WebVector<int>& data, v8::Isolate* isola te)
315 { 315 {
316 v8::HandleScope handleScope(isolate); 316 v8::HandleScope handleScope(isolate);
317 v8::Handle<v8::Array> result = v8::Array::New(data.size()); 317 v8::Handle<v8::Array> result = v8::Array::New(data.size());
318 for (size_t i = 0; i < data.size(); ++i) 318 for (size_t i = 0; i < data.size(); ++i)
319 result->Set(i, v8::Number::New(isolate, data[i])); 319 result->Set(i, v8::Number::New(isolate, data[i]));
320 320
321 DOMWindow* window = toDOMWindow(isolate->GetCurrentContext()); 321 DOMWindow* window = toDOMWindow(isolate->GetCurrentContext());
322 return npCreateV8ScriptObject(0, result, window); 322 return npCreateV8ScriptObject(0, result, window, isolate);
323 } 323 }
324 324
325 static NPObject* makeStringArrayImpl(const WebVector<WebString>& data, v8::Isola te* isolate) 325 static NPObject* makeStringArrayImpl(const WebVector<WebString>& data, v8::Isola te* isolate)
326 { 326 {
327 v8::HandleScope handleScope(isolate); 327 v8::HandleScope handleScope(isolate);
328 v8::Handle<v8::Array> result = v8::Array::New(data.size()); 328 v8::Handle<v8::Array> result = v8::Array::New(data.size());
329 for (size_t i = 0; i < data.size(); ++i) 329 for (size_t i = 0; i < data.size(); ++i)
330 result->Set(i, v8String(data[i], isolate)); 330 result->Set(i, v8String(data[i], isolate));
331 331
332 DOMWindow* window = toDOMWindow(isolate->GetCurrentContext()); 332 DOMWindow* window = toDOMWindow(isolate->GetCurrentContext());
333 return npCreateV8ScriptObject(0, result, window); 333 return npCreateV8ScriptObject(0, result, window, isolate);
334 } 334 }
335 335
336 bool WebBindings::getRange(NPObject* range, WebRange* webRange) 336 bool WebBindings::getRange(NPObject* range, WebRange* webRange)
337 { 337 {
338 return getRangeImpl(range, webRange, v8::Isolate::GetCurrent()); 338 return getRangeImpl(range, webRange, v8::Isolate::GetCurrent());
339 } 339 }
340 340
341 bool WebBindings::getArrayBuffer(NPObject* arrayBuffer, WebArrayBuffer* webArray Buffer) 341 bool WebBindings::getArrayBuffer(NPObject* arrayBuffer, WebArrayBuffer* webArray Buffer)
342 { 342 {
343 return getArrayBufferImpl(arrayBuffer, webArrayBuffer, v8::Isolate::GetCurre nt()); 343 return getArrayBufferImpl(arrayBuffer, webArrayBuffer, v8::Isolate::GetCurre nt());
(...skipping 29 matching lines...) Expand all
373 WebCore::pushExceptionHandler(handler, data); 373 WebCore::pushExceptionHandler(handler, data);
374 } 374 }
375 375
376 void WebBindings::popExceptionHandler() 376 void WebBindings::popExceptionHandler()
377 { 377 {
378 WebCore::popExceptionHandler(); 378 WebCore::popExceptionHandler();
379 } 379 }
380 380
381 void WebBindings::toNPVariant(v8::Local<v8::Value> object, NPObject* root, NPVar iant* result) 381 void WebBindings::toNPVariant(v8::Local<v8::Value> object, NPObject* root, NPVar iant* result)
382 { 382 {
383 WebCore::convertV8ObjectToNPVariant(object, root, result); 383 WebCore::convertV8ObjectToNPVariant(object, root, result, v8::Isolate::GetCu rrent());
384 } 384 }
385 385
386 v8::Handle<v8::Value> WebBindings::toV8Value(const NPVariant* variant) 386 v8::Handle<v8::Value> WebBindings::toV8Value(const NPVariant* variant)
387 { 387 {
388 v8::Isolate* isolate = v8::Isolate::GetCurrent(); 388 v8::Isolate* isolate = v8::Isolate::GetCurrent();
389 if (variant->type == NPVariantType_Object) { 389 if (variant->type == NPVariantType_Object) {
390 NPObject* object = NPVARIANT_TO_OBJECT(*variant); 390 NPObject* object = NPVARIANT_TO_OBJECT(*variant);
391 V8NPObject* v8Object = npObjectToV8NPObject(object); 391 V8NPObject* v8Object = npObjectToV8NPObject(object);
392 if (!v8Object) 392 if (!v8Object)
393 return v8::Undefined(isolate); 393 return v8::Undefined(isolate);
394 return convertNPVariantToV8Object(variant, v8Object->rootObject->frame() ->script()->windowScriptNPObject(), isolate); 394 return convertNPVariantToV8Object(variant, v8Object->rootObject->frame() ->script()->windowScriptNPObject(), isolate);
395 } 395 }
396 // Safe to pass 0 since we have checked the script object class to make sure the 396 // Safe to pass 0 since we have checked the script object class to make sure the
397 // argument is a primitive v8 type. 397 // argument is a primitive v8 type.
398 return convertNPVariantToV8Object(variant, 0, isolate); 398 return convertNPVariantToV8Object(variant, 0, isolate);
399 } 399 }
400 400
401 } // namespace WebKit 401 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/bindings/v8/V8NPUtils.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698