OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_dispatcher.h" | 5 #include "chrome/browser/extensions/extension_function_dispatcher.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 | 8 |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/memory/singleton.h" | 10 #include "base/memory/singleton.h" |
11 #include "base/process_util.h" | 11 #include "base/process_util.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "build/build_config.h" | 13 #include "build/build_config.h" |
14 #include "chrome/browser/extensions/execute_code_in_tab_function.h" | 14 #include "chrome/browser/extensions/execute_code_in_tab_function.h" |
15 #include "chrome/browser/extensions/extension_accessibility_api.h" | 15 #include "chrome/browser/extensions/extension_accessibility_api.h" |
16 #include "chrome/browser/extensions/extension_bookmark_manager_api.h" | 16 #include "chrome/browser/extensions/extension_bookmark_manager_api.h" |
17 #include "chrome/browser/extensions/extension_bookmarks_module.h" | 17 #include "chrome/browser/extensions/extension_bookmarks_module.h" |
18 #include "chrome/browser/extensions/extension_browser_actions_api.h" | 18 #include "chrome/browser/extensions/extension_browser_actions_api.h" |
19 #include "chrome/browser/extensions/extension_clipboard_api.h" | 19 #include "chrome/browser/extensions/extension_clipboard_api.h" |
20 #include "chrome/browser/extensions/extension_context_menu_api.h" | 20 #include "chrome/browser/extensions/extension_context_menu_api.h" |
21 #include "chrome/browser/extensions/extension_cookies_api.h" | 21 #include "chrome/browser/extensions/extension_cookies_api.h" |
22 #include "chrome/browser/extensions/extension_debugger_api.h" | 22 #include "chrome/browser/extensions/extension_debugger_api.h" |
23 #include "chrome/browser/extensions/extension_file_browser_private_api.h" | |
24 #include "chrome/browser/extensions/extension_function.h" | 23 #include "chrome/browser/extensions/extension_function.h" |
25 #include "chrome/browser/extensions/extension_history_api.h" | 24 #include "chrome/browser/extensions/extension_history_api.h" |
26 #include "chrome/browser/extensions/extension_i18n_api.h" | 25 #include "chrome/browser/extensions/extension_i18n_api.h" |
27 #include "chrome/browser/extensions/extension_idle_api.h" | 26 #include "chrome/browser/extensions/extension_idle_api.h" |
28 #include "chrome/browser/extensions/extension_infobar_module.h" | 27 #include "chrome/browser/extensions/extension_infobar_module.h" |
29 #include "chrome/browser/extensions/extension_management_api.h" | 28 #include "chrome/browser/extensions/extension_management_api.h" |
30 #include "chrome/browser/extensions/extension_message_service.h" | 29 #include "chrome/browser/extensions/extension_message_service.h" |
31 #include "chrome/browser/extensions/extension_metrics_module.h" | 30 #include "chrome/browser/extensions/extension_metrics_module.h" |
32 #include "chrome/browser/extensions/extension_module.h" | 31 #include "chrome/browser/extensions/extension_module.h" |
33 #include "chrome/browser/extensions/extension_omnibox_api.h" | 32 #include "chrome/browser/extensions/extension_omnibox_api.h" |
(...skipping 25 matching lines...) Expand all Loading... |
59 #include "content/browser/renderer_host/render_view_host.h" | 58 #include "content/browser/renderer_host/render_view_host.h" |
60 #include "content/common/notification_service.h" | 59 #include "content/common/notification_service.h" |
61 #include "content/common/result_codes.h" | 60 #include "content/common/result_codes.h" |
62 #include "third_party/skia/include/core/SkBitmap.h" | 61 #include "third_party/skia/include/core/SkBitmap.h" |
63 | 62 |
64 #if defined(TOOLKIT_VIEWS) | 63 #if defined(TOOLKIT_VIEWS) |
65 #include "chrome/browser/extensions/extension_input_api.h" | 64 #include "chrome/browser/extensions/extension_input_api.h" |
66 #endif | 65 #endif |
67 | 66 |
68 #if defined(OS_CHROMEOS) | 67 #if defined(OS_CHROMEOS) |
| 68 #include "chrome/browser/extensions/extension_file_browser_private_api.h" |
69 #include "chrome/browser/extensions/extension_info_private_api_chromeos.h" | 69 #include "chrome/browser/extensions/extension_info_private_api_chromeos.h" |
70 #endif | 70 #endif |
71 | 71 |
72 // FactoryRegistry ------------------------------------------------------------- | 72 // FactoryRegistry ------------------------------------------------------------- |
73 | 73 |
74 namespace { | 74 namespace { |
75 | 75 |
76 // Template for defining ExtensionFunctionFactory. | 76 // Template for defining ExtensionFunctionFactory. |
77 template<class T> | 77 template<class T> |
78 ExtensionFunction* NewExtensionFunction() { | 78 ExtensionFunction* NewExtensionFunction() { |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 | 194 |
195 // Idle | 195 // Idle |
196 RegisterFunction<ExtensionIdleQueryStateFunction>(); | 196 RegisterFunction<ExtensionIdleQueryStateFunction>(); |
197 | 197 |
198 // I18N. | 198 // I18N. |
199 RegisterFunction<GetAcceptLanguagesFunction>(); | 199 RegisterFunction<GetAcceptLanguagesFunction>(); |
200 | 200 |
201 // Processes. | 201 // Processes. |
202 RegisterFunction<GetProcessIdForTabFunction>(); | 202 RegisterFunction<GetProcessIdForTabFunction>(); |
203 | 203 |
204 // Local filesystem. | |
205 RegisterFunction<RequestLocalFileSystemFunction>(); | |
206 | |
207 // Metrics. | 204 // Metrics. |
208 RegisterFunction<MetricsGetEnabledFunction>(); | 205 RegisterFunction<MetricsGetEnabledFunction>(); |
209 RegisterFunction<MetricsSetEnabledFunction>(); | 206 RegisterFunction<MetricsSetEnabledFunction>(); |
210 RegisterFunction<MetricsRecordUserActionFunction>(); | 207 RegisterFunction<MetricsRecordUserActionFunction>(); |
211 RegisterFunction<MetricsRecordValueFunction>(); | 208 RegisterFunction<MetricsRecordValueFunction>(); |
212 RegisterFunction<MetricsRecordPercentageFunction>(); | 209 RegisterFunction<MetricsRecordPercentageFunction>(); |
213 RegisterFunction<MetricsRecordCountFunction>(); | 210 RegisterFunction<MetricsRecordCountFunction>(); |
214 RegisterFunction<MetricsRecordSmallCountFunction>(); | 211 RegisterFunction<MetricsRecordSmallCountFunction>(); |
215 RegisterFunction<MetricsRecordMediumCountFunction>(); | 212 RegisterFunction<MetricsRecordMediumCountFunction>(); |
216 RegisterFunction<MetricsRecordTimeFunction>(); | 213 RegisterFunction<MetricsRecordTimeFunction>(); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 | 302 |
306 // WebRequest. | 303 // WebRequest. |
307 RegisterFunction<WebRequestAddEventListener>(); | 304 RegisterFunction<WebRequestAddEventListener>(); |
308 RegisterFunction<WebRequestEventHandled>(); | 305 RegisterFunction<WebRequestEventHandled>(); |
309 | 306 |
310 // Preferences. | 307 // Preferences. |
311 RegisterFunction<GetPreferenceFunction>(); | 308 RegisterFunction<GetPreferenceFunction>(); |
312 RegisterFunction<SetPreferenceFunction>(); | 309 RegisterFunction<SetPreferenceFunction>(); |
313 RegisterFunction<ClearPreferenceFunction>(); | 310 RegisterFunction<ClearPreferenceFunction>(); |
314 | 311 |
315 // File Dialog. | 312 // ChromeOS-specific part of the API. |
| 313 #if defined(OS_CHROMEOS) |
| 314 // Device Customization. |
| 315 RegisterFunction<GetChromeosInfoFunction>(); |
| 316 |
| 317 // FileBrowserPrivate functions. |
| 318 RegisterFunction<ExecuteTasksFileBrowserFunction>(); |
| 319 RegisterFunction<GetFileTasksFileBrowserFunction>(); |
| 320 RegisterFunction<RequestLocalFileSystemFunction>(); |
316 RegisterFunction<SelectFileFunction>(); | 321 RegisterFunction<SelectFileFunction>(); |
317 RegisterFunction<SelectFilesFunction>(); | 322 RegisterFunction<SelectFilesFunction>(); |
318 RegisterFunction<CancelFileDialogFunction>(); | 323 RegisterFunction<CancelFileDialogFunction>(); |
319 RegisterFunction<FileDialogStringsFunction>(); | 324 RegisterFunction<FileDialogStringsFunction>(); |
320 | |
321 #if defined(OS_CHROMEOS) | |
322 // Device Customization. | |
323 RegisterFunction<GetChromeosInfoFunction>(); | |
324 #endif | 325 #endif |
325 | 326 |
326 // Debugger | 327 // Debugger |
327 RegisterFunction<AttachDebuggerFunction>(); | 328 RegisterFunction<AttachDebuggerFunction>(); |
328 RegisterFunction<DetachDebuggerFunction>(); | 329 RegisterFunction<DetachDebuggerFunction>(); |
329 RegisterFunction<SendRequestDebuggerFunction>(); | 330 RegisterFunction<SendRequestDebuggerFunction>(); |
330 } | 331 } |
331 | 332 |
332 void FactoryRegistry::GetAllNames(std::vector<std::string>* names) { | 333 void FactoryRegistry::GetAllNames(std::vector<std::string>* names) { |
333 for (FactoryMap::iterator iter = factories_.begin(); | 334 for (FactoryMap::iterator iter = factories_.begin(); |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 NOTREACHED(); | 532 NOTREACHED(); |
532 UserMetrics::RecordAction(UserMetricsAction("BadMessageTerminate_EFD")); | 533 UserMetrics::RecordAction(UserMetricsAction("BadMessageTerminate_EFD")); |
533 base::KillProcess(render_view_host_->process()->GetHandle(), | 534 base::KillProcess(render_view_host_->process()->GetHandle(), |
534 ResultCodes::KILLED_BAD_MESSAGE, false); | 535 ResultCodes::KILLED_BAD_MESSAGE, false); |
535 } | 536 } |
536 } | 537 } |
537 | 538 |
538 Profile* ExtensionFunctionDispatcher::profile() { | 539 Profile* ExtensionFunctionDispatcher::profile() { |
539 return profile_; | 540 return profile_; |
540 } | 541 } |
OLD | NEW |