summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/extensions
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-02 21:01:39 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-02 21:01:39 +0000
commitbb64b5128f1641cba1e802ae7d0768be955ffdc5 (patch)
tree155aa1198f32f57dbdce887dd49a0d7b892fd283 /chrome/renderer/extensions
parentdb163f8b20b0a6c512e1ad21bab9af15a8c9c218 (diff)
downloadchromium_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.cc2
-rw-r--r--chrome/renderer/extensions/extension_process_bindings.cc7
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, &params);
- 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();