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

Side by Side Diff: extensions/browser/app_window/app_window_geometry_cache.cc

Issue 486153002: Move AppWindow related classes to extensions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
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 "apps/app_window_geometry_cache.h" 5 #include "extensions/browser/app_window/app_window_geometry_cache.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "components/keyed_service/content/browser_context_dependency_manager.h" 10 #include "components/keyed_service/content/browser_context_dependency_manager.h"
11 #include "extensions/browser/extension_prefs.h" 11 #include "extensions/browser/extension_prefs.h"
12 #include "extensions/browser/extension_prefs_factory.h" 12 #include "extensions/browser/extension_prefs_factory.h"
13 #include "extensions/browser/extension_registry.h" 13 #include "extensions/browser/extension_registry.h"
14 #include "extensions/browser/extensions_browser_client.h" 14 #include "extensions/browser/extensions_browser_client.h"
15 #include "extensions/common/extension.h" 15 #include "extensions/common/extension.h"
16 16
17 namespace { 17 namespace {
18 18
19 // The timeout in milliseconds before we'll persist window geometry to the 19 // The timeout in milliseconds before we'll persist window geometry to the
20 // StateStore. 20 // StateStore.
21 const int kSyncTimeoutMilliseconds = 1000; 21 const int kSyncTimeoutMilliseconds = 1000;
22 22
23 } // namespace 23 } // namespace
24 24
25 namespace apps { 25 namespace extensions {
26 26
27 AppWindowGeometryCache::AppWindowGeometryCache( 27 AppWindowGeometryCache::AppWindowGeometryCache(content::BrowserContext* context,
28 content::BrowserContext* context, 28 ExtensionPrefs* prefs)
29 extensions::ExtensionPrefs* prefs)
30 : prefs_(prefs), 29 : prefs_(prefs),
31 sync_delay_(base::TimeDelta::FromMilliseconds(kSyncTimeoutMilliseconds)), 30 sync_delay_(base::TimeDelta::FromMilliseconds(kSyncTimeoutMilliseconds)),
32 extension_registry_observer_(this) { 31 extension_registry_observer_(this) {
33 extension_registry_observer_.Add(extensions::ExtensionRegistry::Get(context)); 32 extension_registry_observer_.Add(ExtensionRegistry::Get(context));
34 } 33 }
35 34
36 AppWindowGeometryCache::~AppWindowGeometryCache() {} 35 AppWindowGeometryCache::~AppWindowGeometryCache() {}
37 36
38 // static 37 // static
39 AppWindowGeometryCache* AppWindowGeometryCache::Get( 38 AppWindowGeometryCache* AppWindowGeometryCache::Get(
40 content::BrowserContext* context) { 39 content::BrowserContext* context) {
41 return Factory::GetForContext(context, true /* create */); 40 return Factory::GetForContext(context, true /* create */);
42 } 41 }
43 42
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 178
180 void AppWindowGeometryCache::Shutdown() { SyncToStorage(); } 179 void AppWindowGeometryCache::Shutdown() { SyncToStorage(); }
181 180
182 AppWindowGeometryCache::WindowData::WindowData() 181 AppWindowGeometryCache::WindowData::WindowData()
183 : window_state(ui::SHOW_STATE_DEFAULT) {} 182 : window_state(ui::SHOW_STATE_DEFAULT) {}
184 183
185 AppWindowGeometryCache::WindowData::~WindowData() {} 184 AppWindowGeometryCache::WindowData::~WindowData() {}
186 185
187 void AppWindowGeometryCache::OnExtensionLoaded( 186 void AppWindowGeometryCache::OnExtensionLoaded(
188 content::BrowserContext* browser_context, 187 content::BrowserContext* browser_context,
189 const extensions::Extension* extension) { 188 const Extension* extension) {
190 LoadGeometryFromStorage(extension->id()); 189 LoadGeometryFromStorage(extension->id());
191 } 190 }
192 191
193 void AppWindowGeometryCache::OnExtensionUnloaded( 192 void AppWindowGeometryCache::OnExtensionUnloaded(
194 content::BrowserContext* browser_context, 193 content::BrowserContext* browser_context,
195 const extensions::Extension* extension, 194 const Extension* extension,
196 extensions::UnloadedExtensionInfo::Reason reason) { 195 UnloadedExtensionInfo::Reason reason) {
197 SyncToStorage(); 196 SyncToStorage();
198 cache_.erase(extension->id()); 197 cache_.erase(extension->id());
199 } 198 }
200 199
201 void AppWindowGeometryCache::SetSyncDelayForTests(int timeout_ms) { 200 void AppWindowGeometryCache::SetSyncDelayForTests(int timeout_ms) {
202 sync_delay_ = base::TimeDelta::FromMilliseconds(timeout_ms); 201 sync_delay_ = base::TimeDelta::FromMilliseconds(timeout_ms);
203 } 202 }
204 203
205 void AppWindowGeometryCache::LoadGeometryFromStorage( 204 void AppWindowGeometryCache::LoadGeometryFromStorage(
206 const std::string& extension_id) { 205 const std::string& extension_id) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 267
269 AppWindowGeometryCache::Factory* 268 AppWindowGeometryCache::Factory*
270 AppWindowGeometryCache::Factory::GetInstance() { 269 AppWindowGeometryCache::Factory::GetInstance() {
271 return Singleton<AppWindowGeometryCache::Factory>::get(); 270 return Singleton<AppWindowGeometryCache::Factory>::get();
272 } 271 }
273 272
274 AppWindowGeometryCache::Factory::Factory() 273 AppWindowGeometryCache::Factory::Factory()
275 : BrowserContextKeyedServiceFactory( 274 : BrowserContextKeyedServiceFactory(
276 "AppWindowGeometryCache", 275 "AppWindowGeometryCache",
277 BrowserContextDependencyManager::GetInstance()) { 276 BrowserContextDependencyManager::GetInstance()) {
278 DependsOn(extensions::ExtensionPrefsFactory::GetInstance()); 277 DependsOn(ExtensionPrefsFactory::GetInstance());
279 } 278 }
280 279
281 AppWindowGeometryCache::Factory::~Factory() {} 280 AppWindowGeometryCache::Factory::~Factory() {}
282 281
283 KeyedService* AppWindowGeometryCache::Factory::BuildServiceInstanceFor( 282 KeyedService* AppWindowGeometryCache::Factory::BuildServiceInstanceFor(
284 content::BrowserContext* context) const { 283 content::BrowserContext* context) const {
285 return new AppWindowGeometryCache(context, 284 return new AppWindowGeometryCache(context, ExtensionPrefs::Get(context));
286 extensions::ExtensionPrefs::Get(context));
287 } 285 }
288 286
289 bool AppWindowGeometryCache::Factory::ServiceIsNULLWhileTesting() const { 287 bool AppWindowGeometryCache::Factory::ServiceIsNULLWhileTesting() const {
290 return false; 288 return false;
291 } 289 }
292 290
293 content::BrowserContext* 291 content::BrowserContext*
294 AppWindowGeometryCache::Factory::GetBrowserContextToUse( 292 AppWindowGeometryCache::Factory::GetBrowserContextToUse(
295 content::BrowserContext* context) const { 293 content::BrowserContext* context) const {
296 return extensions::ExtensionsBrowserClient::Get()->GetOriginalContext( 294 return ExtensionsBrowserClient::Get()->GetOriginalContext(context);
297 context);
298 } 295 }
299 296
300 void AppWindowGeometryCache::AddObserver(Observer* observer) { 297 void AppWindowGeometryCache::AddObserver(Observer* observer) {
301 observers_.AddObserver(observer); 298 observers_.AddObserver(observer);
302 } 299 }
303 300
304 void AppWindowGeometryCache::RemoveObserver(Observer* observer) { 301 void AppWindowGeometryCache::RemoveObserver(Observer* observer) {
305 observers_.RemoveObserver(observer); 302 observers_.RemoveObserver(observer);
306 } 303 }
307 304
308 } // namespace apps 305 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698