Chromium Code Reviews| Index: chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.h |
| diff --git a/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.h b/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.h |
| index 9f6c9b7c9b5a3b204e22d7c3fb60d4b75ef85c95..1a7e7a9a821b270e15652c3e35fec785ae410df3 100644 |
| --- a/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.h |
| +++ b/chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.h |
| @@ -6,6 +6,8 @@ |
| #define CHROME_BROWSER_UI_APP_LIST_ARC_ARC_PACKAGE_SYNC_DATA_TYPE_CONTROLLER_H_ |
| #include "base/macros.h" |
| +#include "components/arc/common/app.mojom.h" |
| +#include "components/arc/instance_holder.h" |
| #include "components/prefs/pref_change_registrar.h" |
| #include "components/sync/driver/data_type_controller.h" |
| #include "components/sync/driver/ui_data_type_controller.h" |
| @@ -19,7 +21,8 @@ class Profile; |
| // A UIDataTypeController for arc package sync datatypes, which enables or |
| // disables these types based on whether ArcAppInstance is ready. |
| class ArcPackageSyncDataTypeController |
| - : public sync_driver::UIDataTypeController { |
| + : public sync_driver::UIDataTypeController, |
| + public arc::InstanceHolder<arc::mojom::AppInstance>::Observer { |
| public: |
| // |dump_stack| is called when an unrecoverable error occurs. |
| ArcPackageSyncDataTypeController(syncer::ModelType type, |
| @@ -28,13 +31,24 @@ class ArcPackageSyncDataTypeController |
| Profile* profile); |
| ~ArcPackageSyncDataTypeController() override; |
| + // DataTypeController override: |
| bool ReadyForStart() const override; |
| private: |
| + // UIDataTypeController override: |
| + bool StartModels() override; |
|
xiyuan
2016/09/28 16:31:14
nit: Usually we keep all overrides from one interf
lgcheng
2016/09/28 16:58:11
Done.
|
| + |
| + // arc::InstanceHolder<arc::mojom::AppInstance>::Observer: |
| + void OnInstanceReady() override; |
| + |
| void OnArcAppsSyncPrefChanged(); |
| void OnArcEnabledPrefChanged(); |
| + void EnableDataType(); |
| + |
| + bool model_normal_start_; |
| + |
| Profile* const profile_; |
| sync_driver::SyncClient* sync_client_; |