| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |