| Index: chrome/browser/ui/webui/options/managed_user_settings_handler.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/options/managed_user_settings_handler.cc (revision 177135)
|
| +++ chrome/browser/ui/webui/options/managed_user_settings_handler.cc (working copy)
|
| @@ -4,13 +4,21 @@
|
|
|
| #include "chrome/browser/ui/webui/options/managed_user_settings_handler.h"
|
|
|
| +#include "base/bind.h"
|
| #include "base/command_line.h"
|
| #include "base/logging.h"
|
| +#include "base/metrics/histogram.h"
|
| +#include "base/time.h"
|
| #include "base/values.h"
|
| +#include "chrome/browser/first_run/first_run.h"
|
| #include "chrome/common/chrome_switches.h"
|
| +#include "content/public/browser/user_metrics.h"
|
| +#include "content/public/browser/web_ui.h"
|
| #include "grit/generated_resources.h"
|
| #include "grit/locale_settings.h"
|
|
|
| +using content::UserMetricsAction;
|
| +
|
| namespace options {
|
|
|
| ManagedUserSettingsHandler::ManagedUserSettingsHandler() {
|
| @@ -19,6 +27,11 @@
|
| ManagedUserSettingsHandler::~ManagedUserSettingsHandler() {
|
| }
|
|
|
| +void ManagedUserSettingsHandler::InitializePage() {
|
| + start_time_ = base::TimeTicks::Now();
|
| + content::RecordAction(UserMetricsAction("ManagedMode_OpenSettings"));
|
| +}
|
| +
|
| void ManagedUserSettingsHandler::GetLocalizedValues(
|
| base::DictionaryValue* localized_strings) {
|
| DCHECK(localized_strings);
|
| @@ -52,4 +65,29 @@
|
| switches::kEnableManagedUsers));
|
| }
|
|
|
| +void ManagedUserSettingsHandler::RegisterMessages() {
|
| + web_ui()->RegisterMessageCallback("confirmManagedUserSettings",
|
| + base::Bind(&ManagedUserSettingsHandler::ConfirmChanges,
|
| + base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback("cancelManagedUserSettings",
|
| + base::Bind(&ManagedUserSettingsHandler::CancelChanges,
|
| + base::Unretained(this)));
|
| +}
|
| +
|
| +void ManagedUserSettingsHandler::ConfirmChanges(const ListValue* args) {
|
| + // TODO(pamg): Is there any way we can distinguish an initial configuration
|
| + // step from later adjustments?
|
| + if (first_run::IsChromeFirstRun()) {
|
| + UMA_HISTOGRAM_LONG_TIMES("ManagedMode.UserSettingsFirstRunTime",
|
| + base::TimeTicks::Now() - start_time_);
|
| + } else {
|
| + UMA_HISTOGRAM_LONG_TIMES("ManagedMode.UserSettingsModifyTime",
|
| + base::TimeTicks::Now() - start_time_);
|
| + }
|
| +}
|
| +
|
| +void ManagedUserSettingsHandler::CancelChanges(const ListValue* args) {
|
| + content::RecordAction(UserMetricsAction("ManagedMode_CancelSettings"));
|
| +}
|
| +
|
| } // namespace options
|
|
|