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

Side by Side Diff: chrome/browser/extensions/extension_function_registry.cc

Issue 12089062: Move API functions registrations out of ExtensionFunctionRegistry. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Created 7 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 #include "chrome/browser/extensions/extension_function_registry.h" 5 #include "chrome/browser/extensions/extension_function_registry.h"
6 6
7 #include "chrome/browser/accessibility/accessibility_extension_api.h"
8 #include "chrome/browser/extensions/api/app/app_api.h"
9 #include "chrome/browser/extensions/api/bookmark_manager_private/bookmark_manage r_private_api.h"
10 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h"
11 #include "chrome/browser/extensions/api/commands/commands.h"
12 #include "chrome/browser/extensions/api/idle/idle_api.h"
13 #include "chrome/browser/extensions/api/managed_mode/managed_mode_api.h"
14 #include "chrome/browser/extensions/api/metrics/metrics.h"
15 #include "chrome/browser/extensions/api/module/module.h"
16 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h"
17 #include "chrome/browser/extensions/api/preference/preference_api.h" 7 #include "chrome/browser/extensions/api/preference/preference_api.h"
18 #include "chrome/browser/extensions/api/runtime/runtime_api.h" 8 #include "chrome/browser/extensions/api/runtime/runtime_api.h"
19 #include "chrome/browser/extensions/api/test/test_api.h"
20 #include "chrome/browser/extensions/api/top_sites/top_sites_api.h"
21 #include "chrome/browser/extensions/api/web_request/web_request_api.h" 9 #include "chrome/browser/extensions/api/web_request/web_request_api.h"
22 #include "chrome/browser/extensions/api/web_socket_proxy_private/web_socket_prox y_private_api.h"
23 #include "chrome/browser/extensions/api/webstore_private/webstore_private_api.h"
24 #include "chrome/browser/extensions/system/system_api.h"
25 #include "chrome/browser/infobars/infobar_extension_api.h"
26 #include "chrome/browser/rlz/rlz_extension_api.h" 10 #include "chrome/browser/rlz/rlz_extension_api.h"
27 #include "chrome/common/extensions/api/generated_api.h" 11 #include "chrome/common/extensions/api/generated_api.h"
28 12
29 #if defined(OS_CHROMEOS)
30 #include "chrome/browser/chromeos/extensions/echo_private_api.h"
31 #include "chrome/browser/chromeos/extensions/info_private_api.h"
32 #include "chrome/browser/chromeos/extensions/media_player_api.h"
33 #include "chrome/browser/chromeos/extensions/power/power_api.h"
34 #include "chrome/browser/chromeos/extensions/wallpaper_private_api.h"
35 #include "chrome/browser/extensions/api/terminal/terminal_private_api.h"
36 #endif // defined(OS_CHROMEOS)
37
38 // static 13 // static
39 ExtensionFunctionRegistry* ExtensionFunctionRegistry::GetInstance() { 14 ExtensionFunctionRegistry* ExtensionFunctionRegistry::GetInstance() {
40 return Singleton<ExtensionFunctionRegistry>::get(); 15 return Singleton<ExtensionFunctionRegistry>::get();
41 } 16 }
42 17
43 ExtensionFunctionRegistry::ExtensionFunctionRegistry() { 18 ExtensionFunctionRegistry::ExtensionFunctionRegistry() {
44 ResetFunctions(); 19 ResetFunctions();
45 } 20 }
46 21
47 ExtensionFunctionRegistry::~ExtensionFunctionRegistry() { 22 ExtensionFunctionRegistry::~ExtensionFunctionRegistry() {
48 } 23 }
49 24
50 void ExtensionFunctionRegistry::ResetFunctions() { 25 void ExtensionFunctionRegistry::ResetFunctions() {
51 #if defined(ENABLE_EXTENSIONS) 26 #if defined(ENABLE_EXTENSIONS)
52 27
53 // Register all functions here. 28 // Register all functions here.
54 29
55 // Browsing Data.
56 RegisterFunction<RemoveBrowsingDataFunction>();
57 RegisterFunction<RemoveAppCacheFunction>();
58 RegisterFunction<RemoveCacheFunction>();
59 RegisterFunction<RemoveCookiesFunction>();
60 RegisterFunction<RemoveDownloadsFunction>();
61 RegisterFunction<RemoveFileSystemsFunction>();
62 RegisterFunction<RemoveFormDataFunction>();
63 RegisterFunction<RemoveHistoryFunction>();
64 RegisterFunction<RemoveIndexedDBFunction>();
65 RegisterFunction<RemoveLocalStorageFunction>();
66 RegisterFunction<RemovePluginDataFunction>();
67 RegisterFunction<RemovePasswordsFunction>();
68 RegisterFunction<RemoveWebSQLFunction>();
69
70 // Infobars.
71 RegisterFunction<ShowInfoBarFunction>();
72
73 // BookmarkManager
74 RegisterFunction<extensions::CopyBookmarkManagerFunction>();
75 RegisterFunction<extensions::CutBookmarkManagerFunction>();
76 RegisterFunction<extensions::PasteBookmarkManagerFunction>();
77 RegisterFunction<extensions::CanPasteBookmarkManagerFunction>();
78 RegisterFunction<extensions::SortChildrenBookmarkManagerFunction>();
79 RegisterFunction<extensions::BookmarkManagerGetStringsFunction>();
80 RegisterFunction<extensions::StartDragBookmarkManagerFunction>();
81 RegisterFunction<extensions::DropBookmarkManagerFunction>();
82 RegisterFunction<extensions::GetSubtreeBookmarkManagerFunction>();
83 RegisterFunction<extensions::CanEditBookmarkManagerFunction>();
84 RegisterFunction<extensions::CanOpenNewWindowsBookmarkFunction>();
85
86 // Idle
87 RegisterFunction<extensions::IdleQueryStateFunction>();
88 RegisterFunction<extensions::IdleSetDetectionIntervalFunction>();
89
90 // Metrics.
91 RegisterFunction<extensions::MetricsRecordUserActionFunction>();
92 RegisterFunction<extensions::MetricsRecordValueFunction>();
93 RegisterFunction<extensions::MetricsRecordPercentageFunction>();
94 RegisterFunction<extensions::MetricsRecordCountFunction>();
95 RegisterFunction<extensions::MetricsRecordSmallCountFunction>();
96 RegisterFunction<extensions::MetricsRecordMediumCountFunction>();
97 RegisterFunction<extensions::MetricsRecordTimeFunction>();
98 RegisterFunction<extensions::MetricsRecordMediumTimeFunction>();
99 RegisterFunction<extensions::MetricsRecordLongTimeFunction>();
100
101 // RLZ (not supported on ChromeOS yet). 30 // RLZ (not supported on ChromeOS yet).
102 #if defined(ENABLE_RLZ) && !defined(OS_CHROMEOS) 31 #if defined(ENABLE_RLZ) && !defined(OS_CHROMEOS)
103 RegisterFunction<RlzRecordProductEventFunction>(); 32 RegisterFunction<RlzRecordProductEventFunction>();
104 RegisterFunction<RlzGetAccessPointRlzFunction>(); 33 RegisterFunction<RlzGetAccessPointRlzFunction>();
105 RegisterFunction<RlzSendFinancialPingFunction>(); 34 RegisterFunction<RlzSendFinancialPingFunction>();
106 RegisterFunction<RlzClearProductStateFunction>(); 35 RegisterFunction<RlzClearProductStateFunction>();
107 #endif 36 #endif
108 37
109 // Test.
110 RegisterFunction<extensions::TestNotifyPassFunction>();
111 RegisterFunction<extensions::TestFailFunction>();
112 RegisterFunction<extensions::TestLogFunction>();
113 RegisterFunction<extensions::TestResetQuotaFunction>();
114 RegisterFunction<extensions::TestCreateIncognitoTabFunction>();
115 RegisterFunction<extensions::TestSendMessageFunction>();
116 RegisterFunction<extensions::TestGetConfigFunction>();
117
118 // Accessibility.
119 RegisterFunction<GetFocusedControlFunction>();
120 RegisterFunction<SetAccessibilityEnabledFunction>();
121 RegisterFunction<GetAlertsForTabFunction>();
122
123 // Omnibox.
124 RegisterFunction<extensions::OmniboxSendSuggestionsFunction>();
125 RegisterFunction<extensions::OmniboxSetDefaultSuggestionFunction>();
126
127 #if defined(OS_CHROMEOS)
128 // Power
129 RegisterFunction<extensions::power::RequestKeepAwakeFunction>();
130 RegisterFunction<extensions::power::ReleaseKeepAwakeFunction>();
131 #endif
132
133 // Managed mode.
134 RegisterFunction<extensions::GetManagedModeFunction>();
135 RegisterFunction<extensions::EnterManagedModeFunction>();
136 RegisterFunction<extensions::GetPolicyFunction>();
137 RegisterFunction<extensions::SetPolicyFunction>();
138
139 // Extension module.
140 RegisterFunction<extensions::SetUpdateUrlDataFunction>();
141 RegisterFunction<extensions::IsAllowedIncognitoAccessFunction>();
142 RegisterFunction<extensions::IsAllowedFileSchemeAccessFunction>();
143
144 // WebstorePrivate.
145 RegisterFunction<extensions::GetBrowserLoginFunction>();
146 RegisterFunction<extensions::GetStoreLoginFunction>();
147 RegisterFunction<extensions::SetStoreLoginFunction>();
148 RegisterFunction<extensions::InstallBundleFunction>();
149 RegisterFunction<extensions::BeginInstallWithManifestFunction>();
150 RegisterFunction<extensions::CompleteInstallFunction>();
151 RegisterFunction<extensions::GetWebGLStatusFunction>();
152
153 // WebRequest. 38 // WebRequest.
154 RegisterFunction<WebRequestAddEventListener>(); 39 RegisterFunction<WebRequestAddEventListener>();
155 RegisterFunction<WebRequestEventHandled>(); 40 RegisterFunction<WebRequestEventHandled>();
156 41
157 // Preferences. 42 // Preferences.
158 RegisterFunction<extensions::GetPreferenceFunction>(); 43 RegisterFunction<extensions::GetPreferenceFunction>();
159 RegisterFunction<extensions::SetPreferenceFunction>(); 44 RegisterFunction<extensions::SetPreferenceFunction>();
160 RegisterFunction<extensions::ClearPreferenceFunction>(); 45 RegisterFunction<extensions::ClearPreferenceFunction>();
161 46
162 // ChromeOS-specific part of the API.
163 #if defined(OS_CHROMEOS)
164 // Device Customization.
165 RegisterFunction<extensions::GetChromeosInfoFunction>();
166
167 // Mediaplayer
168 RegisterFunction<extensions::PlayMediaplayerFunction>();
169 RegisterFunction<extensions::GetPlaylistMediaplayerFunction>();
170 RegisterFunction<extensions::SetWindowHeightMediaplayerFunction>();
171 RegisterFunction<extensions::CloseWindowMediaplayerFunction>();
172
173 // WallpaperManagerPrivate functions.
174 RegisterFunction<WallpaperStringsFunction>();
175 RegisterFunction<WallpaperSetWallpaperIfExistFunction>();
176 RegisterFunction<WallpaperSetWallpaperFunction>();
177 RegisterFunction<WallpaperSetCustomWallpaperFunction>();
178 RegisterFunction<WallpaperMinimizeInactiveWindowsFunction>();
179 RegisterFunction<WallpaperRestoreMinimizedWindowsFunction>();
180 RegisterFunction<WallpaperGetThumbnailFunction>();
181 RegisterFunction<WallpaperSaveThumbnailFunction>();
182 RegisterFunction<WallpaperGetOfflineWallpaperListFunction>();
183
184 // Echo
185 RegisterFunction<GetRegistrationCodeFunction>();
186
187 // Terminal
188 RegisterFunction<OpenTerminalProcessFunction>();
189 RegisterFunction<SendInputToTerminalProcessFunction>();
190 RegisterFunction<CloseTerminalProcessFunction>();
191 RegisterFunction<OnTerminalResizeFunction>();
192 #endif
193
194 // Websocket to TCP proxy. Currently noop on anything other than ChromeOS.
195 RegisterFunction<
196 extensions::WebSocketProxyPrivateGetPassportForTCPFunction>();
197 RegisterFunction<extensions::WebSocketProxyPrivateGetURLForTCPFunction>();
198
199 // Experimental App API.
200 RegisterFunction<extensions::AppNotifyFunction>();
201 RegisterFunction<extensions::AppClearAllNotificationsFunction>();
202
203 // TopSites
204 RegisterFunction<extensions::GetTopSitesFunction>();
205
206 // System
207 RegisterFunction<extensions::GetIncognitoModeAvailabilityFunction>();
208 RegisterFunction<extensions::GetUpdateStatusFunction>();
209
210 // Runtime 47 // Runtime
211 RegisterFunction<extensions::RuntimeGetBackgroundPageFunction>(); 48 RegisterFunction<extensions::RuntimeGetBackgroundPageFunction>();
212 RegisterFunction<extensions::RuntimeReloadFunction>(); 49 RegisterFunction<extensions::RuntimeReloadFunction>();
213 RegisterFunction<extensions::RuntimeRequestUpdateCheckFunction>(); 50 RegisterFunction<extensions::RuntimeRequestUpdateCheckFunction>();
214 51
215 // Generated APIs 52 // Generated APIs
216 extensions::api::GeneratedFunctionRegistry::RegisterAll(this); 53 extensions::api::GeneratedFunctionRegistry::RegisterAll(this);
217 #endif // defined(ENABLE_EXTENSIONS) 54 #endif // defined(ENABLE_EXTENSIONS)
218 } 55 }
219 56
(...skipping 28 matching lines...) Expand all
248 85
249 ExtensionFunctionRegistry::FactoryEntry::FactoryEntry() 86 ExtensionFunctionRegistry::FactoryEntry::FactoryEntry()
250 : factory_(0), histogram_value_(extensions::functions::UNKNOWN) { 87 : factory_(0), histogram_value_(extensions::functions::UNKNOWN) {
251 } 88 }
252 89
253 ExtensionFunctionRegistry::FactoryEntry::FactoryEntry( 90 ExtensionFunctionRegistry::FactoryEntry::FactoryEntry(
254 ExtensionFunctionFactory factory, 91 ExtensionFunctionFactory factory,
255 extensions::functions::HistogramValue histogram_value) 92 extensions::functions::HistogramValue histogram_value)
256 : factory_(factory), histogram_value_(histogram_value) { 93 : factory_(factory), histogram_value_(histogram_value) {
257 } 94 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698