| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/renderer/webplugin_delegate_proxy.h" | 5 #include "chrome/renderer/webplugin_delegate_proxy.h" |
| 6 | 6 |
| 7 #if defined(TOOLKIT_USES_GTK) | 7 #if defined(TOOLKIT_USES_GTK) |
| 8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 465 IPC_MESSAGE_HANDLER(PluginHostMsg_URLRequest, OnHandleURLRequest) | 465 IPC_MESSAGE_HANDLER(PluginHostMsg_URLRequest, OnHandleURLRequest) |
| 466 IPC_MESSAGE_HANDLER(PluginHostMsg_GetCPBrowsingContext, | 466 IPC_MESSAGE_HANDLER(PluginHostMsg_GetCPBrowsingContext, |
| 467 OnGetCPBrowsingContext) | 467 OnGetCPBrowsingContext) |
| 468 IPC_MESSAGE_HANDLER(PluginHostMsg_CancelDocumentLoad, OnCancelDocumentLoad) | 468 IPC_MESSAGE_HANDLER(PluginHostMsg_CancelDocumentLoad, OnCancelDocumentLoad) |
| 469 IPC_MESSAGE_HANDLER(PluginHostMsg_InitiateHTTPRangeRequest, | 469 IPC_MESSAGE_HANDLER(PluginHostMsg_InitiateHTTPRangeRequest, |
| 470 OnInitiateHTTPRangeRequest) | 470 OnInitiateHTTPRangeRequest) |
| 471 IPC_MESSAGE_HANDLER(PluginHostMsg_DeferResourceLoading, | 471 IPC_MESSAGE_HANDLER(PluginHostMsg_DeferResourceLoading, |
| 472 OnDeferResourceLoading) | 472 OnDeferResourceLoading) |
| 473 | 473 |
| 474 #if defined(OS_MACOSX) | 474 #if defined(OS_MACOSX) |
| 475 IPC_MESSAGE_HANDLER(PluginHostMsg_SetImeEnabled, |
| 476 OnSetImeEnabled); |
| 475 IPC_MESSAGE_HANDLER(PluginHostMsg_BindFakePluginWindowHandle, | 477 IPC_MESSAGE_HANDLER(PluginHostMsg_BindFakePluginWindowHandle, |
| 476 OnBindFakePluginWindowHandle); | 478 OnBindFakePluginWindowHandle); |
| 477 IPC_MESSAGE_HANDLER(PluginHostMsg_UpdateGeometry_ACK, | 479 IPC_MESSAGE_HANDLER(PluginHostMsg_UpdateGeometry_ACK, |
| 478 OnUpdateGeometry_ACK) | 480 OnUpdateGeometry_ACK) |
| 479 // Used only on 10.6 and later. | 481 // Used only on 10.6 and later. |
| 480 IPC_MESSAGE_HANDLER(PluginHostMsg_AcceleratedSurfaceSetIOSurface, | 482 IPC_MESSAGE_HANDLER(PluginHostMsg_AcceleratedSurfaceSetIOSurface, |
| 481 OnAcceleratedSurfaceSetIOSurface) | 483 OnAcceleratedSurfaceSetIOSurface) |
| 482 // Used on 10.5 and earlier. | 484 // Used on 10.5 and earlier. |
| 483 IPC_MESSAGE_HANDLER(PluginHostMsg_AcceleratedSurfaceSetTransportDIB, | 485 IPC_MESSAGE_HANDLER(PluginHostMsg_AcceleratedSurfaceSetTransportDIB, |
| 484 OnAcceleratedSurfaceSetTransportDIB) | 486 OnAcceleratedSurfaceSetTransportDIB) |
| (...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 void WebPluginDelegateProxy::WindowFrameChanged(gfx::Rect window_frame, | 1020 void WebPluginDelegateProxy::WindowFrameChanged(gfx::Rect window_frame, |
| 1019 gfx::Rect view_frame) { | 1021 gfx::Rect view_frame) { |
| 1020 IPC::Message* msg = new PluginMsg_WindowFrameChanged(instance_id_, | 1022 IPC::Message* msg = new PluginMsg_WindowFrameChanged(instance_id_, |
| 1021 window_frame, | 1023 window_frame, |
| 1022 view_frame); | 1024 view_frame); |
| 1023 // Make sure frame events are delivered in the right order relative to | 1025 // Make sure frame events are delivered in the right order relative to |
| 1024 // sync messages they might interact with (e.g., HandleEvent). | 1026 // sync messages they might interact with (e.g., HandleEvent). |
| 1025 msg->set_unblock(true); | 1027 msg->set_unblock(true); |
| 1026 Send(msg); | 1028 Send(msg); |
| 1027 } | 1029 } |
| 1030 void WebPluginDelegateProxy::ImeCompositionConfirmed(const string16& text, |
| 1031 int plugin_id) { |
| 1032 // If the text isn't intended for this plugin, there's nothing to do. |
| 1033 if (instance_id_ != plugin_id) |
| 1034 return; |
| 1035 |
| 1036 IPC::Message* msg = new PluginMsg_ImeCompositionConfirmed(instance_id_, |
| 1037 text); |
| 1038 // Order relative to other key events is important. |
| 1039 msg->set_unblock(true); |
| 1040 Send(msg); |
| 1041 } |
| 1028 #endif // OS_MACOSX | 1042 #endif // OS_MACOSX |
| 1029 | 1043 |
| 1030 void WebPluginDelegateProxy::OnSetWindow(gfx::PluginWindowHandle window) { | 1044 void WebPluginDelegateProxy::OnSetWindow(gfx::PluginWindowHandle window) { |
| 1031 uses_shared_bitmaps_ = !window; | 1045 uses_shared_bitmaps_ = !window; |
| 1032 window_ = window; | 1046 window_ = window; |
| 1033 if (plugin_) | 1047 if (plugin_) |
| 1034 plugin_->SetWindow(window); | 1048 plugin_->SetWindow(window); |
| 1035 } | 1049 } |
| 1036 | 1050 |
| 1037 void WebPluginDelegateProxy::WillDestroyWindow() { | 1051 void WebPluginDelegateProxy::WillDestroyWindow() { |
| (...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1366 if (!channel_host_) | 1380 if (!channel_host_) |
| 1367 return NULL; | 1381 return NULL; |
| 1368 | 1382 |
| 1369 ResourceClientProxy* proxy = new ResourceClientProxy(channel_host_, | 1383 ResourceClientProxy* proxy = new ResourceClientProxy(channel_host_, |
| 1370 instance_id_); | 1384 instance_id_); |
| 1371 proxy->InitializeForSeekableStream(resource_id, range_request_id); | 1385 proxy->InitializeForSeekableStream(resource_id, range_request_id); |
| 1372 return proxy; | 1386 return proxy; |
| 1373 } | 1387 } |
| 1374 | 1388 |
| 1375 #if defined(OS_MACOSX) | 1389 #if defined(OS_MACOSX) |
| 1390 void WebPluginDelegateProxy::OnSetImeEnabled(bool enabled) { |
| 1391 if (render_view_) |
| 1392 render_view_->SetPluginImeEnabled(enabled, instance_id_); |
| 1393 } |
| 1394 |
| 1376 void WebPluginDelegateProxy::OnBindFakePluginWindowHandle(bool opaque) { | 1395 void WebPluginDelegateProxy::OnBindFakePluginWindowHandle(bool opaque) { |
| 1377 BindFakePluginWindowHandle(opaque); | 1396 BindFakePluginWindowHandle(opaque); |
| 1378 } | 1397 } |
| 1379 | 1398 |
| 1380 // Synthesize a fake window handle for the plug-in to identify the instance | 1399 // Synthesize a fake window handle for the plug-in to identify the instance |
| 1381 // to the browser, allowing mapping to a surface for hardware acceleration | 1400 // to the browser, allowing mapping to a surface for hardware acceleration |
| 1382 // of plug-in content. The browser generates the handle which is then set on | 1401 // of plug-in content. The browser generates the handle which is then set on |
| 1383 // the plug-in. Returns true if it successfully sets the window handle on the | 1402 // the plug-in. Returns true if it successfully sets the window handle on the |
| 1384 // plug-in. | 1403 // plug-in. |
| 1385 bool WebPluginDelegateProxy::BindFakePluginWindowHandle(bool opaque) { | 1404 bool WebPluginDelegateProxy::BindFakePluginWindowHandle(bool opaque) { |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1543 if (index->mime_type == "application/x-vnd.moveplayer.qm" || | 1562 if (index->mime_type == "application/x-vnd.moveplayer.qm" || |
| 1544 index->mime_type == "application/x-vnd.moveplay2.qm" || | 1563 index->mime_type == "application/x-vnd.moveplay2.qm" || |
| 1545 index->mime_type == "application/x-vnd.movenetworks.qm" || | 1564 index->mime_type == "application/x-vnd.movenetworks.qm" || |
| 1546 index->mime_type == "application/x-vnd.mnplayer.qm") { | 1565 index->mime_type == "application/x-vnd.mnplayer.qm") { |
| 1547 return true; | 1566 return true; |
| 1548 } | 1567 } |
| 1549 } | 1568 } |
| 1550 return false; | 1569 return false; |
| 1551 } | 1570 } |
| 1552 #endif | 1571 #endif |
| OLD | NEW |