[ExtensionToolbarMac] Restrict action button drags to the container's bounds
[chromium-blink-merge.git] / chrome / browser / net / crl_set_fetcher.h
blobd6e74d7f8ca72cc3cee1edeba90d7f8cdfb33833
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_NET_CRL_SET_FETCHER_H_
6 #define CHROME_BROWSER_NET_CRL_SET_FETCHER_H_
8 #include <string>
10 #include "base/compiler_specific.h"
11 #include "base/files/file_path.h"
12 #include "base/memory/ref_counted.h"
13 #include "components/component_updater/component_updater_service.h"
15 namespace base {
16 class DictionaryValue;
17 class FilePath;
20 namespace net {
21 class CRLSet;
24 class CRLSetFetcher : public component_updater::ComponentInstaller,
25 public base::RefCountedThreadSafe<CRLSetFetcher> {
26 public:
27 CRLSetFetcher();
29 void StartInitialLoad(component_updater::ComponentUpdateService* cus,
30 const base::FilePath& path);
32 // DeleteFromDisk asynchronously delete the CRLSet file.
33 void DeleteFromDisk(const base::FilePath& path);
35 // ComponentInstaller interface
36 void OnUpdateError(int error) override;
37 bool Install(const base::DictionaryValue& manifest,
38 const base::FilePath& unpack_path) override;
39 bool GetInstalledFile(const std::string& file,
40 base::FilePath* installed_file) override;
42 private:
43 friend class base::RefCountedThreadSafe<CRLSetFetcher>;
45 ~CRLSetFetcher() override;
47 // GetCRLSetbase::FilePath gets the path of the CRL set file in the user data
48 // dir.
49 base::FilePath GetCRLSetFilePath() const;
51 // Sets the path of the CRL set file in the user data dir.
52 void SetCRLSetFilePath(const base::FilePath& path);
54 // DoInitialLoadFromDisk runs on the FILE thread and attempts to load a CRL
55 // set from the user-data dir. It then registers this object as a component
56 // in order to get updates.
57 void DoInitialLoadFromDisk();
59 // LoadFromDisk runs on the FILE thread and attempts to load a CRL set
60 // from |load_from|.
61 void LoadFromDisk(base::FilePath load_from,
62 scoped_refptr<net::CRLSet>* out_crl_set);
64 // SetCRLSetIfNewer runs on the IO thread and installs a CRL set
65 // as the global CRL set if it's newer than the existing one.
66 void SetCRLSetIfNewer(scoped_refptr<net::CRLSet> crl_set);
68 // RegisterComponent registers this object as a component updater.
69 void RegisterComponent(uint32 sequence_of_loaded_crl);
71 // DoDeleteFromDisk runs on the FILE thread and removes the CRLSet file from
72 // the disk.
73 void DoDeleteFromDisk();
75 component_updater::ComponentUpdateService* cus_;
77 // Path where the CRL file is stored.
78 base::FilePath crl_path_;
80 // We keep a pointer to the current CRLSet for use on the FILE thread when
81 // applying delta updates.
82 scoped_refptr<net::CRLSet> crl_set_;
84 DISALLOW_COPY_AND_ASSIGN(CRLSetFetcher);
87 #endif // CHROME_BROWSER_NET_CRL_SET_FETCHER_H_