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