summaryrefslogtreecommitdiffstats
path: root/chrome/common/render_messages_params.cc
diff options
context:
space:
mode:
authorfinnur@chromium.org <finnur@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-04 12:53:17 +0000
committerfinnur@chromium.org <finnur@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-04 12:53:17 +0000
commitbe7e5cb8d07fcae04a4ee8cfbab214a1f297a78f (patch)
treeae3c5e3d628aa736e9aa0c439afb376f6b5ee74b /chrome/common/render_messages_params.cc
parentf5e3d9ec8c0bfdf82d290ad242269ebf250dd5dc (diff)
downloadchromium_src-be7e5cb8d07fcae04a4ee8cfbab214a1f297a78f.zip
chromium_src-be7e5cb8d07fcae04a4ee8cfbab214a1f297a78f.tar.gz
chromium_src-be7e5cb8d07fcae04a4ee8cfbab214a1f297a78f.tar.bz2
Attempt2: Component extensions (and whitelisted extensions) specifying <all_urls> in their Extension match pattern should be allowed to run content scripts everywhere (including chrome://, chrome-extension://, about: and gallery pages.
The intent was to also allow these extensions to specify more granular permissions, such as about:version instead of <all_urls>, but that didn't make the cut this time. This CL also enables <all_urls> for host permissions for regular extensions, which was disabled before. Note: That still doesn't give them permission to script the gallery and chrome:// pages, etc. BUG=36275 TEST=Working on it right now. Review URL: http://codereview.chromium.org/3585009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61359 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/render_messages_params.cc')
-rw-r--r--chrome/common/render_messages_params.cc14
1 files changed, 8 insertions, 6 deletions
diff --git a/chrome/common/render_messages_params.cc b/chrome/common/render_messages_params.cc
index 8bd3eb8..ac81931 100644
--- a/chrome/common/render_messages_params.cc
+++ b/chrome/common/render_messages_params.cc
@@ -207,12 +207,11 @@ ViewMsg_ExecuteCode_Params::ViewMsg_ExecuteCode_Params() {
ViewMsg_ExecuteCode_Params::ViewMsg_ExecuteCode_Params(
int request_id,
const std::string& extension_id,
- const std::vector<URLPattern>& host_permissions,
bool is_javascript,
const std::string& code,
bool all_frames)
: request_id(request_id), extension_id(extension_id),
- host_permissions(host_permissions), is_javascript(is_javascript),
+ is_javascript(is_javascript),
code(code), all_frames(all_frames) {
}
@@ -267,7 +266,8 @@ ViewHostMsg_RunFileChooser_Params::~ViewHostMsg_RunFileChooser_Params() {
}
ViewMsg_ExtensionRendererInfo::ViewMsg_ExtensionRendererInfo()
- : location(Extension::INVALID) {
+ : location(Extension::INVALID),
+ allowed_to_execute_script_everywhere(false) {
}
ViewMsg_ExtensionRendererInfo::~ViewMsg_ExtensionRendererInfo() {
@@ -1414,7 +1414,6 @@ void ParamTraits<ViewMsg_ExecuteCode_Params>::Write(Message* m,
const param_type& p) {
WriteParam(m, p.request_id);
WriteParam(m, p.extension_id);
- WriteParam(m, p.host_permissions);
WriteParam(m, p.is_javascript);
WriteParam(m, p.code);
WriteParam(m, p.all_frames);
@@ -1426,7 +1425,6 @@ bool ParamTraits<ViewMsg_ExecuteCode_Params>::Read(const Message* m,
return
ReadParam(m, iter, &p->request_id) &&
ReadParam(m, iter, &p->extension_id) &&
- ReadParam(m, iter, &p->host_permissions) &&
ReadParam(m, iter, &p->is_javascript) &&
ReadParam(m, iter, &p->code) &&
ReadParam(m, iter, &p->all_frames);
@@ -1671,6 +1669,8 @@ void ParamTraits<ViewMsg_ExtensionRendererInfo>::Write(Message* m,
WriteParam(m, p.name);
WriteParam(m, p.icon_url);
WriteParam(m, p.location);
+ WriteParam(m, p.allowed_to_execute_script_everywhere);
+ WriteParam(m, p.host_permissions);
}
bool ParamTraits<ViewMsg_ExtensionRendererInfo>::Read(const Message* m,
@@ -1680,7 +1680,9 @@ bool ParamTraits<ViewMsg_ExtensionRendererInfo>::Read(const Message* m,
ReadParam(m, iter, &p->web_extent) &&
ReadParam(m, iter, &p->name) &&
ReadParam(m, iter, &p->icon_url) &&
- ReadParam(m, iter, &p->location);
+ ReadParam(m, iter, &p->location) &&
+ ReadParam(m, iter, &p->allowed_to_execute_script_everywhere) &&
+ ReadParam(m, iter, &p->host_permissions);
}
void ParamTraits<ViewMsg_ExtensionRendererInfo>::Log(const param_type& p,