diff options
author | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-02 21:01:39 +0000 |
---|---|---|
committer | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-02 21:01:39 +0000 |
commit | bb64b5128f1641cba1e802ae7d0768be955ffdc5 (patch) | |
tree | 155aa1198f32f57dbdce887dd49a0d7b892fd283 /chrome/renderer/extensions | |
parent | db163f8b20b0a6c512e1ad21bab9af15a8c9c218 (diff) | |
download | chromium_src-bb64b5128f1641cba1e802ae7d0768be955ffdc5.zip chromium_src-bb64b5128f1641cba1e802ae7d0768be955ffdc5.tar.gz chromium_src-bb64b5128f1641cba1e802ae7d0768be955ffdc5.tar.bz2 |
Add calling frame's source_url to extension and dom ui requests.
Additionally, in the extension and tabs api, compute & report UMA histogram data for relative URL use in API calls so we can decide if it's possible to change the behavior of relative url resolution to use the calling frame's url rather than the extension's base url.
Review URL: http://codereview.chromium.org/1605005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43523 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/extensions')
-rw-r--r-- | chrome/renderer/extensions/extension_api_client_unittest.cc | 2 | ||||
-rw-r--r-- | chrome/renderer/extensions/extension_process_bindings.cc | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/chrome/renderer/extensions/extension_api_client_unittest.cc b/chrome/renderer/extensions/extension_api_client_unittest.cc index 7158a8c..111c991 100644 --- a/chrome/renderer/extensions/extension_api_client_unittest.cc +++ b/chrome/renderer/extensions/extension_api_client_unittest.cc @@ -97,7 +97,7 @@ TEST_F(ExtensionAPIClientTest, CallbackDispatching) { ASSERT_TRUE(request_msg); ViewHostMsg_ExtensionRequest::Param params; ViewHostMsg_ExtensionRequest::Read(request_msg, ¶ms); - int callback_id = params.c; + int callback_id = params.d; ASSERT_GE(callback_id, 0); // Now send the callback a response diff --git a/chrome/renderer/extensions/extension_process_bindings.cc b/chrome/renderer/extensions/extension_process_bindings.cc index 71b77a5..3232237 100644 --- a/chrome/renderer/extensions/extension_process_bindings.cc +++ b/chrome/renderer/extensions/extension_process_bindings.cc @@ -421,6 +421,11 @@ class ExtensionImpl : public ExtensionBase { return ExtensionProcessBindings::ThrowPermissionDeniedException(name); } + GURL source_url; + WebFrame* webframe = WebFrame::frameForCurrentContext(); + if (webframe) + source_url = webframe->url(); + int request_id = args[2]->Int32Value(); bool has_callback = args[3]->BooleanValue(); @@ -435,7 +440,7 @@ class ExtensionImpl : public ExtensionBase { GetPendingRequestMap()[request_id].reset(new PendingRequest( current_context, name)); - renderview->SendExtensionRequest(name, args_holder, + renderview->SendExtensionRequest(name, args_holder, source_url, request_id, has_callback); return v8::Undefined(); |