| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/frame_host/render_widget_host_view_guest.h" | 5 #include "content/browser/frame_host/render_widget_host_view_guest.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 45 BrowserPluginGuest* guest, | 45 BrowserPluginGuest* guest, |
| 46 base::WeakPtr<RenderWidgetHostViewBase> platform_view) | 46 base::WeakPtr<RenderWidgetHostViewBase> platform_view) |
| 47 : RenderWidgetHostViewChildFrame(widget_host), | 47 : RenderWidgetHostViewChildFrame(widget_host), |
| 48 // |guest| is NULL during test. | 48 // |guest| is NULL during test. |
| 49 guest_(guest ? guest->AsWeakPtr() : base::WeakPtr<BrowserPluginGuest>()), | 49 guest_(guest ? guest->AsWeakPtr() : base::WeakPtr<BrowserPluginGuest>()), |
| 50 platform_view_(platform_view) { | 50 platform_view_(platform_view) { |
| 51 // Inputs for guest view are already scaled. | 51 // Inputs for guest view are already scaled. |
| 52 host_->set_scale_input_to_viewport(false); | 52 host_->set_scale_input_to_viewport(false); |
| 53 } | 53 } |
| 54 | 54 |
| 55 RenderWidgetHostViewGuest::~RenderWidgetHostViewGuest() { | 55 RenderWidgetHostViewGuest::~RenderWidgetHostViewGuest() {} |
| 56 } | |
| 57 | 56 |
| 58 bool RenderWidgetHostViewGuest::OnMessageReceivedFromEmbedder( | 57 bool RenderWidgetHostViewGuest::OnMessageReceivedFromEmbedder( |
| 59 const IPC::Message& message, | 58 const IPC::Message& message, |
| 60 RenderWidgetHostImpl* embedder) { | 59 RenderWidgetHostImpl* embedder) { |
| 61 bool handled = true; | 60 bool handled = true; |
| 62 IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(RenderWidgetHostViewGuest, message, | 61 IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(RenderWidgetHostViewGuest, message, |
| 63 embedder) | 62 embedder) |
| 64 IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_HandleInputEvent, | 63 IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_HandleInputEvent, |
| 65 OnHandleInputEvent) | 64 OnHandleInputEvent) |
| 66 IPC_MESSAGE_UNHANDLED(handled = false) | 65 IPC_MESSAGE_UNHANDLED(handled = false) |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 DCHECK(guest_->GetOwnerRenderWidgetHostView()); | 146 DCHECK(guest_->GetOwnerRenderWidgetHostView()); |
| 148 RenderWidgetHostImpl* embedder = static_cast<RenderWidgetHostImpl*>( | 147 RenderWidgetHostImpl* embedder = static_cast<RenderWidgetHostImpl*>( |
| 149 guest_->GetOwnerRenderWidgetHostView()->GetRenderWidgetHost()); | 148 guest_->GetOwnerRenderWidgetHostView()->GetRenderWidgetHost()); |
| 150 if (!embedder->GetView()->HasFocus()) | 149 if (!embedder->GetView()->HasFocus()) |
| 151 embedder->GetView()->Focus(); | 150 embedder->GetView()->Focus(); |
| 152 } | 151 } |
| 153 | 152 |
| 154 host_->ForwardTouchEventWithLatencyInfo(event, latency); | 153 host_->ForwardTouchEventWithLatencyInfo(event, latency); |
| 155 } | 154 } |
| 156 | 155 |
| 157 void RenderWidgetHostViewGuest::RegisterSurfaceNamespaceId() { | |
| 158 DCHECK(host_); | |
| 159 if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { | |
| 160 RenderWidgetHostInputEventRouter* router = | |
| 161 host_->delegate()->GetInputEventRouter(); | |
| 162 if (!router->is_registered(GetSurfaceIdNamespace())) | |
| 163 router->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this); | |
| 164 } | |
| 165 } | |
| 166 | |
| 167 void RenderWidgetHostViewGuest::UnregisterSurfaceNamespaceId() { | |
| 168 DCHECK(host_); | |
| 169 if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { | |
| 170 host_->delegate()->GetInputEventRouter()->RemoveSurfaceIdNamespaceOwner( | |
| 171 GetSurfaceIdNamespace()); | |
| 172 } | |
| 173 } | |
| 174 | |
| 175 gfx::Rect RenderWidgetHostViewGuest::GetViewBounds() const { | 156 gfx::Rect RenderWidgetHostViewGuest::GetViewBounds() const { |
| 176 if (!guest_) | 157 if (!guest_) |
| 177 return gfx::Rect(); | 158 return gfx::Rect(); |
| 178 | 159 |
| 179 RenderWidgetHostViewBase* rwhv = GetOwnerRenderWidgetHostView(); | 160 RenderWidgetHostViewBase* rwhv = GetOwnerRenderWidgetHostView(); |
| 180 gfx::Rect embedder_bounds; | 161 gfx::Rect embedder_bounds; |
| 181 if (rwhv) | 162 if (rwhv) |
| 182 embedder_bounds = rwhv->GetViewBounds(); | 163 embedder_bounds = rwhv->GetViewBounds(); |
| 183 return gfx::Rect( | 164 return gfx::Rect( |
| 184 guest_->GetScreenCoordinates(embedder_bounds.origin()), size_); | 165 guest_->GetScreenCoordinates(embedder_bounds.origin()), size_); |
| (...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 643 if (gesture_event.type == blink::WebInputEvent::GestureScrollUpdate && | 624 if (gesture_event.type == blink::WebInputEvent::GestureScrollUpdate && |
| 644 gesture_event.data.scrollUpdate.inertial) { | 625 gesture_event.data.scrollUpdate.inertial) { |
| 645 return; | 626 return; |
| 646 } | 627 } |
| 647 host_->ForwardGestureEvent(gesture_event); | 628 host_->ForwardGestureEvent(gesture_event); |
| 648 return; | 629 return; |
| 649 } | 630 } |
| 650 } | 631 } |
| 651 | 632 |
| 652 } // namespace content | 633 } // namespace content |
| OLD | NEW |