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_service.h" | 5 #include "chrome/browser/extensions/extension_service.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 #include "chrome/common/url_constants.h" | 76 #include "chrome/common/url_constants.h" |
77 #include "content/browser/browser_thread.h" | 77 #include "content/browser/browser_thread.h" |
78 #include "content/browser/debugger/devtools_manager.h" | 78 #include "content/browser/debugger/devtools_manager.h" |
79 #include "content/browser/plugin_process_host.h" | 79 #include "content/browser/plugin_process_host.h" |
80 #include "content/browser/plugin_service.h" | 80 #include "content/browser/plugin_service.h" |
81 #include "content/browser/renderer_host/render_process_host.h" | 81 #include "content/browser/renderer_host/render_process_host.h" |
82 #include "content/browser/user_metrics.h" | 82 #include "content/browser/user_metrics.h" |
83 #include "content/common/content_notification_types.h" | 83 #include "content/common/content_notification_types.h" |
84 #include "content/common/json_value_serializer.h" | 84 #include "content/common/json_value_serializer.h" |
85 #include "content/common/notification_service.h" | 85 #include "content/common/notification_service.h" |
86 #include "content/common/pepper_plugin_registry.h" | |
87 #include "googleurl/src/gurl.h" | 86 #include "googleurl/src/gurl.h" |
88 #include "net/base/registry_controlled_domain.h" | 87 #include "net/base/registry_controlled_domain.h" |
89 #include "webkit/database/database_tracker.h" | 88 #include "webkit/database/database_tracker.h" |
90 #include "webkit/database/database_util.h" | 89 #include "webkit/database/database_util.h" |
91 #include "webkit/plugins/npapi/plugin_list.h" | 90 #include "webkit/plugins/npapi/plugin_list.h" |
| 91 #include "webkit/plugins/ppapi/ppapi_plugin_info.h" |
92 | 92 |
93 #if defined(OS_CHROMEOS) | 93 #if defined(OS_CHROMEOS) |
94 #include "chrome/browser/chromeos/cros/cros_library.h" | 94 #include "chrome/browser/chromeos/cros/cros_library.h" |
95 #include "chrome/browser/chromeos/extensions/file_browser_event_router.h" | 95 #include "chrome/browser/chromeos/extensions/file_browser_event_router.h" |
96 #include "chrome/browser/chromeos/extensions/input_method_event_router.h" | 96 #include "chrome/browser/chromeos/extensions/input_method_event_router.h" |
97 #include "chrome/browser/chromeos/extensions/media_player_event_router.h" | 97 #include "chrome/browser/chromeos/extensions/media_player_event_router.h" |
98 #include "chrome/browser/chromeos/input_method/input_method_manager.h" | 98 #include "chrome/browser/chromeos/input_method/input_method_manager.h" |
99 #include "chrome/browser/extensions/extension_input_ime_api.h" | 99 #include "chrome/browser/extensions/extension_input_ime_api.h" |
100 #include "webkit/fileapi/file_system_context.h" | 100 #include "webkit/fileapi/file_system_context.h" |
101 #include "webkit/fileapi/file_system_mount_point_provider.h" | 101 #include "webkit/fileapi/file_system_mount_point_provider.h" |
(...skipping 2729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2831 nacl_module_list_.push_front(info); | 2831 nacl_module_list_.push_front(info); |
2832 } | 2832 } |
2833 | 2833 |
2834 void ExtensionService::UnregisterNaClModule(const GURL& url) { | 2834 void ExtensionService::UnregisterNaClModule(const GURL& url) { |
2835 NaClModuleInfoList::iterator iter = FindNaClModule(url); | 2835 NaClModuleInfoList::iterator iter = FindNaClModule(url); |
2836 DCHECK(iter != nacl_module_list_.end()); | 2836 DCHECK(iter != nacl_module_list_.end()); |
2837 nacl_module_list_.erase(iter); | 2837 nacl_module_list_.erase(iter); |
2838 } | 2838 } |
2839 | 2839 |
2840 void ExtensionService::UpdatePluginListWithNaClModules() { | 2840 void ExtensionService::UpdatePluginListWithNaClModules() { |
| 2841 /* |
2841 // An extension has been added which has a nacl_module component, which means | 2842 // An extension has been added which has a nacl_module component, which means |
2842 // there is a MIME type that module wants to handle, so we need to add that | 2843 // there is a MIME type that module wants to handle, so we need to add that |
2843 // MIME type to plugins which handle NaCl modules in order to allow the | 2844 // MIME type to plugins which handle NaCl modules in order to allow the |
2844 // individual modules to handle these types. | 2845 // individual modules to handle these types. |
2845 const PepperPluginInfo* pepper_info = NULL; | 2846 const webkit::ppapi::PluginInfo* pepper_info = NULL; |
2846 std::vector<PepperPluginInfo> plugins; | 2847 std::vector<webkit::ppapi::PluginInfo> plugins; |
2847 PepperPluginRegistry::ComputeList(&plugins); | 2848 webkit::ppapi::PluginRegistry::ComputeList(&plugins); |
2848 | 2849 |
2849 // Search the entire plugin list for plugins that handle the NaCl MIME type. | 2850 // Search the entire plugin list for plugins that handle the NaCl MIME type. |
2850 // There can be multiple plugins like this, for instance the internal NaCl | 2851 // There can be multiple plugins like this, for instance the internal NaCl |
2851 // plugin and a plugin registered by --register-pepper-plugins during tests. | 2852 // plugin and a plugin registered by --register-pepper-plugins during tests. |
2852 for (size_t i = 0; i < plugins.size(); ++i) { | 2853 for (size_t i = 0; i < plugins.size(); ++i) { |
2853 pepper_info = &plugins[i]; | 2854 pepper_info = &plugins[i]; |
2854 CHECK(pepper_info); | 2855 CHECK(pepper_info); |
2855 std::vector<webkit::WebPluginMimeType>::const_iterator mime_iter; | 2856 std::vector<webkit::WebPluginMimeType>::const_iterator mime_iter; |
2856 // Check each MIME type the plugins handle for the NaCl MIME type. | 2857 // Check each MIME type the plugins handle for the NaCl MIME type. |
2857 for (mime_iter = pepper_info->mime_types.begin(); | 2858 for (mime_iter = pepper_info->mime_types.begin(); |
(...skipping 20 matching lines...) Expand all Loading... |
2878 info.mime_types.push_back(mime_type_info); | 2879 info.mime_types.push_back(mime_type_info); |
2879 } | 2880 } |
2880 | 2881 |
2881 webkit::npapi::PluginList::Singleton()->RefreshPlugins(); | 2882 webkit::npapi::PluginList::Singleton()->RefreshPlugins(); |
2882 webkit::npapi::PluginList::Singleton()->RegisterInternalPlugin(info); | 2883 webkit::npapi::PluginList::Singleton()->RegisterInternalPlugin(info); |
2883 // This plugin has been modified, no need to check the rest of its | 2884 // This plugin has been modified, no need to check the rest of its |
2884 // types, but continue checking other plugins. | 2885 // types, but continue checking other plugins. |
2885 break; | 2886 break; |
2886 } | 2887 } |
2887 } | 2888 } |
2888 } | 2889 }*/ |
2889 } | 2890 } |
2890 | 2891 |
2891 ExtensionService::NaClModuleInfoList::iterator | 2892 ExtensionService::NaClModuleInfoList::iterator |
2892 ExtensionService::FindNaClModule(const GURL& url) { | 2893 ExtensionService::FindNaClModule(const GURL& url) { |
2893 for (NaClModuleInfoList::iterator iter = nacl_module_list_.begin(); | 2894 for (NaClModuleInfoList::iterator iter = nacl_module_list_.begin(); |
2894 iter != nacl_module_list_.end(); ++iter) { | 2895 iter != nacl_module_list_.end(); ++iter) { |
2895 if (iter->url == url) | 2896 if (iter->url == url) |
2896 return iter; | 2897 return iter; |
2897 } | 2898 } |
2898 return nacl_module_list_.end(); | 2899 return nacl_module_list_.end(); |
2899 } | 2900 } |
OLD | NEW |