| 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 |