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

Unified Diff: chrome/renderer/extensions/send_request_natives.cc

Issue 10703111: Cleanup: make ExtensionRequestSender manage its IPC responses directly, rather (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: revert sceopd_observer change Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
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 d17fc0a4a2b686e3bafcf1e3885cc207e0c73470..725cc3db6b99a80c25ab74f87573d917a31156e4 100644
--- a/chrome/renderer/extensions/send_request_natives.cc
+++ b/chrome/renderer/extensions/send_request_natives.cc
@@ -17,28 +17,19 @@ SendRequestNatives::SendRequestNatives(
ExtensionRequestSender* request_sender)
: ChromeV8Extension(extension_dispatcher),
request_sender_(request_sender) {
- RouteFunction("GetNextRequestId",
- base::Bind(&SendRequestNatives::GetNextRequestId,
- base::Unretained(this)));
RouteFunction("StartRequest",
base::Bind(&SendRequestNatives::StartRequest,
base::Unretained(this)));
}
-v8::Handle<v8::Value> SendRequestNatives::GetNextRequestId(
- const v8::Arguments& args) {
- static int next_request_id = 0;
- return v8::Integer::New(next_request_id++);
-}
-
// Starts an API request to the browser, with an optional callback. The
// callback will be dispatched to EventBindings::HandleResponse.
v8::Handle<v8::Value> SendRequestNatives::StartRequest(
const v8::Arguments& args) {
std::string name = *v8::String::AsciiValue(args[0]);
- int request_id = args[2]->Int32Value();
- bool has_callback = args[3]->BooleanValue();
- bool for_io_thread = args[4]->BooleanValue();
+ // args[1] is the request args object.
+ bool has_callback = args[2]->BooleanValue();
+ bool for_io_thread = args[3]->BooleanValue();
scoped_ptr<V8ValueConverter> converter(V8ValueConverter::create());
@@ -50,14 +41,12 @@ v8::Handle<v8::Value> SendRequestNatives::StartRequest(
scoped_ptr<Value> value_args(
converter->FromV8Value(args[1], v8::Context::GetCurrent()));
- 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()));
- return v8::Undefined();
+ CHECK(value_args.get());
+ ListValue* api_args = NULL;
+ CHECK(value_args->GetAsList(&api_args));
+
+ return v8::Integer::New(request_sender_->StartRequest(
+ name, has_callback, for_io_thread, api_args));
}
} // namespace extensions
« no previous file with comments | « chrome/renderer/extensions/extension_request_sender.cc ('k') | chrome/renderer/extensions/set_icon_natives.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698