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

Side by Side Diff: chrome/browser/extensions/api/extension_action/extension_action_api.cc

Issue 270153004: Introduce ActiveScriptController; track active extension scripts (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: UMA 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 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/extension_action/extension_action_api.h" 5 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/lazy_instance.h" 8 #include "base/lazy_instance.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 switch (extension_action.action_type()) { 391 switch (extension_action.action_type()) {
392 case ActionInfo::TYPE_BROWSER: 392 case ActionInfo::TYPE_BROWSER:
393 event_name = "browserAction.onClicked"; 393 event_name = "browserAction.onClicked";
394 break; 394 break;
395 case ActionInfo::TYPE_PAGE: 395 case ActionInfo::TYPE_PAGE:
396 event_name = "pageAction.onClicked"; 396 event_name = "pageAction.onClicked";
397 break; 397 break;
398 case ActionInfo::TYPE_SYSTEM_INDICATOR: 398 case ActionInfo::TYPE_SYSTEM_INDICATOR:
399 // The System Indicator handles its own clicks. 399 // The System Indicator handles its own clicks.
400 break; 400 break;
401 case ActionInfo::TYPE_ACTIVE_SCRIPT:
402 NOTREACHED(); // We shouldn't get these calls (yet).
403 return;
401 } 404 }
402 405
403 if (event_name) { 406 if (event_name) {
404 scoped_ptr<base::ListValue> args(new base::ListValue()); 407 scoped_ptr<base::ListValue> args(new base::ListValue());
405 base::DictionaryValue* tab_value = 408 base::DictionaryValue* tab_value =
406 extensions::ExtensionTabUtil::CreateTabValue(web_contents); 409 extensions::ExtensionTabUtil::CreateTabValue(web_contents);
407 args->Append(tab_value); 410 args->Append(tab_value);
408 411
409 DispatchEventToExtension( 412 DispatchEventToExtension(
410 context, extension_action.extension_id(), event_name, args.Pass()); 413 context, extension_action.extension_id(), event_name, args.Pass());
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 ->GetBrowserAction(*extension_.get())) { 616 ->GetBrowserAction(*extension_.get())) {
614 NotifyBrowserActionChange(); 617 NotifyBrowserActionChange();
615 } else if (ExtensionActionManager::Get(GetProfile()) 618 } else if (ExtensionActionManager::Get(GetProfile())
616 ->GetPageAction(*extension_.get())) { 619 ->GetPageAction(*extension_.get())) {
617 NotifyLocationBarChange(); 620 NotifyLocationBarChange();
618 } 621 }
619 return; 622 return;
620 case ActionInfo::TYPE_SYSTEM_INDICATOR: 623 case ActionInfo::TYPE_SYSTEM_INDICATOR:
621 NotifySystemIndicatorChange(); 624 NotifySystemIndicatorChange();
622 return; 625 return;
626 case ActionInfo::TYPE_ACTIVE_SCRIPT:
627 NOTREACHED(); // We shouldn't get these calls (yet).
628 return;
623 } 629 }
624 NOTREACHED(); 630 NOTREACHED();
625 } 631 }
626 632
627 void ExtensionActionFunction::NotifyBrowserActionChange() { 633 void ExtensionActionFunction::NotifyBrowserActionChange() {
628 content::NotificationService::current()->Notify( 634 content::NotificationService::current()->Notify(
629 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED, 635 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED,
630 content::Source<ExtensionAction>(extension_action_), 636 content::Source<ExtensionAction>(extension_action_),
631 content::Details<Profile>(GetProfile())); 637 content::Details<Profile>(GetProfile()));
632 } 638 }
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
915 return true; 921 return true;
916 } 922 }
917 923
918 bool EnablePageActionsFunction::RunSync() { 924 bool EnablePageActionsFunction::RunSync() {
919 return SetPageActionEnabled(true); 925 return SetPageActionEnabled(true);
920 } 926 }
921 927
922 bool DisablePageActionsFunction::RunSync() { 928 bool DisablePageActionsFunction::RunSync() {
923 return SetPageActionEnabled(false); 929 return SetPageActionEnabled(false);
924 } 930 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698