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

Side by Side Diff: chrome/browser/extensions/shell_window_registry.h

Issue 15517005: Remove references to Profile from browser_context_keyed_service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase & style Created 7 years, 7 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_SHELL_WINDOW_REGISTRY_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_
6 #define CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_ 6 #define CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_
7 7
8 #include <list> 8 #include <list>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 14 matching lines...) Expand all
25 25
26 namespace extensions { 26 namespace extensions {
27 27
28 // The ShellWindowRegistry tracks the ShellWindows for all platform apps for a 28 // The ShellWindowRegistry tracks the ShellWindows for all platform apps for a
29 // particular profile. 29 // particular profile.
30 // This class is planned to evolve into tracking all PlatformApps for a 30 // This class is planned to evolve into tracking all PlatformApps for a
31 // particular profile, with a PlatformApp encapsulating all views (background 31 // particular profile, with a PlatformApp encapsulating all views (background
32 // page, shell windows, tray view, panels etc.) and other app level behaviour 32 // page, shell windows, tray view, panels etc.) and other app level behaviour
33 // (e.g. notifications the app is interested in, lifetime of the background 33 // (e.g. notifications the app is interested in, lifetime of the background
34 // page). 34 // page).
35 class ShellWindowRegistry : public ProfileKeyedService { 35 class ShellWindowRegistry : public BrowserContextKeyedService {
36 public: 36 public:
37 class Observer { 37 class Observer {
38 public: 38 public:
39 // Called just after a shell window was added. 39 // Called just after a shell window was added.
40 virtual void OnShellWindowAdded(ShellWindow* shell_window) = 0; 40 virtual void OnShellWindowAdded(ShellWindow* shell_window) = 0;
41 // Called when the window icon changes. 41 // Called when the window icon changes.
42 virtual void OnShellWindowIconChanged(ShellWindow* shell_window) = 0; 42 virtual void OnShellWindowIconChanged(ShellWindow* shell_window) = 0;
43 // Called just after a shell window was removed. 43 // Called just after a shell window was removed.
44 virtual void OnShellWindowRemoved(ShellWindow* shell_window) = 0; 44 virtual void OnShellWindowRemoved(ShellWindow* shell_window) = 0;
45 45
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 // Returns the shell window for |window|, looking in all profiles. 94 // Returns the shell window for |window|, looking in all profiles.
95 static ShellWindow* GetShellWindowForNativeWindowAnyProfile( 95 static ShellWindow* GetShellWindowForNativeWindowAnyProfile(
96 gfx::NativeWindow window); 96 gfx::NativeWindow window);
97 97
98 // Returns true if the number of shell windows registered across all profiles 98 // Returns true if the number of shell windows registered across all profiles
99 // is non-zero. |window_type_mask| is a bitwise OR filter of 99 // is non-zero. |window_type_mask| is a bitwise OR filter of
100 // ShellWindow::WindowType, or 0 for any window type. 100 // ShellWindow::WindowType, or 0 for any window type.
101 static bool IsShellWindowRegisteredInAnyProfile(int window_type_mask); 101 static bool IsShellWindowRegisteredInAnyProfile(int window_type_mask);
102 102
103 class Factory : public ProfileKeyedServiceFactory { 103 class Factory : public BrowserContextKeyedServiceFactory {
104 public: 104 public:
105 static ShellWindowRegistry* GetForProfile(Profile* profile, bool create); 105 static ShellWindowRegistry* GetForProfile(Profile* profile, bool create);
106 106
107 static Factory* GetInstance(); 107 static Factory* GetInstance();
108 private: 108 private:
109 friend struct DefaultSingletonTraits<Factory>; 109 friend struct DefaultSingletonTraits<Factory>;
110 110
111 Factory(); 111 Factory();
112 virtual ~Factory(); 112 virtual ~Factory();
113 113
114 // ProfileKeyedServiceFactory 114 // BrowserContextKeyedServiceFactory
115 virtual ProfileKeyedService* BuildServiceInstanceFor( 115 virtual BrowserContextKeyedService* BuildServiceInstanceFor(
116 content::BrowserContext* profile) const OVERRIDE; 116 content::BrowserContext* profile) const OVERRIDE;
117 virtual bool ServiceIsCreatedWithProfile() const OVERRIDE; 117 virtual bool ServiceIsCreatedWithBrowserContext() const OVERRIDE;
118 virtual bool ServiceIsNULLWhileTesting() const OVERRIDE; 118 virtual bool ServiceIsNULLWhileTesting() const OVERRIDE;
119 virtual content::BrowserContext* GetBrowserContextToUse( 119 virtual content::BrowserContext* GetBrowserContextToUse(
120 content::BrowserContext* context) const OVERRIDE; 120 content::BrowserContext* context) const OVERRIDE;
121 }; 121 };
122 122
123 protected: 123 protected:
124 void OnDevToolsStateChanged(content::DevToolsAgentHost*, bool attached); 124 void OnDevToolsStateChanged(content::DevToolsAgentHost*, bool attached);
125 125
126 private: 126 private:
127 // Ensures the specified |shell_window| is included in |shell_windows_|. 127 // Ensures the specified |shell_window| is included in |shell_windows_|.
128 // Otherwise adds |shell_window| to the back of |shell_windows_|. 128 // Otherwise adds |shell_window| to the back of |shell_windows_|.
129 void AddShellWindowToList(ShellWindow* shell_window); 129 void AddShellWindowToList(ShellWindow* shell_window);
130 130
131 // Bring |shell_window| to the front of |shell_windows_|. If it is not in the 131 // Bring |shell_window| to the front of |shell_windows_|. If it is not in the
132 // list, add it first. 132 // list, add it first.
133 void BringToFront(ShellWindow* shell_window); 133 void BringToFront(ShellWindow* shell_window);
134 134
135 Profile* profile_; 135 Profile* profile_;
136 ShellWindowList shell_windows_; 136 ShellWindowList shell_windows_;
137 InspectedWindowSet inspected_windows_; 137 InspectedWindowSet inspected_windows_;
138 ObserverList<Observer> observers_; 138 ObserverList<Observer> observers_;
139 base::Callback<void(content::DevToolsAgentHost*, bool)> devtools_callback_; 139 base::Callback<void(content::DevToolsAgentHost*, bool)> devtools_callback_;
140 }; 140 };
141 141
142 } // namespace extensions 142 } // namespace extensions
143 143
144 #endif // CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_ 144 #endif // CHROME_BROWSER_EXTENSIONS_SHELL_WINDOW_REGISTRY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698