OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/chromeos/policy/app_pack_updater.h" | 5 #include "chrome/browser/chromeos/policy/app_pack_updater.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/location.h" | 10 #include "base/location.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 namespace { | 36 namespace { |
37 | 37 |
38 // Directory where the AppPack extensions are cached. | 38 // Directory where the AppPack extensions are cached. |
39 const char kAppPackCacheDir[] = "/var/cache/app_pack"; | 39 const char kAppPackCacheDir[] = "/var/cache/app_pack"; |
40 | 40 |
41 // File name extension for CRX files (not case sensitive). | 41 // File name extension for CRX files (not case sensitive). |
42 const char kCRXFileExtension[] = ".crx"; | 42 const char kCRXFileExtension[] = ".crx"; |
43 | 43 |
44 } // namespace | 44 } // namespace |
45 | 45 |
46 const char AppPackUpdater::kExtensionId[] = "extension-id"; | |
47 const char AppPackUpdater::kUpdateUrl[] = "update-url"; | |
48 | |
49 // A custom extensions::ExternalLoader that the AppPackUpdater creates and uses | 46 // A custom extensions::ExternalLoader that the AppPackUpdater creates and uses |
50 // to publish AppPack updates to the extensions system. | 47 // to publish AppPack updates to the extensions system. |
51 class AppPackExternalLoader | 48 class AppPackExternalLoader |
52 : public extensions::ExternalLoader, | 49 : public extensions::ExternalLoader, |
53 public base::SupportsWeakPtr<AppPackExternalLoader> { | 50 public base::SupportsWeakPtr<AppPackExternalLoader> { |
54 public: | 51 public: |
55 AppPackExternalLoader() {} | 52 AppPackExternalLoader() {} |
56 | 53 |
57 // Used by the AppPackUpdater to update the current list of extensions. | 54 // Used by the AppPackUpdater to update the current list of extensions. |
58 // The format of |prefs| is detailed in the extensions::ExternalLoader/ | 55 // The format of |prefs| is detailed in the extensions::ExternalLoader/ |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 if (value && value->GetAsList(&list)) { | 181 if (value && value->GetAsList(&list)) { |
185 for (base::ListValue::const_iterator it = list->begin(); | 182 for (base::ListValue::const_iterator it = list->begin(); |
186 it != list->end(); ++it) { | 183 it != list->end(); ++it) { |
187 base::DictionaryValue* dict = NULL; | 184 base::DictionaryValue* dict = NULL; |
188 if (!(*it)->GetAsDictionary(&dict)) { | 185 if (!(*it)->GetAsDictionary(&dict)) { |
189 LOG(WARNING) << "AppPack entry is not a dictionary, ignoring."; | 186 LOG(WARNING) << "AppPack entry is not a dictionary, ignoring."; |
190 continue; | 187 continue; |
191 } | 188 } |
192 std::string id; | 189 std::string id; |
193 std::string update_url; | 190 std::string update_url; |
194 if (dict->GetString(kExtensionId, &id) && | 191 if (dict->GetString(chromeos::kAppPackKeyExtensionId, &id) && |
195 dict->GetString(kUpdateUrl, &update_url)) { | 192 dict->GetString(chromeos::kAppPackKeyUpdateUrl, &update_url)) { |
196 app_pack_extensions_[id] = update_url; | 193 app_pack_extensions_[id] = update_url; |
197 } else { | 194 } else { |
198 LOG(WARNING) << "Failed to read required fields for an AppPack entry, " | 195 LOG(WARNING) << "Failed to read required fields for an AppPack entry, " |
199 << "ignoring."; | 196 << "ignoring."; |
200 } | 197 } |
201 } | 198 } |
202 } | 199 } |
203 | 200 |
204 VLOG(1) << "Refreshed AppPack policy, got " << app_pack_extensions_.size() | 201 VLOG(1) << "Refreshed AppPack policy, got " << app_pack_extensions_.size() |
205 << " entries."; | 202 << " entries."; |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
563 void AppPackUpdater::SetScreenSaverPath(const base::FilePath& path) { | 560 void AppPackUpdater::SetScreenSaverPath(const base::FilePath& path) { |
564 // Don't invoke the callback if the path isn't changing. | 561 // Don't invoke the callback if the path isn't changing. |
565 if (path != screen_saver_path_) { | 562 if (path != screen_saver_path_) { |
566 screen_saver_path_ = path; | 563 screen_saver_path_ = path; |
567 if (!screen_saver_update_callback_.is_null()) | 564 if (!screen_saver_update_callback_.is_null()) |
568 screen_saver_update_callback_.Run(screen_saver_path_); | 565 screen_saver_update_callback_.Run(screen_saver_path_); |
569 } | 566 } |
570 } | 567 } |
571 | 568 |
572 } // namespace policy | 569 } // namespace policy |
OLD | NEW |