1 // Copyright 2014 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/signin/easy_unlock.h" 6 7 #include "base/values.h" 8 #include "chrome/browser/extensions/extension_service.h" 9 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/ui/extensions/application_launch.h" 11 #include "chrome/common/pref_names.h" 12 #include "components/pref_registry/pref_registry_syncable.h" 13 #include "extensions/browser/extension_system.h" 14 15 namespace easy_unlock { 16 17 void RegisterProfilePrefs( 18 user_prefs::PrefRegistrySyncable* registry) { 19 registry->RegisterBooleanPref( 20 prefs::kEasyUnlockEnabled, 21 false, 22 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 23 registry->RegisterBooleanPref( 24 prefs::kEasyUnlockShowTutorial, 25 false, 26 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 27 registry->RegisterDictionaryPref( 28 prefs::kEasyUnlockPairing, 29 new base::DictionaryValue(), 30 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 31 } 32 33 void LaunchEasyUnlockSetup(Profile* profile) { 34 ExtensionService* service = 35 extensions::ExtensionSystem::Get(profile)->extension_service(); 36 const extensions::Extension* extension = 37 service->GetExtensionById(extension_misc::kEasyUnlockAppId, false); 38 39 OpenApplication(AppLaunchParams( 40 profile, extension, extensions::LAUNCH_CONTAINER_WINDOW, NEW_WINDOW)); 41 } 42 43 } // namespace easy_unlock 44