OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/apps/drive/drive_app_mapping.h" | 5 #include "chrome/browser/apps/drive/drive_app_mapping.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
| 9 #include <memory> |
| 10 |
9 #include "base/values.h" | 11 #include "base/values.h" |
10 #include "chrome/common/pref_names.h" | 12 #include "chrome/common/pref_names.h" |
11 #include "components/pref_registry/pref_registry_syncable.h" | 13 #include "components/pref_registry/pref_registry_syncable.h" |
12 #include "components/prefs/pref_service.h" | 14 #include "components/prefs/pref_service.h" |
13 #include "components/prefs/scoped_user_pref_update.h" | 15 #include "components/prefs/scoped_user_pref_update.h" |
14 | 16 |
15 namespace { | 17 namespace { |
16 | 18 |
17 // Key for a string value that holds the mapped chrome app id. | 19 // Key for a string value that holds the mapped chrome app id. |
18 const char kKeyChromeApp[] = "chrome_app"; | 20 const char kKeyChromeApp[] = "chrome_app"; |
(...skipping 27 matching lines...) Expand all Loading... |
46 void DriveAppMapping::RegisterProfilePrefs( | 48 void DriveAppMapping::RegisterProfilePrefs( |
47 user_prefs::PrefRegistrySyncable* registry) { | 49 user_prefs::PrefRegistrySyncable* registry) { |
48 registry->RegisterDictionaryPref(prefs::kAppLauncherDriveAppMapping); | 50 registry->RegisterDictionaryPref(prefs::kAppLauncherDriveAppMapping); |
49 registry->RegisterListPref(prefs::kAppLauncherUninstalledDriveApps); | 51 registry->RegisterListPref(prefs::kAppLauncherUninstalledDriveApps); |
50 } | 52 } |
51 | 53 |
52 void DriveAppMapping::Add(const std::string& drive_app_id, | 54 void DriveAppMapping::Add(const std::string& drive_app_id, |
53 const std::string& chrome_app_id, | 55 const std::string& chrome_app_id, |
54 bool generated) { | 56 bool generated) { |
55 DictionaryPrefUpdate update(prefs_, prefs::kAppLauncherDriveAppMapping); | 57 DictionaryPrefUpdate update(prefs_, prefs::kAppLauncherDriveAppMapping); |
56 update->SetWithoutPathExpansion( | 58 update->SetWithoutPathExpansion(drive_app_id, |
57 drive_app_id, CreateInfoDict(chrome_app_id, generated).release()); | 59 CreateInfoDict(chrome_app_id, generated)); |
58 } | 60 } |
59 | 61 |
60 void DriveAppMapping::Remove(const std::string& drive_app_id) { | 62 void DriveAppMapping::Remove(const std::string& drive_app_id) { |
61 DictionaryPrefUpdate update(prefs_, prefs::kAppLauncherDriveAppMapping); | 63 DictionaryPrefUpdate update(prefs_, prefs::kAppLauncherDriveAppMapping); |
62 update->RemoveWithoutPathExpansion(drive_app_id, NULL); | 64 update->RemoveWithoutPathExpansion(drive_app_id, NULL); |
63 } | 65 } |
64 | 66 |
65 std::string DriveAppMapping::GetChromeApp( | 67 std::string DriveAppMapping::GetChromeApp( |
66 const std::string& drive_app_id) const { | 68 const std::string& drive_app_id) const { |
67 const base::DictionaryValue* mapping = | 69 const base::DictionaryValue* mapping = |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 uninstalled_app_ids_.insert(app_id); | 162 uninstalled_app_ids_.insert(app_id); |
161 } | 163 } |
162 } | 164 } |
163 | 165 |
164 void DriveAppMapping::UpdateUninstalledList() { | 166 void DriveAppMapping::UpdateUninstalledList() { |
165 ListPrefUpdate update(prefs_, prefs::kAppLauncherUninstalledDriveApps); | 167 ListPrefUpdate update(prefs_, prefs::kAppLauncherUninstalledDriveApps); |
166 update->Clear(); | 168 update->Clear(); |
167 for (const auto& app_id : uninstalled_app_ids_) | 169 for (const auto& app_id : uninstalled_app_ids_) |
168 update->AppendString(app_id); | 170 update->AppendString(app_id); |
169 } | 171 } |
OLD | NEW |