diff options
author | finnur@chromium.org <finnur@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-04 12:53:17 +0000 |
---|---|---|
committer | finnur@chromium.org <finnur@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-04 12:53:17 +0000 |
commit | be7e5cb8d07fcae04a4ee8cfbab214a1f297a78f (patch) | |
tree | ae3c5e3d628aa736e9aa0c439afb376f6b5ee74b /chrome/common/render_messages_params.cc | |
parent | f5e3d9ec8c0bfdf82d290ad242269ebf250dd5dc (diff) | |
download | chromium_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.cc | 14 |
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, |