| Index: chrome/browser/sync/glue/typed_url_data_type_controller.cc
|
| diff --git a/chrome/browser/sync/glue/typed_url_data_type_controller.cc b/chrome/browser/sync/glue/typed_url_data_type_controller.cc
|
| index a4b6eecc1f6eea241fca32a27e993215896aa2a5..0642d062f8e9891d601faaf0efad35dbddff8bb6 100644
|
| --- a/chrome/browser/sync/glue/typed_url_data_type_controller.cc
|
| +++ b/chrome/browser/sync/glue/typed_url_data_type_controller.cc
|
| @@ -29,7 +29,6 @@ class RunHistoryBackendTask : public HistoryDBTask {
|
| public:
|
| explicit RunHistoryBackendTask(const HistoryBackendTask& task)
|
| : task_(task) {}
|
| - virtual ~RunHistoryBackendTask() {}
|
|
|
| virtual bool RunOnDBThread(history::HistoryBackend* backend,
|
| history::HistoryDatabase* db) {
|
| @@ -40,6 +39,8 @@ class RunHistoryBackendTask : public HistoryDBTask {
|
| virtual void DoneRunOnMainThread() {}
|
|
|
| protected:
|
| + virtual ~RunHistoryBackendTask() {}
|
| +
|
| HistoryBackendTask task_;
|
| };
|
|
|
| @@ -57,7 +58,39 @@ TypedUrlDataTypeController::TypedUrlDataTypeController(
|
| pref_registrar_.Add(prefs::kSavingBrowserHistoryDisabled, this);
|
| }
|
|
|
| -TypedUrlDataTypeController::~TypedUrlDataTypeController() {
|
| +syncable::ModelType TypedUrlDataTypeController::type() const {
|
| + return syncable::TYPED_URLS;
|
| +}
|
| +
|
| +browser_sync::ModelSafeGroup TypedUrlDataTypeController::model_safe_group()
|
| + const {
|
| + return browser_sync::GROUP_HISTORY;
|
| +}
|
| +
|
| +void TypedUrlDataTypeController::Observe(
|
| + int type,
|
| + const content::NotificationSource& source,
|
| + const content::NotificationDetails& details) {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + switch (type) {
|
| + case chrome::NOTIFICATION_PREF_CHANGED:
|
| + DCHECK(*content::Details<std::string>(details).ptr() ==
|
| + prefs::kSavingBrowserHistoryDisabled);
|
| + if (profile()->GetPrefs()->GetBoolean(
|
| + prefs::kSavingBrowserHistoryDisabled)) {
|
| + // We've turned off history persistence, so if we are running,
|
| + // generate an unrecoverable error. This can be fixed by restarting
|
| + // Chrome (on restart, typed urls will not be a registered type).
|
| + if (state() != NOT_RUNNING && state() != STOPPING) {
|
| + profile_sync_service()->OnDisableDatatype(syncable::TYPED_URLS,
|
| + FROM_HERE, "History saving is now disabled by policy.");
|
| + }
|
| + }
|
| + break;
|
| + default:
|
| + NOTREACHED();
|
| + break;
|
| + }
|
| }
|
|
|
| bool TypedUrlDataTypeController::PostTaskOnBackendThread(
|
| @@ -81,14 +114,6 @@ bool TypedUrlDataTypeController::PostTaskOnBackendThread(
|
| }
|
| }
|
|
|
| -void TypedUrlDataTypeController::RunTaskOnBackendThread(
|
| - const base::Closure& task,
|
| - history::HistoryBackend* backend) {
|
| - // Store |backend| so that |task| can use it.
|
| - backend_ = backend;
|
| - task.Run();
|
| -}
|
| -
|
| void TypedUrlDataTypeController::CreateSyncComponents() {
|
| DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK_EQ(state(), ASSOCIATING);
|
| @@ -102,32 +127,6 @@ void TypedUrlDataTypeController::CreateSyncComponents() {
|
| set_change_processor(sync_components.change_processor);
|
| }
|
|
|
| -void TypedUrlDataTypeController::Observe(
|
| - int type,
|
| - const content::NotificationSource& source,
|
| - const content::NotificationDetails& details) {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - switch (type) {
|
| - case chrome::NOTIFICATION_PREF_CHANGED:
|
| - DCHECK(*content::Details<std::string>(details).ptr() ==
|
| - prefs::kSavingBrowserHistoryDisabled);
|
| - if (profile()->GetPrefs()->GetBoolean(
|
| - prefs::kSavingBrowserHistoryDisabled)) {
|
| - // We've turned off history persistence, so if we are running,
|
| - // generate an unrecoverable error. This can be fixed by restarting
|
| - // Chrome (on restart, typed urls will not be a registered type).
|
| - if (state() != NOT_RUNNING && state() != STOPPING) {
|
| - profile_sync_service()->OnDisableDatatype(syncable::TYPED_URLS,
|
| - FROM_HERE, "History saving is now disabled by policy.");
|
| - }
|
| - }
|
| - break;
|
| - default:
|
| - NOTREACHED();
|
| - break;
|
| - }
|
| -}
|
| -
|
| void TypedUrlDataTypeController::StopModels() {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| DCHECK(state() == STOPPING || state() == NOT_RUNNING || state() == DISABLED);
|
| @@ -135,13 +134,14 @@ void TypedUrlDataTypeController::StopModels() {
|
| notification_registrar_.RemoveAll();
|
| }
|
|
|
| -syncable::ModelType TypedUrlDataTypeController::type() const {
|
| - return syncable::TYPED_URLS;
|
| -}
|
| +TypedUrlDataTypeController::~TypedUrlDataTypeController() {}
|
|
|
| -browser_sync::ModelSafeGroup TypedUrlDataTypeController::model_safe_group()
|
| - const {
|
| - return browser_sync::GROUP_HISTORY;
|
| +void TypedUrlDataTypeController::RunTaskOnBackendThread(
|
| + const base::Closure& task,
|
| + history::HistoryBackend* backend) {
|
| + // Store |backend| so that |task| can use it.
|
| + backend_ = backend;
|
| + task.Run();
|
| }
|
|
|
| } // namespace browser_sync
|
|
|