| Index: chrome/renderer/extensions/send_request_natives.cc
|
| diff --git a/chrome/renderer/extensions/send_request_natives.cc b/chrome/renderer/extensions/send_request_natives.cc
|
| index b788a8af7a99439ad60b58b3e1726b5c9440a8c7..be87840dcd105ed2d0ff2f1446f027dbdfe68883 100644
|
| --- a/chrome/renderer/extensions/send_request_natives.cc
|
| +++ b/chrome/renderer/extensions/send_request_natives.cc
|
| @@ -13,14 +13,20 @@ using content::V8ValueConverter;
|
| namespace extensions {
|
|
|
| SendRequestNatives::SendRequestNatives(Dispatcher* dispatcher,
|
| - RequestSender* request_sender)
|
| - : ChromeV8Extension(dispatcher), request_sender_(request_sender) {
|
| + RequestSender* request_sender,
|
| + ChromeV8Context* context)
|
| + : ChromeV8Extension(dispatcher, context->v8_context()),
|
| + request_sender_(request_sender),
|
| + context_(context) {
|
| RouteFunction("GetNextRequestId",
|
| base::Bind(&SendRequestNatives::GetNextRequestId,
|
| base::Unretained(this)));
|
| RouteFunction("StartRequest",
|
| base::Bind(&SendRequestNatives::StartRequest,
|
| base::Unretained(this)));
|
| + RouteFunction("GetGlobal",
|
| + base::Bind(&SendRequestNatives::GetGlobal,
|
| + base::Unretained(this)));
|
| }
|
|
|
| v8::Handle<v8::Value> SendRequestNatives::GetNextRequestId(
|
| @@ -42,22 +48,28 @@ v8::Handle<v8::Value> SendRequestNatives::StartRequest(
|
| scoped_ptr<V8ValueConverter> converter(V8ValueConverter::create());
|
|
|
| // See http://crbug.com/149880. The context menus APIs relies on this, but
|
| - // we shouln't really be doing it (e.g. for the sake of the storage API).
|
| + // we shouldn't really be doing it (e.g. for the sake of the storage API).
|
| converter->SetFunctionAllowed(true);
|
|
|
| if (!preserve_null_in_objects)
|
| converter->SetStripNullFromObjects(true);
|
|
|
| - scoped_ptr<Value> value_args(
|
| - converter->FromV8Value(args[1], v8::Context::GetCurrent()));
|
| + scoped_ptr<Value> value_args(converter->FromV8Value(args[1], v8_context()));
|
| if (!value_args.get() || !value_args->IsType(Value::TYPE_LIST)) {
|
| NOTREACHED() << "Unable to convert args passed to StartRequest";
|
| return v8::Undefined();
|
| }
|
|
|
| - request_sender_->StartRequest(name, request_id, has_callback, for_io_thread,
|
| - static_cast<ListValue*>(value_args.get()));
|
| + request_sender_->StartRequest(
|
| + context_, name, request_id, has_callback, for_io_thread,
|
| + static_cast<ListValue*>(value_args.get()));
|
| return v8::Undefined();
|
| }
|
|
|
| +v8::Handle<v8::Value> SendRequestNatives::GetGlobal(const v8::Arguments& args) {
|
| + CHECK_EQ(1, args.Length());
|
| + CHECK(args[0]->IsObject());
|
| + return v8::Handle<v8::Object>::Cast(args[0])->CreationContext()->Global();
|
| +}
|
| +
|
| } // namespace extensions
|
|
|