| 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/component_updater/supervised_user_whitelist_installer.h
     " |    5 #include "chrome/browser/component_updater/supervised_user_whitelist_installer.h
     " | 
|    6  |    6  | 
|    7 #include <stddef.h> |    7 #include <stddef.h> | 
|    8  |    8  | 
|    9 #include <map> |    9 #include <map> | 
|   10 #include <utility> |   10 #include <utility> | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
|   33 #include "chrome/common/chrome_paths.h" |   33 #include "chrome/common/chrome_paths.h" | 
|   34 #include "chrome/common/pref_names.h" |   34 #include "chrome/common/pref_names.h" | 
|   35 #include "components/component_updater/component_updater_paths.h" |   35 #include "components/component_updater/component_updater_paths.h" | 
|   36 #include "components/component_updater/component_updater_service.h" |   36 #include "components/component_updater/component_updater_service.h" | 
|   37 #include "components/component_updater/default_component_installer.h" |   37 #include "components/component_updater/default_component_installer.h" | 
|   38 #include "components/crx_file/id_util.h" |   38 #include "components/crx_file/id_util.h" | 
|   39 #include "components/prefs/pref_registry_simple.h" |   39 #include "components/prefs/pref_registry_simple.h" | 
|   40 #include "components/prefs/pref_service.h" |   40 #include "components/prefs/pref_service.h" | 
|   41 #include "components/prefs/scoped_user_pref_update.h" |   41 #include "components/prefs/scoped_user_pref_update.h" | 
|   42 #include "components/safe_json/json_sanitizer.h" |   42 #include "components/safe_json/json_sanitizer.h" | 
|   43 #include "components/update_client/update_client_errors.h" |  | 
|   44 #include "content/public/browser/browser_thread.h" |   43 #include "content/public/browser/browser_thread.h" | 
|   45  |   44  | 
|   46 namespace component_updater { |   45 namespace component_updater { | 
|   47  |   46  | 
|   48 namespace { |   47 namespace { | 
|   49  |   48  | 
|   50 const char kSanitizedWhitelistExtension[] = ".json"; |   49 const char kSanitizedWhitelistExtension[] = ".json"; | 
|   51  |   50  | 
|   52 const char kWhitelistedContent[] = "whitelisted_content"; |   51 const char kWhitelistedContent[] = "whitelisted_content"; | 
|   53 const char kSites[] = "sites"; |   52 const char kSites[] = "sites"; | 
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  246       const RawWhitelistReadyCallback& callback) |  245       const RawWhitelistReadyCallback& callback) | 
|  247       : crx_id_(crx_id), name_(name), callback_(callback) {} |  246       : crx_id_(crx_id), name_(name), callback_(callback) {} | 
|  248   ~SupervisedUserWhitelistComponentInstallerTraits() override {} |  247   ~SupervisedUserWhitelistComponentInstallerTraits() override {} | 
|  249  |  248  | 
|  250  private: |  249  private: | 
|  251   // ComponentInstallerTraits overrides: |  250   // ComponentInstallerTraits overrides: | 
|  252   bool VerifyInstallation(const base::DictionaryValue& manifest, |  251   bool VerifyInstallation(const base::DictionaryValue& manifest, | 
|  253                           const base::FilePath& install_dir) const override; |  252                           const base::FilePath& install_dir) const override; | 
|  254   bool SupportsGroupPolicyEnabledComponentUpdates() const override; |  253   bool SupportsGroupPolicyEnabledComponentUpdates() const override; | 
|  255   bool RequiresNetworkEncryption() const override; |  254   bool RequiresNetworkEncryption() const override; | 
|  256   update_client::CrxInstaller::Result OnCustomInstall( |  255   bool OnCustomInstall(const base::DictionaryValue& manifest, | 
|  257       const base::DictionaryValue& manifest, |  256                        const base::FilePath& install_dir) override; | 
|  258       const base::FilePath& install_dir) override; |  | 
|  259   void ComponentReady(const base::Version& version, |  257   void ComponentReady(const base::Version& version, | 
|  260                       const base::FilePath& install_dir, |  258                       const base::FilePath& install_dir, | 
|  261                       std::unique_ptr<base::DictionaryValue> manifest) override; |  259                       std::unique_ptr<base::DictionaryValue> manifest) override; | 
|  262   base::FilePath GetRelativeInstallDir() const override; |  260   base::FilePath GetRelativeInstallDir() const override; | 
|  263   void GetHash(std::vector<uint8_t>* hash) const override; |  261   void GetHash(std::vector<uint8_t>* hash) const override; | 
|  264   std::string GetName() const override; |  262   std::string GetName() const override; | 
|  265   update_client::InstallerAttributes GetInstallerAttributes() const override; |  263   update_client::InstallerAttributes GetInstallerAttributes() const override; | 
|  266   std::vector<std::string> GetMimeTypes() const override; |  264   std::vector<std::string> GetMimeTypes() const override; | 
|  267  |  265  | 
|  268   std::string crx_id_; |  266   std::string crx_id_; | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
|  283 bool SupervisedUserWhitelistComponentInstallerTraits:: |  281 bool SupervisedUserWhitelistComponentInstallerTraits:: | 
|  284     SupportsGroupPolicyEnabledComponentUpdates() const { |  282     SupportsGroupPolicyEnabledComponentUpdates() const { | 
|  285   return false; |  283   return false; | 
|  286 } |  284 } | 
|  287  |  285  | 
|  288 bool SupervisedUserWhitelistComponentInstallerTraits:: |  286 bool SupervisedUserWhitelistComponentInstallerTraits:: | 
|  289     RequiresNetworkEncryption() const { |  287     RequiresNetworkEncryption() const { | 
|  290   return true; |  288   return true; | 
|  291 } |  289 } | 
|  292  |  290  | 
|  293 update_client::CrxInstaller::Result |  291 bool SupervisedUserWhitelistComponentInstallerTraits::OnCustomInstall( | 
|  294 SupervisedUserWhitelistComponentInstallerTraits::OnCustomInstall( |  | 
|  295     const base::DictionaryValue& manifest, |  292     const base::DictionaryValue& manifest, | 
|  296     const base::FilePath& install_dir) { |  293     const base::FilePath& install_dir) { | 
|  297   // Delete the existing sanitized whitelist. |  294   // Delete the existing sanitized whitelist. | 
|  298   const bool success = |  295   return base::DeleteFile(GetSanitizedWhitelistPath(crx_id_), false); | 
|  299       base::DeleteFile(GetSanitizedWhitelistPath(crx_id_), false); |  | 
|  300   return update_client::CrxInstaller::Result( |  | 
|  301       success ? update_client::InstallError::NONE |  | 
|  302               : update_client::InstallError::GENERIC_ERROR); |  | 
|  303 } |  296 } | 
|  304  |  297  | 
|  305 void SupervisedUserWhitelistComponentInstallerTraits::ComponentReady( |  298 void SupervisedUserWhitelistComponentInstallerTraits::ComponentReady( | 
|  306     const base::Version& version, |  299     const base::Version& version, | 
|  307     const base::FilePath& install_dir, |  300     const base::FilePath& install_dir, | 
|  308     std::unique_ptr<base::DictionaryValue> manifest) { |  301     std::unique_ptr<base::DictionaryValue> manifest) { | 
|  309   // TODO(treib): Before getting the title, we should localize the manifest |  302   // TODO(treib): Before getting the title, we should localize the manifest | 
|  310   // using extension_l10n_util::LocalizeExtension, but that doesn't exist on |  303   // using extension_l10n_util::LocalizeExtension, but that doesn't exist on | 
|  311   // Android. crbug.com/558387 |  304   // Android. crbug.com/558387 | 
|  312   callback_.Run(GetWhitelistTitle(*manifest), |  305   callback_.Run(GetWhitelistTitle(*manifest), | 
| (...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  647  |  640  | 
|  648 // static |  641 // static | 
|  649 void SupervisedUserWhitelistInstaller::TriggerComponentUpdate( |  642 void SupervisedUserWhitelistInstaller::TriggerComponentUpdate( | 
|  650     OnDemandUpdater* updater, |  643     OnDemandUpdater* updater, | 
|  651     const std::string& crx_id) { |  644     const std::string& crx_id) { | 
|  652   // TODO(sorin): use a callback to check the result (crbug.com/639189). |  645   // TODO(sorin): use a callback to check the result (crbug.com/639189). | 
|  653   updater->OnDemandUpdate(crx_id, component_updater::Callback()); |  646   updater->OnDemandUpdate(crx_id, component_updater::Callback()); | 
|  654 } |  647 } | 
|  655  |  648  | 
|  656 }  // namespace component_updater |  649 }  // namespace component_updater | 
| OLD | NEW |