Chromium Code Reviews| 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/browser/browser_plugin/browser_plugin_guest.h" | 5 #include "content/browser/browser_plugin/browser_plugin_guest.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/pickle.h" | 10 #include "base/pickle.h" |
| (...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 801 } | 801 } |
| 802 } | 802 } |
| 803 | 803 |
| 804 InitInternal(params, embedder_web_contents); | 804 InitInternal(params, embedder_web_contents); |
| 805 | 805 |
| 806 attached_ = true; | 806 attached_ = true; |
| 807 has_attached_since_surface_set_ = true; | 807 has_attached_since_surface_set_ = true; |
| 808 SendQueuedMessages(); | 808 SendQueuedMessages(); |
| 809 | 809 |
| 810 delegate_->DidAttach(GetGuestProxyRoutingID()); | 810 delegate_->DidAttach(GetGuestProxyRoutingID()); |
| 811 RenderWidgetHostViewGuest* rwhv = static_cast<RenderWidgetHostViewGuest*>( | |
| 812 web_contents()->GetRenderWidgetHostView()); | |
|
kenrb
2015/11/25 19:33:06
I don't exactly know how much this is a concern, b
wjmaclean
2015/11/26 13:01:03
I don't think so, but at least the touch events st
kenrb
2015/11/26 16:19:14
OOPIFs don't support touch events yet, but I don't
| |
| 813 rwhv->RegisterSurfaceNamespaceId(); | |
| 811 | 814 |
| 812 if (!use_cross_process_frames) | 815 if (!use_cross_process_frames) |
| 813 has_render_view_ = true; | 816 has_render_view_ = true; |
| 814 | 817 |
| 815 RecordAction(base::UserMetricsAction("BrowserPlugin.Guest.Attached")); | 818 RecordAction(base::UserMetricsAction("BrowserPlugin.Guest.Attached")); |
| 816 } | 819 } |
| 817 | 820 |
| 818 void BrowserPluginGuest::OnCompositorFrameSwappedACK( | 821 void BrowserPluginGuest::OnCompositorFrameSwappedACK( |
| 819 int browser_plugin_instance_id, | 822 int browser_plugin_instance_id, |
| 820 const FrameHostMsg_CompositorFrameSwappedACK_Params& params) { | 823 const FrameHostMsg_CompositorFrameSwappedACK_Params& params) { |
| 821 RenderWidgetHostImpl::SendSwapCompositorFrameAck(params.producing_route_id, | 824 RenderWidgetHostImpl::SendSwapCompositorFrameAck(params.producing_route_id, |
| 822 params.output_surface_id, | 825 params.output_surface_id, |
| 823 params.producing_host_id, | 826 params.producing_host_id, |
| 824 params.ack); | 827 params.ack); |
| 825 last_pending_frame_.reset(); | 828 last_pending_frame_.reset(); |
| 826 } | 829 } |
| 827 | 830 |
| 828 void BrowserPluginGuest::OnDetach(int browser_plugin_instance_id) { | 831 void BrowserPluginGuest::OnDetach(int browser_plugin_instance_id) { |
| 829 if (!attached()) | 832 if (!attached()) |
| 830 return; | 833 return; |
| 831 | 834 |
| 832 // This tells BrowserPluginGuest to queue up all IPCs to BrowserPlugin until | 835 // This tells BrowserPluginGuest to queue up all IPCs to BrowserPlugin until |
| 833 // it's attached again. | 836 // it's attached again. |
| 834 attached_ = false; | 837 attached_ = false; |
| 835 | 838 |
| 839 RenderWidgetHostViewGuest* rwhv = static_cast<RenderWidgetHostViewGuest*>( | |
| 840 web_contents()->GetRenderWidgetHostView()); | |
| 841 // If the guest is terminated, our host may already be gone. | |
| 842 if (rwhv) | |
| 843 rwhv->UnregisterSurfaceNamespaceId(); | |
| 844 | |
| 836 delegate_->DidDetach(); | 845 delegate_->DidDetach(); |
| 837 } | 846 } |
| 838 | 847 |
| 839 void BrowserPluginGuest::OnDragStatusUpdate(int browser_plugin_instance_id, | 848 void BrowserPluginGuest::OnDragStatusUpdate(int browser_plugin_instance_id, |
| 840 blink::WebDragStatus drag_status, | 849 blink::WebDragStatus drag_status, |
| 841 const DropData& drop_data, | 850 const DropData& drop_data, |
| 842 blink::WebDragOperationsMask mask, | 851 blink::WebDragOperationsMask mask, |
| 843 const gfx::Point& location) { | 852 const gfx::Point& location) { |
| 844 RenderViewHost* host = GetWebContents()->GetRenderViewHost(); | 853 RenderViewHost* host = GetWebContents()->GetRenderViewHost(); |
| 845 auto embedder = owner_web_contents_->GetBrowserPluginEmbedder(); | 854 auto embedder = owner_web_contents_->GetBrowserPluginEmbedder(); |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1056 range, character_bounds); | 1065 range, character_bounds); |
| 1057 } | 1066 } |
| 1058 #endif | 1067 #endif |
| 1059 | 1068 |
| 1060 void BrowserPluginGuest::SetContextMenuPosition(const gfx::Point& position) { | 1069 void BrowserPluginGuest::SetContextMenuPosition(const gfx::Point& position) { |
| 1061 if (delegate_) | 1070 if (delegate_) |
| 1062 delegate_->SetContextMenuPosition(position); | 1071 delegate_->SetContextMenuPosition(position); |
| 1063 } | 1072 } |
| 1064 | 1073 |
| 1065 } // namespace content | 1074 } // namespace content |
| OLD | NEW |