Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: chrome/browser/extensions/updater/extension_cache.cc

Issue 612423003: Move ExtensionCache to //extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix test setup Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/extensions/updater/extension_cache.h"
6
7 #include "base/memory/singleton.h"
8
9 #if defined(OS_CHROMEOS)
10 #include "chrome/browser/extensions/updater/extension_cache_impl.h"
11 #endif // OS_CHROMEOS
12
13 namespace extensions {
14 namespace {
15
16 #if !defined(OS_CHROMEOS)
17
18 // Implementation of ExtensionCache that doesn't cache anything.
19 // Real cache is used only on Chrome OS other OSes use this null implementation.
20 class ExtensionCacheNullImpl : public ExtensionCache {
21 public:
22 static ExtensionCacheNullImpl* GetInstance() {
23 return Singleton<ExtensionCacheNullImpl>::get();
24 }
25
26 // Implementation of ExtensionCache.
27 virtual void Start(const base::Closure& callback) override {
28 callback.Run();
29 }
30
31 virtual void Shutdown(const base::Closure& callback) override {
32 callback.Run();
33 }
34
35 virtual void AllowCaching(const std::string& id) override {
36 }
37
38 virtual bool GetExtension(const std::string& id,
39 base::FilePath* file_path,
40 std::string* version) override {
41 return false;
42 }
43
44 virtual void PutExtension(const std::string& id,
45 const base::FilePath& file_path,
46 const std::string& version,
47 const PutExtensionCallback& callback) override {
48 callback.Run(file_path, true);
49 }
50
51 private:
52 friend struct DefaultSingletonTraits<ExtensionCacheNullImpl>;
53
54 ExtensionCacheNullImpl() {}
55 virtual ~ExtensionCacheNullImpl() {}
56 };
57
58 #endif // !OS_CHROMEOS
59
60 static ExtensionCache* g_extension_cache_override = NULL;
61
62 } // namespace
63
64 // static
65 ExtensionCache* ExtensionCache::GetInstance() {
66 if (g_extension_cache_override) {
67 return g_extension_cache_override;
68 } else {
69 #if defined(OS_CHROMEOS)
70 return ExtensionCacheImpl::GetInstance();
71 #else
72 return ExtensionCacheNullImpl::GetInstance();
73 #endif
74 }
75 }
76
77 // static
78 ExtensionCache* ExtensionCache::SetForTesting(ExtensionCache* cache) {
79 ExtensionCache* temp = g_extension_cache_override;
80 g_extension_cache_override = cache;
81 return temp;
82 }
83
84 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/updater/extension_cache.h ('k') | chrome/browser/extensions/updater/extension_cache_fake.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698