1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/browser/ui/options/options_page_base.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/metrics/user_metrics.h" 83345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/prefs/pref_service.h" 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/common/notification_details.h" 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/common/notification_source.h" 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/common/notification_type.h" 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch/////////////////////////////////////////////////////////////////////////////// 14c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// OptionsPageBase 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochOptionsPageBase::OptionsPageBase(Profile* profile) 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch : profile_(profile) { 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochOptionsPageBase::~OptionsPageBase() { 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid OptionsPageBase::UserMetricsRecordAction(const UserMetricsAction& action, 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch PrefService* prefs) { 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UserMetrics::RecordAction(action, profile()); 26c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (prefs) 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch prefs->ScheduleSavePersistentPrefs(); 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch/////////////////////////////////////////////////////////////////////////////// 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// OptionsPageBase, NotificationObserver implementation: 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid OptionsPageBase::Observe(NotificationType type, 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const NotificationSource& source, 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch const NotificationDetails& details) { 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (type == NotificationType::PREF_CHANGED) 373345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick NotifyPrefChanged(Details<std::string>(details).ptr()); 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 39