summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_function_dispatcher.cc
diff options
context:
space:
mode:
authorrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-26 18:08:43 +0000
committerrogerta@chromium.org <rogerta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-26 18:08:43 +0000
commit438772df5a7055847d061d49a8c18e6fc77daedb (patch)
treec748b7ff544f07d888a6978cac99c7c1b5d261b6 /chrome/browser/extensions/extension_function_dispatcher.cc
parent46ef2ce78952914d3723b07aae28b024a1e8a6ad (diff)
downloadchromium_src-438772df5a7055847d061d49a8c18e6fc77daedb.zip
chromium_src-438772df5a7055847d061d49a8c18e6fc77daedb.tar.gz
chromium_src-438772df5a7055847d061d49a8c18e6fc77daedb.tar.bz2
Add a metrics extensions API.
See http://docs.google.com/View?id=dd4ngnpz_0dpsb8n96 for API proposal. BUG=0 TEST=See unit tests as part of this CL Review URL: http://codereview.chromium.org/657037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40130 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_function_dispatcher.cc')
-rw-r--r--chrome/browser/extensions/extension_function_dispatcher.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/extensions/extension_function_dispatcher.cc b/chrome/browser/extensions/extension_function_dispatcher.cc
index 35b73a5..8f868eb 100644
--- a/chrome/browser/extensions/extension_function_dispatcher.cc
+++ b/chrome/browser/extensions/extension_function_dispatcher.cc
@@ -20,6 +20,7 @@
#include "chrome/browser/extensions/extension_history_api.h"
#include "chrome/browser/extensions/extension_i18n_api.h"
#include "chrome/browser/extensions/extension_message_service.h"
+#include "chrome/browser/extensions/extension_metrics_module.h"
#include "chrome/browser/extensions/extension_page_actions_module.h"
#include "chrome/browser/extensions/extension_page_actions_module_constants.h"
#include "chrome/browser/extensions/extension_popup_api.h"
@@ -34,6 +35,7 @@
#include "chrome/browser/profile.h"
#include "chrome/browser/renderer_host/render_process_host.h"
#include "chrome/browser/renderer_host/render_view_host.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/render_messages.h"
#include "chrome/common/result_codes.h"
#include "chrome/common/url_constants.h"
@@ -169,6 +171,20 @@ void FactoryRegistry::ResetFunctions() {
// Processes.
RegisterFunction<GetProcessForTabFunction>();
+ // Metrics.
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableMetricsExtensionApi)) {
+ RegisterFunction<MetricsRecordUserActionFunction>();
+ RegisterFunction<MetricsRecordValueFunction>();
+ RegisterFunction<MetricsRecordPercentageFunction>();
+ RegisterFunction<MetricsRecordCountFunction>();
+ RegisterFunction<MetricsRecordSmallCountFunction>();
+ RegisterFunction<MetricsRecordMediumCountFunction>();
+ RegisterFunction<MetricsRecordTimeFunction>();
+ RegisterFunction<MetricsRecordMediumTimeFunction>();
+ RegisterFunction<MetricsRecordLongTimeFunction>();
+ }
+
// Test.
RegisterFunction<ExtensionTestPassFunction>();
RegisterFunction<ExtensionTestFailFunction>();