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

Side by Side Diff: chrome/browser/extensions/api/declarative/rules_registry_service.h

Issue 171813010: Move ProfileKeyedAPI implementations to take BrowserContext in the constructor (part 1). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: browser_context_ Created 6 years, 10 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 (c) 2012 The Chromium Authors. All rights reserved. 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 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_EXTENSIONS_API_DECLARATIVE_RULES_REGISTRY_SERVICE_H__ 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_RULES_REGISTRY_SERVICE_H__
6 #define CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_RULES_REGISTRY_SERVICE_H__ 6 #define CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_RULES_REGISTRY_SERVICE_H__
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/callback_forward.h" 12 #include "base/callback_forward.h"
13 #include "base/memory/ref_counted.h" 13 #include "base/memory/ref_counted.h"
14 #include "base/memory/scoped_vector.h" 14 #include "base/memory/scoped_vector.h"
15 #include "chrome/browser/extensions/api/declarative/rules_registry.h" 15 #include "chrome/browser/extensions/api/declarative/rules_registry.h"
16 #include "chrome/browser/extensions/api/profile_keyed_api_factory.h" 16 #include "chrome/browser/extensions/api/profile_keyed_api_factory.h"
17 #include "chrome/browser/profiles/profile.h" 17 #include "chrome/browser/profiles/profile.h"
18 #include "content/public/browser/notification_observer.h" 18 #include "content/public/browser/notification_observer.h"
19 #include "content/public/browser/notification_registrar.h" 19 #include "content/public/browser/notification_registrar.h"
20 20
21 class Profile; 21 class Profile;
22 22
23 namespace content { 23 namespace content {
24 class NotificationSource; 24 class BrowserContext;
25 class NotificationSource; 25 class NotificationSource;
26 } 26 }
27 27
28 namespace extensions { 28 namespace extensions {
29 class ContentRulesRegistry; 29 class ContentRulesRegistry;
30 class RulesRegistry; 30 class RulesRegistry;
31 class RulesRegistryStorageDelegate; 31 class RulesRegistryStorageDelegate;
32 } 32 }
33 33
34 namespace extensions { 34 namespace extensions {
(...skipping 11 matching lines...) Expand all
46 const WebViewKey& webview_key) 46 const WebViewKey& webview_key)
47 : event_name(event_name), 47 : event_name(event_name),
48 webview_key(webview_key) {} 48 webview_key(webview_key) {}
49 bool operator<(const RulesRegistryKey& other) const { 49 bool operator<(const RulesRegistryKey& other) const {
50 return (event_name < other.event_name) || 50 return (event_name < other.event_name) ||
51 ((event_name == other.event_name) && 51 ((event_name == other.event_name) &&
52 (webview_key < other.webview_key)); 52 (webview_key < other.webview_key));
53 } 53 }
54 }; 54 };
55 55
56 explicit RulesRegistryService(Profile* profile); 56 explicit RulesRegistryService(content::BrowserContext* context);
57 virtual ~RulesRegistryService(); 57 virtual ~RulesRegistryService();
58 58
59 // Unregisters refptrs to concrete RulesRegistries at other objects that were 59 // Unregisters refptrs to concrete RulesRegistries at other objects that were
60 // created by us so that the RulesRegistries can be released. 60 // created by us so that the RulesRegistries can be released.
61 virtual void Shutdown() OVERRIDE; 61 virtual void Shutdown() OVERRIDE;
62 62
63 // ProfileKeyedAPI implementation. 63 // ProfileKeyedAPI implementation.
64 static ProfileKeyedAPIFactory<RulesRegistryService>* GetFactoryInstance(); 64 static ProfileKeyedAPIFactory<RulesRegistryService>* GetFactoryInstance();
65 65
66 // Convenience method to get the RulesRegistryService for a profile. 66 // Convenience method to get the RulesRegistryService for a profile.
67 static RulesRegistryService* Get(Profile* profile); 67 static RulesRegistryService* Get(content::BrowserContext* context);
68 68
69 // Registers the default RulesRegistries used in Chromium. 69 // Registers the default RulesRegistries used in Chromium.
70 void EnsureDefaultRulesRegistriesRegistered(const WebViewKey& webview_key); 70 void EnsureDefaultRulesRegistriesRegistered(const WebViewKey& webview_key);
71 71
72 // Registers a RulesRegistry and wraps it in an InitializingRulesRegistry. 72 // Registers a RulesRegistry and wraps it in an InitializingRulesRegistry.
73 void RegisterRulesRegistry(scoped_refptr<RulesRegistry> rule_registry); 73 void RegisterRulesRegistry(scoped_refptr<RulesRegistry> rule_registry);
74 74
75 // Returns the RulesRegistry for |event_name| and |webview_key| or NULL if no 75 // Returns the RulesRegistry for |event_name| and |webview_key| or NULL if no
76 // such registry has been registered. Default rules registries (such as the 76 // such registry has been registered. Default rules registries (such as the
77 // WebRequest rules registry) will be created on first access. 77 // WebRequest rules registry) will be created on first access.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 content::NotificationRegistrar registrar_; 131 content::NotificationRegistrar registrar_;
132 132
133 Profile* profile_; 133 Profile* profile_;
134 134
135 DISALLOW_COPY_AND_ASSIGN(RulesRegistryService); 135 DISALLOW_COPY_AND_ASSIGN(RulesRegistryService);
136 }; 136 };
137 137
138 } // namespace extensions 138 } // namespace extensions
139 139
140 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_RULES_REGISTRY_SERVICE_H__ 140 #endif // CHROME_BROWSER_EXTENSIONS_API_DECLARATIVE_RULES_REGISTRY_SERVICE_H__
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698