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

Unified Diff: trunk/src/chrome/browser/extensions/active_script_controller.cc

Issue 307933008: Revert 273866 "Block content scripts from executing until user g..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: trunk/src/chrome/browser/extensions/active_script_controller.cc
===================================================================
--- trunk/src/chrome/browser/extensions/active_script_controller.cc (revision 274101)
+++ trunk/src/chrome/browser/extensions/active_script_controller.cc (working copy)
@@ -110,7 +110,7 @@
}
void ActiveScriptController::OnAdInjectionDetected(
- const std::set<std::string>& ad_injectors) {
+ const std::set<std::string> ad_injectors) {
// We're only interested in data if there are ad injectors detected.
if (ad_injectors.empty())
return;
@@ -213,10 +213,9 @@
LocationBarController::NotifyChange(web_contents());
}
-void ActiveScriptController::OnRequestContentScriptPermission(
+void ActiveScriptController::OnNotifyExtensionScriptExecution(
const std::string& extension_id,
- int page_id,
- int request_id) {
+ int page_id) {
if (!Extension::IdIsValid(extension_id)) {
NOTREACHED() << "'" << extension_id << "' is not a valid id.";
return;
@@ -230,44 +229,18 @@
if (!extension)
return;
- // If the request id is -1, that signals that the content script has already
- // ran (because this feature is not enabled). Add the extension to the list of
- // permitted extensions (for metrics), and return immediately.
- if (request_id == -1) {
- DCHECK(!enabled_);
- permitted_extensions_.insert(extension->id());
- return;
- }
-
- if (RequiresUserConsentForScriptInjection(extension)) {
- // This base::Unretained() is safe, because the callback is only invoked by
- // this object.
- RequestScriptInjection(
- extension,
- page_id,
- base::Bind(&ActiveScriptController::GrantContentScriptPermission,
- base::Unretained(this),
- request_id));
- } else {
- GrantContentScriptPermission(request_id);
- }
+ // Right now, we allow all content scripts to execute, but notify the
+ // controller of them.
+ // TODO(rdevlin.cronin): Fix this in a future CL.
+ if (RequiresUserConsentForScriptInjection(extension))
+ RequestScriptInjection(extension, page_id, base::Bind(&base::DoNothing));
}
-void ActiveScriptController::GrantContentScriptPermission(int request_id) {
- content::RenderViewHost* render_view_host =
- web_contents()->GetRenderViewHost();
- if (render_view_host) {
- render_view_host->Send(new ExtensionMsg_GrantContentScriptPermission(
- render_view_host->GetRoutingID(),
- request_id));
- }
-}
-
bool ActiveScriptController::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(ActiveScriptController, message)
- IPC_MESSAGE_HANDLER(ExtensionHostMsg_RequestContentScriptPermission,
- OnRequestContentScriptPermission)
+ IPC_MESSAGE_HANDLER(ExtensionHostMsg_NotifyExtensionScriptExecution,
+ OnNotifyExtensionScriptExecution)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;

Powered by Google App Engine
This is Rietveld 408576698