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

Side by Side Diff: extensions/browser/api/management/management_api.cc

Issue 1236493004: Final batch adding real histogram values for extension events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments, rebase, dcheck, etc Created 5 years, 5 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
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 "extensions/browser/api/management/management_api.h" 5 #include "extensions/browser/api/management/management_api.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 : browser_context_(context), extension_registry_observer_(this) { 825 : browser_context_(context), extension_registry_observer_(this) {
826 extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_)); 826 extension_registry_observer_.Add(ExtensionRegistry::Get(browser_context_));
827 } 827 }
828 828
829 ManagementEventRouter::~ManagementEventRouter() { 829 ManagementEventRouter::~ManagementEventRouter() {
830 } 830 }
831 831
832 void ManagementEventRouter::OnExtensionLoaded( 832 void ManagementEventRouter::OnExtensionLoaded(
833 content::BrowserContext* browser_context, 833 content::BrowserContext* browser_context,
834 const Extension* extension) { 834 const Extension* extension) {
835 BroadcastEvent(extension, management::OnEnabled::kEventName); 835 BroadcastEvent(extension, events::MANAGEMENT_ON_ENABLED,
836 management::OnEnabled::kEventName);
836 } 837 }
837 838
838 void ManagementEventRouter::OnExtensionUnloaded( 839 void ManagementEventRouter::OnExtensionUnloaded(
839 content::BrowserContext* browser_context, 840 content::BrowserContext* browser_context,
840 const Extension* extension, 841 const Extension* extension,
841 UnloadedExtensionInfo::Reason reason) { 842 UnloadedExtensionInfo::Reason reason) {
842 BroadcastEvent(extension, management::OnDisabled::kEventName); 843 BroadcastEvent(extension, events::MANAGEMENT_ON_DISABLED,
844 management::OnDisabled::kEventName);
843 } 845 }
844 846
845 void ManagementEventRouter::OnExtensionInstalled( 847 void ManagementEventRouter::OnExtensionInstalled(
846 content::BrowserContext* browser_context, 848 content::BrowserContext* browser_context,
847 const Extension* extension, 849 const Extension* extension,
848 bool is_update) { 850 bool is_update) {
849 BroadcastEvent(extension, management::OnInstalled::kEventName); 851 BroadcastEvent(extension, events::MANAGEMENT_ON_INSTALLED,
852 management::OnInstalled::kEventName);
850 } 853 }
851 854
852 void ManagementEventRouter::OnExtensionUninstalled( 855 void ManagementEventRouter::OnExtensionUninstalled(
853 content::BrowserContext* browser_context, 856 content::BrowserContext* browser_context,
854 const Extension* extension, 857 const Extension* extension,
855 extensions::UninstallReason reason) { 858 extensions::UninstallReason reason) {
856 BroadcastEvent(extension, management::OnUninstalled::kEventName); 859 BroadcastEvent(extension, events::MANAGEMENT_ON_UNINSTALLED,
860 management::OnUninstalled::kEventName);
857 } 861 }
858 862
859 void ManagementEventRouter::BroadcastEvent(const Extension* extension, 863 void ManagementEventRouter::BroadcastEvent(
860 const char* event_name) { 864 const Extension* extension,
865 events::HistogramValue histogram_value,
866 const char* event_name) {
861 if (ShouldNotBeVisible(extension, browser_context_)) 867 if (ShouldNotBeVisible(extension, browser_context_))
862 return; // Don't dispatch events for built-in extenions. 868 return; // Don't dispatch events for built-in extenions.
863 scoped_ptr<base::ListValue> args(new base::ListValue()); 869 scoped_ptr<base::ListValue> args(new base::ListValue());
864 if (event_name == management::OnUninstalled::kEventName) { 870 if (event_name == management::OnUninstalled::kEventName) {
865 args->Append(new base::StringValue(extension->id())); 871 args->Append(new base::StringValue(extension->id()));
866 } else { 872 } else {
867 scoped_ptr<management::ExtensionInfo> info = 873 scoped_ptr<management::ExtensionInfo> info =
868 CreateExtensionInfo(*extension, browser_context_); 874 CreateExtensionInfo(*extension, browser_context_);
869 args->Append(info->ToValue().release()); 875 args->Append(info->ToValue().release());
870 } 876 }
871 877
872 EventRouter::Get(browser_context_) 878 EventRouter::Get(browser_context_)
873 ->BroadcastEvent(scoped_ptr<Event>( 879 ->BroadcastEvent(scoped_ptr<Event>(
874 new Event(events::UNKNOWN, event_name, args.Pass()))); 880 new Event(histogram_value, event_name, args.Pass())));
875 } 881 }
876 882
877 ManagementAPI::ManagementAPI(content::BrowserContext* context) 883 ManagementAPI::ManagementAPI(content::BrowserContext* context)
878 : browser_context_(context), 884 : browser_context_(context),
879 delegate_(ExtensionsAPIClient::Get()->CreateManagementAPIDelegate()) { 885 delegate_(ExtensionsAPIClient::Get()->CreateManagementAPIDelegate()) {
880 EventRouter* event_router = EventRouter::Get(browser_context_); 886 EventRouter* event_router = EventRouter::Get(browser_context_);
881 event_router->RegisterObserver(this, management::OnInstalled::kEventName); 887 event_router->RegisterObserver(this, management::OnInstalled::kEventName);
882 event_router->RegisterObserver(this, management::OnUninstalled::kEventName); 888 event_router->RegisterObserver(this, management::OnUninstalled::kEventName);
883 event_router->RegisterObserver(this, management::OnEnabled::kEventName); 889 event_router->RegisterObserver(this, management::OnEnabled::kEventName);
884 event_router->RegisterObserver(this, management::OnDisabled::kEventName); 890 event_router->RegisterObserver(this, management::OnDisabled::kEventName);
(...skipping 14 matching lines...) Expand all
899 ManagementAPI::GetFactoryInstance() { 905 ManagementAPI::GetFactoryInstance() {
900 return g_factory.Pointer(); 906 return g_factory.Pointer();
901 } 907 }
902 908
903 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) { 909 void ManagementAPI::OnListenerAdded(const EventListenerInfo& details) {
904 management_event_router_.reset(new ManagementEventRouter(browser_context_)); 910 management_event_router_.reset(new ManagementEventRouter(browser_context_));
905 EventRouter::Get(browser_context_)->UnregisterObserver(this); 911 EventRouter::Get(browser_context_)->UnregisterObserver(this);
906 } 912 }
907 913
908 } // namespace extensions 914 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698