1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/browser/sync/glue/extension_data_type_controller.h" 6 7 #include "base/metrics/histogram.h" 8 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/sync/glue/chrome_report_unrecoverable_error.h" 10 #include "content/public/browser/browser_thread.h" 11 #include "extensions/browser/extension_system.h" 12 13 using content::BrowserThread; 14 15 namespace browser_sync { 16 17 ExtensionDataTypeController::ExtensionDataTypeController( 18 syncer::ModelType type, 19 SyncApiComponentFactory* sync_factory, 20 Profile* profile, 21 const DisableTypeCallback& disable_callback) 22 : UIDataTypeController( 23 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), 24 base::Bind(&ChromeReportUnrecoverableError), 25 disable_callback, 26 type, 27 sync_factory), 28 profile_(profile) { 29 DCHECK(type == syncer::EXTENSIONS || type == syncer::APPS); 30 } 31 32 ExtensionDataTypeController::~ExtensionDataTypeController() {} 33 34 bool ExtensionDataTypeController::StartModels() { 35 extensions::ExtensionSystem::Get(profile_)->InitForRegularProfile(true); 36 return true; 37 } 38 39 } // namespace browser_sync 40