Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Side by Side Diff: content/renderer/pepper/pepper_plugin_delegate_impl.cc

Issue 9959037: Put the Pepper stuff in the content namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_plugin_delegate_impl.h ('k') | content/renderer/pepper/pepper_proxy_channel_delegate_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698