diff options
author | fsamuel <fsamuel@chromium.org> | 2014-09-10 07:25:44 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-10 14:30:52 +0000 |
commit | 90e100b3b8d6149cce60045aea28ff7eb41f3483 (patch) | |
tree | f5026dcf351ee354f8418994f06e304c30750d35 /content/browser/browser_plugin/browser_plugin_guest.cc | |
parent | 5dc661941cd63a94cca1026ac9783b6382de9ae3 (diff) | |
download | chromium_src-90e100b3b8d6149cce60045aea28ff7eb41f3483.zip chromium_src-90e100b3b8d6149cce60045aea28ff7eb41f3483.tar.gz chromium_src-90e100b3b8d6149cce60045aea28ff7eb41f3483.tar.bz2 |
Browser Plugin: Move input to RWHVGuest to support interstitial pages
BUG=273089
Review URL: https://codereview.chromium.org/554733003
Cr-Commit-Position: refs/heads/master@{#294170}
Diffstat (limited to 'content/browser/browser_plugin/browser_plugin_guest.cc')
-rw-r--r-- | content/browser/browser_plugin/browser_plugin_guest.cc | 56 |
1 files changed, 10 insertions, 46 deletions
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc index 09db70f..89ab8fc 100644 --- a/content/browser/browser_plugin/browser_plugin_guest.cc +++ b/content/browser/browser_plugin/browser_plugin_guest.cc @@ -128,6 +128,16 @@ WebContentsImpl* BrowserPluginGuest::CreateNewGuestWindow( bool BrowserPluginGuest::OnMessageReceivedFromEmbedder( const IPC::Message& message) { + RenderWidgetHostViewGuest* rwhv = static_cast<RenderWidgetHostViewGuest*>( + web_contents()->GetRenderWidgetHostView()); + if (rwhv && + rwhv->OnMessageReceivedFromEmbedder( + message, + static_cast<RenderViewHostImpl*>( + embedder_web_contents()->GetRenderViewHost()))) { + return true; + } + bool handled = true; IPC_BEGIN_MESSAGE_MAP(BrowserPluginGuest, message) IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_CompositorFrameSwappedACK, @@ -140,8 +150,6 @@ bool BrowserPluginGuest::OnMessageReceivedFromEmbedder( OnExecuteEditCommand) IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_ExtendSelectionAndDelete, OnExtendSelectionAndDelete) - IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_HandleInputEvent, - OnHandleInputEvent) IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_ImeConfirmComposition, OnImeConfirmComposition) IPC_MESSAGE_HANDLER(BrowserPluginHostMsg_ImeSetComposition, @@ -631,50 +639,6 @@ void BrowserPluginGuest::OnReclaimCompositorResources( params.ack); } -void BrowserPluginGuest::OnHandleInputEvent( - int browser_plugin_instance_id, - const gfx::Rect& guest_window_rect, - const blink::WebInputEvent* event) { - RenderViewHostImpl* guest_rvh = static_cast<RenderViewHostImpl*>( - GetWebContents()->GetRenderViewHost()); - - if (blink::WebInputEvent::isMouseEventType(event->type)) { - guest_rvh->ForwardMouseEvent( - *static_cast<const blink::WebMouseEvent*>(event)); - return; - } - - if (event->type == blink::WebInputEvent::MouseWheel) { - guest_rvh->ForwardWheelEvent( - *static_cast<const blink::WebMouseWheelEvent*>(event)); - return; - } - - if (blink::WebInputEvent::isKeyboardEventType(event->type)) { - RenderViewHostImpl* embedder_rvh = static_cast<RenderViewHostImpl*>( - embedder_web_contents_->GetRenderViewHost()); - if (!embedder_rvh->GetLastKeyboardEvent()) - return; - NativeWebKeyboardEvent keyboard_event( - *embedder_rvh->GetLastKeyboardEvent()); - guest_rvh->ForwardKeyboardEvent(keyboard_event); - return; - } - - if (blink::WebInputEvent::isTouchEventType(event->type)) { - guest_rvh->ForwardTouchEventWithLatencyInfo( - *static_cast<const blink::WebTouchEvent*>(event), - ui::LatencyInfo()); - return; - } - - if (blink::WebInputEvent::isGestureEventType(event->type)) { - guest_rvh->ForwardGestureEvent( - *static_cast<const blink::WebGestureEvent*>(event)); - return; - } -} - void BrowserPluginGuest::OnLockMouse(bool user_gesture, bool last_unlocked_by_target, bool privileged) { |