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.
5 #include "chrome/browser/signin/easy_unlock.h"
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"
15 namespace easy_unlock
{
17 void RegisterProfilePrefs(
18 user_prefs::PrefRegistrySyncable
* registry
) {
19 registry
->RegisterBooleanPref(
20 prefs::kEasyUnlockEnabled
,
22 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF
);
23 registry
->RegisterBooleanPref(
24 prefs::kEasyUnlockShowTutorial
,
26 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF
);
27 registry
->RegisterDictionaryPref(
28 prefs::kEasyUnlockPairing
,
29 new base::DictionaryValue(),
30 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF
);
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);
39 OpenApplication(AppLaunchParams(
40 profile
, extension
, extensions::LAUNCH_CONTAINER_WINDOW
, NEW_WINDOW
));
43 } // namespace easy_unlock