| Index: chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc
|
| diff --git a/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc b/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc
|
| index a95493d6e723c4b4fb6fb4db024c685fd7643f0c..f2d0dba50a4988d7bde3bcee08f5fb7a1d07c921 100644
|
| --- a/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc
|
| +++ b/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.cc
|
| @@ -13,21 +13,15 @@
|
| #include "components/sync/driver/sync_client.h"
|
| #include "components/sync/driver/sync_prefs.h"
|
| #include "components/sync/driver/sync_service.h"
|
| -#include "content/public/browser/browser_thread.h"
|
|
|
| // ArcPackage sync service is controlled by apps checkbox in sync settings. Arc
|
| // apps and regular Chrome apps have same user control.
|
| ArcPackageSyncDataTypeController::ArcPackageSyncDataTypeController(
|
| syncer::ModelType type,
|
| - const base::Closure& error_callback,
|
| + const base::Closure& dump_stack,
|
| sync_driver::SyncClient* sync_client,
|
| Profile* profile)
|
| - : sync_driver::UIDataTypeController(
|
| - content::BrowserThread::GetTaskRunnerForThread(
|
| - content::BrowserThread::UI),
|
| - error_callback,
|
| - type,
|
| - sync_client),
|
| + : sync_driver::UIDataTypeController(type, dump_stack, sync_client),
|
| profile_(profile),
|
| sync_client_(sync_client) {
|
| pref_registrar_.Init(profile_->GetPrefs());
|
| @@ -44,6 +38,7 @@ ArcPackageSyncDataTypeController::ArcPackageSyncDataTypeController(
|
| ArcPackageSyncDataTypeController::~ArcPackageSyncDataTypeController() {}
|
|
|
| bool ArcPackageSyncDataTypeController::ReadyForStart() const {
|
| + DCHECK(CalledOnValidThread());
|
| ArcAppListPrefs* prefs = ArcAppListPrefs::Get(profile_);
|
| return profile_->GetPrefs()->GetBoolean(
|
| sync_driver::SyncPrefs::GetPrefNameForDataType(type())) &&
|
| @@ -51,7 +46,7 @@ bool ArcPackageSyncDataTypeController::ReadyForStart() const {
|
| }
|
|
|
| void ArcPackageSyncDataTypeController::OnArcAppsSyncPrefChanged() {
|
| - DCHECK(ui_thread()->BelongsToCurrentThread());
|
| + DCHECK(CalledOnValidThread());
|
|
|
| if (!ReadyForStart()) {
|
| // If apps sync in advanced sync settings is turned off then generate an
|
| @@ -60,7 +55,7 @@ void ArcPackageSyncDataTypeController::OnArcAppsSyncPrefChanged() {
|
| syncer::SyncError error(
|
| FROM_HERE, syncer::SyncError::DATATYPE_POLICY_ERROR,
|
| "Arc package sync is now disabled by user.", type());
|
| - OnSingleDataTypeUnrecoverableError(error);
|
| + CreateErrorHandler()->OnUnrecoverableError(error);
|
| }
|
| return;
|
| }
|
| @@ -70,6 +65,7 @@ void ArcPackageSyncDataTypeController::OnArcAppsSyncPrefChanged() {
|
| }
|
|
|
| void ArcPackageSyncDataTypeController::OnArcEnabledPrefChanged() {
|
| + DCHECK(CalledOnValidThread());
|
| if (!profile_->GetPrefs()->GetBoolean(prefs::kArcEnabled)) {
|
| // If enable Arc in settings is turned off then generate an unrecoverable
|
| // error.
|
| @@ -78,7 +74,7 @@ void ArcPackageSyncDataTypeController::OnArcEnabledPrefChanged() {
|
| FROM_HERE, syncer::SyncError::DATATYPE_POLICY_ERROR,
|
| "Arc package sync is now disabled because user disables Arc.",
|
| type());
|
| - OnSingleDataTypeUnrecoverableError(error);
|
| + CreateErrorHandler()->OnUnrecoverableError(error);
|
| }
|
| }
|
| }
|
|
|