| OLD | NEW | 
|   1 // Copyright 2013 The Chromium Authors. All rights reserved. |   1 // Copyright 2013 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 #ifndef CHROME_BROWSER_CHROMEOS_POLICY_POLICY_CERT_SERVICE_H_ |   5 #ifndef CHROME_BROWSER_CHROMEOS_POLICY_POLICY_CERT_SERVICE_H_ | 
|   6 #define CHROME_BROWSER_CHROMEOS_POLICY_POLICY_CERT_SERVICE_H_ |   6 #define CHROME_BROWSER_CHROMEOS_POLICY_POLICY_CERT_SERVICE_H_ | 
|   7  |   7  | 
 |   8 #include <memory> | 
|   8 #include <string> |   9 #include <string> | 
|   9 #include <vector> |  10 #include <vector> | 
|  10  |  11  | 
|  11 #include "base/compiler_specific.h" |  12 #include "base/compiler_specific.h" | 
|  12 #include "base/macros.h" |  13 #include "base/macros.h" | 
|  13 #include "base/memory/ref_counted.h" |  14 #include "base/memory/ref_counted.h" | 
|  14 #include "base/memory/scoped_ptr.h" |  | 
|  15 #include "base/memory/weak_ptr.h" |  15 #include "base/memory/weak_ptr.h" | 
|  16 #include "chrome/browser/chromeos/policy/user_network_configuration_updater.h" |  16 #include "chrome/browser/chromeos/policy/user_network_configuration_updater.h" | 
|  17 #include "components/keyed_service/core/keyed_service.h" |  17 #include "components/keyed_service/core/keyed_service.h" | 
|  18  |  18  | 
|  19 namespace user_manager { |  19 namespace user_manager { | 
|  20 class UserManager; |  20 class UserManager; | 
|  21 } |  21 } | 
|  22  |  22  | 
|  23 namespace net { |  23 namespace net { | 
|  24 class X509Certificate; |  24 class X509Certificate; | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
|  38     : public KeyedService, |  38     : public KeyedService, | 
|  39       public UserNetworkConfigurationUpdater::WebTrustedCertsObserver { |  39       public UserNetworkConfigurationUpdater::WebTrustedCertsObserver { | 
|  40  public: |  40  public: | 
|  41   PolicyCertService(const std::string& user_id, |  41   PolicyCertService(const std::string& user_id, | 
|  42                     UserNetworkConfigurationUpdater* net_conf_updater, |  42                     UserNetworkConfigurationUpdater* net_conf_updater, | 
|  43                     user_manager::UserManager* user_manager); |  43                     user_manager::UserManager* user_manager); | 
|  44   ~PolicyCertService() override; |  44   ~PolicyCertService() override; | 
|  45  |  45  | 
|  46   // Creates an associated PolicyCertVerifier. The returned object must only be |  46   // Creates an associated PolicyCertVerifier. The returned object must only be | 
|  47   // used on the IO thread and must outlive this object. |  47   // used on the IO thread and must outlive this object. | 
|  48   scoped_ptr<PolicyCertVerifier> CreatePolicyCertVerifier(); |  48   std::unique_ptr<PolicyCertVerifier> CreatePolicyCertVerifier(); | 
|  49  |  49  | 
|  50   // Returns true if the profile that owns this service has used certificates |  50   // Returns true if the profile that owns this service has used certificates | 
|  51   // installed via policy to establish a secure connection before. This means |  51   // installed via policy to establish a secure connection before. This means | 
|  52   // that it may have cached content from an untrusted source. |  52   // that it may have cached content from an untrusted source. | 
|  53   bool UsedPolicyCertificates() const; |  53   bool UsedPolicyCertificates() const; | 
|  54  |  54  | 
|  55   bool has_policy_certificates() const { return has_trust_anchors_; } |  55   bool has_policy_certificates() const { return has_trust_anchors_; } | 
|  56  |  56  | 
|  57   // UserNetworkConfigurationUpdater::WebTrustedCertsObserver: |  57   // UserNetworkConfigurationUpdater::WebTrustedCertsObserver: | 
|  58   void OnTrustAnchorsChanged( |  58   void OnTrustAnchorsChanged( | 
|  59       const net::CertificateList& trust_anchors) override; |  59       const net::CertificateList& trust_anchors) override; | 
|  60  |  60  | 
|  61   // KeyedService: |  61   // KeyedService: | 
|  62   void Shutdown() override; |  62   void Shutdown() override; | 
|  63  |  63  | 
|  64   static scoped_ptr<PolicyCertService> CreateForTesting( |  64   static std::unique_ptr<PolicyCertService> CreateForTesting( | 
|  65       const std::string& user_id, |  65       const std::string& user_id, | 
|  66       PolicyCertVerifier* verifier, |  66       PolicyCertVerifier* verifier, | 
|  67       user_manager::UserManager* user_manager); |  67       user_manager::UserManager* user_manager); | 
|  68  |  68  | 
|  69  private: |  69  private: | 
|  70   PolicyCertService(const std::string& user_id, |  70   PolicyCertService(const std::string& user_id, | 
|  71                     PolicyCertVerifier* verifier, |  71                     PolicyCertVerifier* verifier, | 
|  72                     user_manager::UserManager* user_manager); |  72                     user_manager::UserManager* user_manager); | 
|  73  |  73  | 
|  74   PolicyCertVerifier* cert_verifier_; |  74   PolicyCertVerifier* cert_verifier_; | 
|  75   std::string user_id_; |  75   std::string user_id_; | 
|  76   UserNetworkConfigurationUpdater* net_conf_updater_; |  76   UserNetworkConfigurationUpdater* net_conf_updater_; | 
|  77   user_manager::UserManager* user_manager_; |  77   user_manager::UserManager* user_manager_; | 
|  78   bool has_trust_anchors_; |  78   bool has_trust_anchors_; | 
|  79  |  79  | 
|  80   // Weak pointers to handle callbacks from PolicyCertVerifier on the IO thread. |  80   // Weak pointers to handle callbacks from PolicyCertVerifier on the IO thread. | 
|  81   // The factory and the created WeakPtrs must only be used on the UI thread. |  81   // The factory and the created WeakPtrs must only be used on the UI thread. | 
|  82   base::WeakPtrFactory<PolicyCertService> weak_ptr_factory_; |  82   base::WeakPtrFactory<PolicyCertService> weak_ptr_factory_; | 
|  83  |  83  | 
|  84   DISALLOW_COPY_AND_ASSIGN(PolicyCertService); |  84   DISALLOW_COPY_AND_ASSIGN(PolicyCertService); | 
|  85 }; |  85 }; | 
|  86  |  86  | 
|  87 }  // namespace policy |  87 }  // namespace policy | 
|  88  |  88  | 
|  89 #endif  // CHROME_BROWSER_CHROMEOS_POLICY_POLICY_CERT_SERVICE_H_ |  89 #endif  // CHROME_BROWSER_CHROMEOS_POLICY_POLICY_CERT_SERVICE_H_ | 
| OLD | NEW |