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

Side by Side Diff: chrome/browser/extensions/api/tabs/tabs_api.cc

Issue 321533003: Separate PermissionsData::CanExecuteScriptOnPage into two functions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/tabs/tabs_api.h" 5 #include "chrome/browser/extensions/api/tabs/tabs_api.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 1160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1171 // Don't let the extension crash the browser or renderers. 1171 // Don't let the extension crash the browser or renderers.
1172 if (ExtensionTabUtil::IsCrashURL(url)) { 1172 if (ExtensionTabUtil::IsCrashURL(url)) {
1173 error_ = keys::kNoCrashBrowserError; 1173 error_ = keys::kNoCrashBrowserError;
1174 return false; 1174 return false;
1175 } 1175 }
1176 1176
1177 // JavaScript URLs can do the same kinds of things as cross-origin XHR, so 1177 // JavaScript URLs can do the same kinds of things as cross-origin XHR, so
1178 // we need to check host permissions before allowing them. 1178 // we need to check host permissions before allowing them.
1179 if (url.SchemeIs(url::kJavaScriptScheme)) { 1179 if (url.SchemeIs(url::kJavaScriptScheme)) {
1180 content::RenderProcessHost* process = web_contents_->GetRenderProcessHost(); 1180 content::RenderProcessHost* process = web_contents_->GetRenderProcessHost();
1181 if (!GetExtension()->permissions_data()->CanExecuteScriptOnPage( 1181 if (!GetExtension()->permissions_data()->CanAccessPage(
1182 GetExtension(), 1182 GetExtension(),
1183 web_contents_->GetURL(), 1183 web_contents_->GetURL(),
1184 web_contents_->GetURL(), 1184 web_contents_->GetURL(),
1185 tab_id, 1185 tab_id,
1186 NULL,
1187 process ? process->GetID() : -1, 1186 process ? process->GetID() : -1,
1188 &error_)) { 1187 &error_)) {
1189 return false; 1188 return false;
1190 } 1189 }
1191 1190
1192 TabHelper::FromWebContents(web_contents_)->script_executor()->ExecuteScript( 1191 TabHelper::FromWebContents(web_contents_)->script_executor()->ExecuteScript(
1193 extension_id(), 1192 extension_id(),
1194 ScriptExecutor::JAVASCRIPT, 1193 ScriptExecutor::JAVASCRIPT,
1195 url.GetContent(), 1194 url.GetContent(),
1196 ScriptExecutor::TOP_FRAME, 1195 ScriptExecutor::TOP_FRAME,
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
1649 NULL, 1648 NULL,
1650 &error_)) { 1649 &error_)) {
1651 return false; 1650 return false;
1652 } 1651 }
1653 1652
1654 CHECK(contents); 1653 CHECK(contents);
1655 1654
1656 // NOTE: This can give the wrong answer due to race conditions, but it is OK, 1655 // NOTE: This can give the wrong answer due to race conditions, but it is OK,
1657 // we check again in the renderer. 1656 // we check again in the renderer.
1658 content::RenderProcessHost* process = contents->GetRenderProcessHost(); 1657 content::RenderProcessHost* process = contents->GetRenderProcessHost();
1659 if (!GetExtension()->permissions_data()->CanExecuteScriptOnPage( 1658 if (!GetExtension()->permissions_data()->CanAccessPage(
1660 GetExtension(), 1659 GetExtension(),
1661 contents->GetURL(), 1660 contents->GetURL(),
1662 contents->GetURL(), 1661 contents->GetURL(),
1663 execute_tab_id_, 1662 execute_tab_id_,
1664 NULL,
1665 process ? process->GetID() : -1, 1663 process ? process->GetID() : -1,
1666 &error_)) { 1664 &error_)) {
1667 return false; 1665 return false;
1668 } 1666 }
1669 1667
1670 return true; 1668 return true;
1671 } 1669 }
1672 1670
1673 ScriptExecutor* ExecuteCodeInTabFunction::GetScriptExecutor() { 1671 ScriptExecutor* ExecuteCodeInTabFunction::GetScriptExecutor() {
1674 Browser* browser = NULL; 1672 Browser* browser = NULL;
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1744 execute_tab_id_ = tab_id; 1742 execute_tab_id_ = tab_id;
1745 details_ = details.Pass(); 1743 details_ = details.Pass();
1746 return true; 1744 return true;
1747 } 1745 }
1748 1746
1749 bool TabsInsertCSSFunction::ShouldInsertCSS() const { 1747 bool TabsInsertCSSFunction::ShouldInsertCSS() const {
1750 return true; 1748 return true;
1751 } 1749 }
1752 1750
1753 } // namespace extensions 1751 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698