OLD | NEW |
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 "content/renderer/pepper/pepper_plugin_delegate_impl.h" | 5 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 #include <cstddef> | 8 #include <cstddef> |
9 #include <map> | 9 #include <map> |
10 #include <queue> | 10 #include <queue> |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 #include "webkit/plugins/ppapi/ppb_flash_impl.h" | 84 #include "webkit/plugins/ppapi/ppb_flash_impl.h" |
85 #include "webkit/plugins/ppapi/ppb_tcp_server_socket_private_impl.h" | 85 #include "webkit/plugins/ppapi/ppb_tcp_server_socket_private_impl.h" |
86 #include "webkit/plugins/ppapi/ppb_tcp_socket_private_impl.h" | 86 #include "webkit/plugins/ppapi/ppb_tcp_socket_private_impl.h" |
87 #include "webkit/plugins/ppapi/ppb_udp_socket_private_impl.h" | 87 #include "webkit/plugins/ppapi/ppb_udp_socket_private_impl.h" |
88 #include "webkit/plugins/ppapi/resource_helper.h" | 88 #include "webkit/plugins/ppapi/resource_helper.h" |
89 #include "webkit/plugins/webplugininfo.h" | 89 #include "webkit/plugins/webplugininfo.h" |
90 | 90 |
91 using WebKit::WebView; | 91 using WebKit::WebView; |
92 using WebKit::WebFrame; | 92 using WebKit::WebFrame; |
93 | 93 |
| 94 namespace content { |
| 95 |
94 namespace { | 96 namespace { |
95 | 97 |
96 class HostDispatcherWrapper | 98 class HostDispatcherWrapper |
97 : public webkit::ppapi::PluginDelegate::OutOfProcessProxy { | 99 : public webkit::ppapi::PluginDelegate::OutOfProcessProxy { |
98 public: | 100 public: |
99 HostDispatcherWrapper() {} | 101 HostDispatcherWrapper() {} |
100 virtual ~HostDispatcherWrapper() {} | 102 virtual ~HostDispatcherWrapper() {} |
101 | 103 |
102 bool Init(base::ProcessHandle plugin_process_handle, | 104 bool Init(base::ProcessHandle plugin_process_handle, |
103 const IPC::ChannelHandle& channel_handle, | 105 const IPC::ChannelHandle& channel_handle, |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 return true; | 184 return true; |
183 } | 185 } |
184 | 186 |
185 private: | 187 private: |
186 webkit::ppapi::PluginInstance* plugin_; | 188 webkit::ppapi::PluginInstance* plugin_; |
187 }; | 189 }; |
188 | 190 |
189 } // namespace | 191 } // namespace |
190 | 192 |
191 PepperPluginDelegateImpl::PepperPluginDelegateImpl(RenderViewImpl* render_view) | 193 PepperPluginDelegateImpl::PepperPluginDelegateImpl(RenderViewImpl* render_view) |
192 : content::RenderViewObserver(render_view), | 194 : RenderViewObserver(render_view), |
193 render_view_(render_view), | 195 render_view_(render_view), |
194 has_saved_context_menu_action_(false), | 196 has_saved_context_menu_action_(false), |
195 saved_context_menu_action_(0), | 197 saved_context_menu_action_(0), |
196 focused_plugin_(NULL), | 198 focused_plugin_(NULL), |
197 last_mouse_event_target_(NULL), | 199 last_mouse_event_target_(NULL), |
198 device_enumeration_event_handler_( | 200 device_enumeration_event_handler_( |
199 new PepperDeviceEnumerationEventHandler()) { | 201 new PepperDeviceEnumerationEventHandler()) { |
200 } | 202 } |
201 | 203 |
202 PepperPluginDelegateImpl::~PepperPluginDelegateImpl() { | 204 PepperPluginDelegateImpl::~PepperPluginDelegateImpl() { |
203 DCHECK(mouse_lock_instances_.empty()); | 205 DCHECK(mouse_lock_instances_.empty()); |
204 } | 206 } |
205 | 207 |
206 scoped_refptr<webkit::ppapi::PluginModule> | 208 scoped_refptr<webkit::ppapi::PluginModule> |
207 PepperPluginDelegateImpl::CreatePepperPluginModule( | 209 PepperPluginDelegateImpl::CreatePepperPluginModule( |
208 const webkit::WebPluginInfo& webplugin_info, | 210 const webkit::WebPluginInfo& webplugin_info, |
209 bool* pepper_plugin_was_registered) { | 211 bool* pepper_plugin_was_registered) { |
210 *pepper_plugin_was_registered = true; | 212 *pepper_plugin_was_registered = true; |
211 | 213 |
212 // See if a module has already been loaded for this plugin. | 214 // See if a module has already been loaded for this plugin. |
213 FilePath path(webplugin_info.path); | 215 FilePath path(webplugin_info.path); |
214 scoped_refptr<webkit::ppapi::PluginModule> module = | 216 scoped_refptr<webkit::ppapi::PluginModule> module = |
215 PepperPluginRegistry::GetInstance()->GetLiveModule(path); | 217 PepperPluginRegistry::GetInstance()->GetLiveModule(path); |
216 if (module) | 218 if (module) |
217 return module; | 219 return module; |
218 | 220 |
219 // In-process plugins will have always been created up-front to avoid the | 221 // In-process plugins will have always been created up-front to avoid the |
220 // sandbox restrictions. So getting here implies it doesn't exist or should | 222 // sandbox restrictions. So getting here implies it doesn't exist or should |
221 // be out of process. | 223 // be out of process. |
222 const content::PepperPluginInfo* info = | 224 const PepperPluginInfo* info = |
223 PepperPluginRegistry::GetInstance()->GetInfoForPlugin(webplugin_info); | 225 PepperPluginRegistry::GetInstance()->GetInfoForPlugin(webplugin_info); |
224 if (!info) { | 226 if (!info) { |
225 *pepper_plugin_was_registered = false; | 227 *pepper_plugin_was_registered = false; |
226 return scoped_refptr<webkit::ppapi::PluginModule>(); | 228 return scoped_refptr<webkit::ppapi::PluginModule>(); |
227 } else if (!info->is_out_of_process) { | 229 } else if (!info->is_out_of_process) { |
228 // In-process plugin not preloaded, it probably couldn't be initialized. | 230 // In-process plugin not preloaded, it probably couldn't be initialized. |
229 return scoped_refptr<webkit::ppapi::PluginModule>(); | 231 return scoped_refptr<webkit::ppapi::PluginModule>(); |
230 } | 232 } |
231 | 233 |
232 // Out of process: have the browser start the plugin process for us. | 234 // Out of process: have the browser start the plugin process for us. |
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 active_instances_.erase(instance); | 531 active_instances_.erase(instance); |
530 UnSetAndDeleteLockTargetAdapter(instance); | 532 UnSetAndDeleteLockTargetAdapter(instance); |
531 | 533 |
532 if (last_mouse_event_target_ == instance) | 534 if (last_mouse_event_target_ == instance) |
533 last_mouse_event_target_ = NULL; | 535 last_mouse_event_target_ = NULL; |
534 if (focused_plugin_ == instance) | 536 if (focused_plugin_ == instance) |
535 PluginFocusChanged(instance, false); | 537 PluginFocusChanged(instance, false); |
536 } | 538 } |
537 | 539 |
538 SkBitmap* PepperPluginDelegateImpl::GetSadPluginBitmap() { | 540 SkBitmap* PepperPluginDelegateImpl::GetSadPluginBitmap() { |
539 return content::GetContentClient()->renderer()->GetSadPluginBitmap(); | 541 return GetContentClient()->renderer()->GetSadPluginBitmap(); |
540 } | 542 } |
541 | 543 |
542 webkit::ppapi::PluginDelegate::PlatformImage2D* | 544 webkit::ppapi::PluginDelegate::PlatformImage2D* |
543 PepperPluginDelegateImpl::CreateImage2D(int width, int height) { | 545 PepperPluginDelegateImpl::CreateImage2D(int width, int height) { |
544 return PepperPlatformImage2DImpl::Create(width, height); | 546 return PepperPlatformImage2DImpl::Create(width, height); |
545 } | 547 } |
546 | 548 |
547 webkit::ppapi::PluginDelegate::PlatformContext3D* | 549 webkit::ppapi::PluginDelegate::PlatformContext3D* |
548 PepperPluginDelegateImpl::CreateContext3D() { | 550 PepperPluginDelegateImpl::CreateContext3D() { |
549 #ifdef ENABLE_GPU | 551 #ifdef ENABLE_GPU |
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1084 } | 1086 } |
1085 } | 1087 } |
1086 | 1088 |
1087 void PepperPluginDelegateImpl::UnregisterHostResolver(uint32 host_resolver_id) { | 1089 void PepperPluginDelegateImpl::UnregisterHostResolver(uint32 host_resolver_id) { |
1088 host_resolvers_.Remove(host_resolver_id); | 1090 host_resolvers_.Remove(host_resolver_id); |
1089 } | 1091 } |
1090 | 1092 |
1091 bool PepperPluginDelegateImpl::AddNetworkListObserver( | 1093 bool PepperPluginDelegateImpl::AddNetworkListObserver( |
1092 webkit_glue::NetworkListObserver* observer) { | 1094 webkit_glue::NetworkListObserver* observer) { |
1093 #if defined(ENABLE_P2P_APIS) | 1095 #if defined(ENABLE_P2P_APIS) |
1094 content::P2PSocketDispatcher* socket_dispatcher = | 1096 P2PSocketDispatcher* socket_dispatcher = |
1095 render_view_->p2p_socket_dispatcher(); | 1097 render_view_->p2p_socket_dispatcher(); |
1096 if (!socket_dispatcher) { | 1098 if (!socket_dispatcher) { |
1097 return false; | 1099 return false; |
1098 } | 1100 } |
1099 socket_dispatcher->AddNetworkListObserver(observer); | 1101 socket_dispatcher->AddNetworkListObserver(observer); |
1100 return true; | 1102 return true; |
1101 #else | 1103 #else |
1102 return false; | 1104 return false; |
1103 #endif | 1105 #endif |
1104 } | 1106 } |
1105 | 1107 |
1106 void PepperPluginDelegateImpl::RemoveNetworkListObserver( | 1108 void PepperPluginDelegateImpl::RemoveNetworkListObserver( |
1107 webkit_glue::NetworkListObserver* observer) { | 1109 webkit_glue::NetworkListObserver* observer) { |
1108 #if defined(ENABLE_P2P_APIS) | 1110 #if defined(ENABLE_P2P_APIS) |
1109 content::P2PSocketDispatcher* socket_dispatcher = | 1111 P2PSocketDispatcher* socket_dispatcher = |
1110 render_view_->p2p_socket_dispatcher(); | 1112 render_view_->p2p_socket_dispatcher(); |
1111 if (socket_dispatcher) | 1113 if (socket_dispatcher) |
1112 socket_dispatcher->RemoveNetworkListObserver(observer); | 1114 socket_dispatcher->RemoveNetworkListObserver(observer); |
1113 #endif | 1115 #endif |
1114 } | 1116 } |
1115 | 1117 |
1116 int32_t PepperPluginDelegateImpl::ShowContextMenu( | 1118 int32_t PepperPluginDelegateImpl::ShowContextMenu( |
1117 webkit::ppapi::PluginInstance* instance, | 1119 webkit::ppapi::PluginInstance* instance, |
1118 webkit::ppapi::PPB_Flash_Menu_Impl* menu, | 1120 webkit::ppapi::PPB_Flash_Menu_Impl* menu, |
1119 const gfx::Point& position) { | 1121 const gfx::Point& position) { |
1120 int32 render_widget_id = render_view_->routing_id(); | 1122 int32 render_widget_id = render_view_->routing_id(); |
1121 if (instance->FlashIsFullscreen(instance->pp_instance())) { | 1123 if (instance->FlashIsFullscreen(instance->pp_instance())) { |
1122 webkit::ppapi::FullscreenContainer* container = | 1124 webkit::ppapi::FullscreenContainer* container = |
1123 instance->fullscreen_container(); | 1125 instance->fullscreen_container(); |
1124 DCHECK(container); | 1126 DCHECK(container); |
1125 render_widget_id = | 1127 render_widget_id = |
1126 static_cast<RenderWidgetFullscreenPepper*>(container)->routing_id(); | 1128 static_cast<RenderWidgetFullscreenPepper*>(container)->routing_id(); |
1127 } | 1129 } |
1128 | 1130 |
1129 int request_id = pending_context_menus_.Add( | 1131 int request_id = pending_context_menus_.Add( |
1130 new scoped_refptr<webkit::ppapi::PPB_Flash_Menu_Impl>(menu)); | 1132 new scoped_refptr<webkit::ppapi::PPB_Flash_Menu_Impl>(menu)); |
1131 | 1133 |
1132 content::ContextMenuParams params; | 1134 ContextMenuParams params; |
1133 params.x = position.x(); | 1135 params.x = position.x(); |
1134 params.y = position.y(); | 1136 params.y = position.y(); |
1135 params.custom_context.is_pepper_menu = true; | 1137 params.custom_context.is_pepper_menu = true; |
1136 params.custom_context.request_id = request_id; | 1138 params.custom_context.request_id = request_id; |
1137 params.custom_context.render_widget_id = render_widget_id; | 1139 params.custom_context.render_widget_id = render_widget_id; |
1138 params.custom_items = menu->menu_data(); | 1140 params.custom_items = menu->menu_data(); |
1139 | 1141 |
1140 // Transform the position to be in render view's coordinates. | 1142 // Transform the position to be in render view's coordinates. |
1141 if (instance->view_data().is_fullscreen || | 1143 if (instance->view_data().is_fullscreen || |
1142 instance->FlashIsFullscreen(instance->pp_instance())) { | 1144 instance->FlashIsFullscreen(instance->pp_instance())) { |
1143 WebKit::WebRect rect = render_view_->windowRect(); | 1145 WebKit::WebRect rect = render_view_->windowRect(); |
1144 params.x -= rect.x; | 1146 params.x -= rect.x; |
1145 params.y -= rect.y; | 1147 params.y -= rect.y; |
1146 } else { | 1148 } else { |
1147 params.x += instance->view_data().rect.point.x; | 1149 params.x += instance->view_data().rect.point.x; |
1148 params.y += instance->view_data().rect.point.y; | 1150 params.y += instance->view_data().rect.point.y; |
1149 } | 1151 } |
1150 | 1152 |
1151 IPC::Message* msg = new ViewHostMsg_ContextMenu(render_view_->routing_id(), | 1153 IPC::Message* msg = new ViewHostMsg_ContextMenu(render_view_->routing_id(), |
1152 params); | 1154 params); |
1153 if (!render_view_->Send(msg)) { | 1155 if (!render_view_->Send(msg)) { |
1154 pending_context_menus_.Remove(request_id); | 1156 pending_context_menus_.Remove(request_id); |
1155 return PP_ERROR_FAILED; | 1157 return PP_ERROR_FAILED; |
1156 } | 1158 } |
1157 | 1159 |
1158 return PP_OK_COMPLETIONPENDING; | 1160 return PP_OK_COMPLETIONPENDING; |
1159 } | 1161 } |
1160 | 1162 |
1161 void PepperPluginDelegateImpl::OnContextMenuClosed( | 1163 void PepperPluginDelegateImpl::OnContextMenuClosed( |
1162 const content::CustomContextMenuContext& custom_context) { | 1164 const CustomContextMenuContext& custom_context) { |
1163 int request_id = custom_context.request_id; | 1165 int request_id = custom_context.request_id; |
1164 scoped_refptr<webkit::ppapi::PPB_Flash_Menu_Impl>* menu_ptr = | 1166 scoped_refptr<webkit::ppapi::PPB_Flash_Menu_Impl>* menu_ptr = |
1165 pending_context_menus_.Lookup(request_id); | 1167 pending_context_menus_.Lookup(request_id); |
1166 if (!menu_ptr) { | 1168 if (!menu_ptr) { |
1167 NOTREACHED() << "CompleteShowContextMenu() called twice for the same menu."; | 1169 NOTREACHED() << "CompleteShowContextMenu() called twice for the same menu."; |
1168 return; | 1170 return; |
1169 } | 1171 } |
1170 scoped_refptr<webkit::ppapi::PPB_Flash_Menu_Impl> menu = *menu_ptr; | 1172 scoped_refptr<webkit::ppapi::PPB_Flash_Menu_Impl> menu = *menu_ptr; |
1171 DCHECK(menu.get()); | 1173 DCHECK(menu.get()); |
1172 pending_context_menus_.Remove(request_id); | 1174 pending_context_menus_.Remove(request_id); |
1173 | 1175 |
1174 if (has_saved_context_menu_action_) { | 1176 if (has_saved_context_menu_action_) { |
1175 menu->CompleteShow(PP_OK, saved_context_menu_action_); | 1177 menu->CompleteShow(PP_OK, saved_context_menu_action_); |
1176 has_saved_context_menu_action_ = false; | 1178 has_saved_context_menu_action_ = false; |
1177 saved_context_menu_action_ = 0; | 1179 saved_context_menu_action_ = 0; |
1178 } else { | 1180 } else { |
1179 menu->CompleteShow(PP_ERROR_USERCANCEL, 0); | 1181 menu->CompleteShow(PP_ERROR_USERCANCEL, 0); |
1180 } | 1182 } |
1181 } | 1183 } |
1182 | 1184 |
1183 void PepperPluginDelegateImpl::OnCustomContextMenuAction( | 1185 void PepperPluginDelegateImpl::OnCustomContextMenuAction( |
1184 const content::CustomContextMenuContext& custom_context, | 1186 const CustomContextMenuContext& custom_context, |
1185 unsigned action) { | 1187 unsigned action) { |
1186 // Just save the action. | 1188 // Just save the action. |
1187 DCHECK(!has_saved_context_menu_action_); | 1189 DCHECK(!has_saved_context_menu_action_); |
1188 has_saved_context_menu_action_ = true; | 1190 has_saved_context_menu_action_ = true; |
1189 saved_context_menu_action_ = action; | 1191 saved_context_menu_action_ = action; |
1190 } | 1192 } |
1191 | 1193 |
1192 webkit::ppapi::FullscreenContainer* | 1194 webkit::ppapi::FullscreenContainer* |
1193 PepperPluginDelegateImpl::CreateFullscreenContainer( | 1195 PepperPluginDelegateImpl::CreateFullscreenContainer( |
1194 webkit::ppapi::PluginInstance* instance) { | 1196 webkit::ppapi::PluginInstance* instance) { |
1195 return render_view_->CreatePepperFullscreenContainer(instance); | 1197 return render_view_->CreatePepperFullscreenContainer(instance); |
1196 } | 1198 } |
1197 | 1199 |
1198 gfx::Size PepperPluginDelegateImpl::GetScreenSize() { | 1200 gfx::Size PepperPluginDelegateImpl::GetScreenSize() { |
1199 WebKit::WebScreenInfo info = render_view_->screenInfo(); | 1201 WebKit::WebScreenInfo info = render_view_->screenInfo(); |
1200 return gfx::Size(info.rect.width, info.rect.height); | 1202 return gfx::Size(info.rect.width, info.rect.height); |
1201 } | 1203 } |
1202 | 1204 |
1203 std::string PepperPluginDelegateImpl::GetDefaultEncoding() { | 1205 std::string PepperPluginDelegateImpl::GetDefaultEncoding() { |
1204 // TODO(brettw) bug 56615: Somehow get the preference for the default | 1206 // TODO(brettw) bug 56615: Somehow get the preference for the default |
1205 // encoding here rather than using the global default for the UI language. | 1207 // encoding here rather than using the global default for the UI language. |
1206 return content::GetContentClient()->renderer()->GetDefaultEncoding(); | 1208 return GetContentClient()->renderer()->GetDefaultEncoding(); |
1207 } | 1209 } |
1208 | 1210 |
1209 void PepperPluginDelegateImpl::ZoomLimitsChanged(double minimum_factor, | 1211 void PepperPluginDelegateImpl::ZoomLimitsChanged(double minimum_factor, |
1210 double maximum_factor) { | 1212 double maximum_factor) { |
1211 double minimum_level = WebView::zoomFactorToZoomLevel(minimum_factor); | 1213 double minimum_level = WebView::zoomFactorToZoomLevel(minimum_factor); |
1212 double maximum_level = WebView::zoomFactorToZoomLevel(maximum_factor); | 1214 double maximum_level = WebView::zoomFactorToZoomLevel(maximum_factor); |
1213 render_view_->webview()->zoomLimitsChanged(minimum_level, maximum_level); | 1215 render_view_->webview()->zoomLimitsChanged(minimum_level, maximum_level); |
1214 } | 1216 } |
1215 | 1217 |
1216 std::string PepperPluginDelegateImpl::ResolveProxy(const GURL& url) { | 1218 std::string PepperPluginDelegateImpl::ResolveProxy(const GURL& url) { |
(...skipping 17 matching lines...) Expand all Loading... |
1234 render_view_->routing_id(), restrictions)); | 1236 render_view_->routing_id(), restrictions)); |
1235 } | 1237 } |
1236 | 1238 |
1237 void PepperPluginDelegateImpl::SaveURLAs(const GURL& url) { | 1239 void PepperPluginDelegateImpl::SaveURLAs(const GURL& url) { |
1238 render_view_->Send(new ViewHostMsg_SaveURLAs( | 1240 render_view_->Send(new ViewHostMsg_SaveURLAs( |
1239 render_view_->routing_id(), url)); | 1241 render_view_->routing_id(), url)); |
1240 } | 1242 } |
1241 | 1243 |
1242 webkit_glue::P2PTransport* PepperPluginDelegateImpl::CreateP2PTransport() { | 1244 webkit_glue::P2PTransport* PepperPluginDelegateImpl::CreateP2PTransport() { |
1243 #if defined(ENABLE_P2P_APIS) | 1245 #if defined(ENABLE_P2P_APIS) |
1244 return new content::P2PTransportImpl(render_view_->p2p_socket_dispatcher()); | 1246 return new P2PTransportImpl(render_view_->p2p_socket_dispatcher()); |
1245 #else | 1247 #else |
1246 return NULL; | 1248 return NULL; |
1247 #endif | 1249 #endif |
1248 } | 1250 } |
1249 | 1251 |
1250 double PepperPluginDelegateImpl::GetLocalTimeZoneOffset(base::Time t) { | 1252 double PepperPluginDelegateImpl::GetLocalTimeZoneOffset(base::Time t) { |
1251 double result = 0.0; | 1253 double result = 0.0; |
1252 render_view_->Send(new PepperMsg_GetLocalTimeZoneOffset( | 1254 render_view_->Send(new PepperMsg_GetLocalTimeZoneOffset( |
1253 t, &result)); | 1255 t, &result)); |
1254 return result; | 1256 return result; |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1315 webkit::ppapi::PluginInstance* instance) { | 1317 webkit::ppapi::PluginInstance* instance) { |
1316 last_mouse_event_target_ = instance; | 1318 last_mouse_event_target_ = instance; |
1317 } | 1319 } |
1318 | 1320 |
1319 bool PepperPluginDelegateImpl::IsInFullscreenMode() { | 1321 bool PepperPluginDelegateImpl::IsInFullscreenMode() { |
1320 return render_view_->is_fullscreen(); | 1322 return render_view_->is_fullscreen(); |
1321 } | 1323 } |
1322 | 1324 |
1323 void PepperPluginDelegateImpl::SampleGamepads(WebKit::WebGamepads* data) { | 1325 void PepperPluginDelegateImpl::SampleGamepads(WebKit::WebGamepads* data) { |
1324 if (!gamepad_shared_memory_reader_.get()) | 1326 if (!gamepad_shared_memory_reader_.get()) |
1325 gamepad_shared_memory_reader_.reset(new content::GamepadSharedMemoryReader); | 1327 gamepad_shared_memory_reader_.reset(new GamepadSharedMemoryReader); |
1326 gamepad_shared_memory_reader_->SampleGamepads(*data); | 1328 gamepad_shared_memory_reader_->SampleGamepads(*data); |
1327 } | 1329 } |
1328 | 1330 |
1329 bool PepperPluginDelegateImpl::IsPageVisible() const { | 1331 bool PepperPluginDelegateImpl::IsPageVisible() const { |
1330 return !render_view_->is_hidden(); | 1332 return !render_view_->is_hidden(); |
1331 } | 1333 } |
1332 | 1334 |
1333 int PepperPluginDelegateImpl::EnumerateDevices( | 1335 int PepperPluginDelegateImpl::EnumerateDevices( |
1334 PP_DeviceType_Dev type, | 1336 PP_DeviceType_Dev type, |
1335 const EnumerateDevicesCallback& callback) { | 1337 const EnumerateDevicesCallback& callback) { |
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1596 render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(target); | 1598 render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(target); |
1597 delete target; | 1599 delete target; |
1598 mouse_lock_instances_.erase(it); | 1600 mouse_lock_instances_.erase(it); |
1599 } | 1601 } |
1600 } | 1602 } |
1601 | 1603 |
1602 webkit_glue::ClipboardClient* | 1604 webkit_glue::ClipboardClient* |
1603 PepperPluginDelegateImpl::CreateClipboardClient() const { | 1605 PepperPluginDelegateImpl::CreateClipboardClient() const { |
1604 return new RendererClipboardClient; | 1606 return new RendererClipboardClient; |
1605 } | 1607 } |
| 1608 |
| 1609 } // namespace content |
OLD | NEW |