Browser Plugin: Enable Speech Bubble and Position Correctly

BUG=156643

Review URL: https://codereview.chromium.org/11273056

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169767 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc
index 0ad537fd..d062519 100644
--- a/content/browser/browser_plugin/browser_plugin_guest.cc
+++ b/content/browser/browser_plugin/browser_plugin_guest.cc
@@ -324,6 +324,13 @@
   damage_buffer_scale_factor_ = scale_factor;
 }
 
+gfx::Point BrowserPluginGuest::GetScreenCoordinates(
+    const gfx::Point& relative_position) const {
+  gfx::Point screen_pos(relative_position);
+  screen_pos += guest_window_rect_.OffsetFromOrigin();
+  return screen_pos;
+}
+
 int BrowserPluginGuest::embedder_routing_id() const {
   return embedder_web_contents_->GetRoutingID();
 }
@@ -416,11 +423,13 @@
 }
 
 void BrowserPluginGuest::HandleInputEvent(RenderViewHost* render_view_host,
-                                          const gfx::Rect& guest_rect,
+                                          const gfx::Rect& guest_window_rect,
+                                          const gfx::Rect& guest_screen_rect,
                                           const WebKit::WebInputEvent& event,
                                           IPC::Message* reply_message) {
   DCHECK(!pending_input_event_reply_.get());
-  guest_rect_ = guest_rect;
+  guest_window_rect_ = guest_window_rect;
+  guest_screen_rect_ = guest_screen_rect;
   RenderViewHostImpl* guest_rvh = static_cast<RenderViewHostImpl*>(
       web_contents()->GetRenderViewHost());
   IPC::Message* message = new ViewMsg_HandleInputEvent(routing_id());
@@ -492,7 +501,7 @@
                                     int route_id,
                                     const gfx::Rect& initial_pos) {
   gfx::Rect screen_pos(initial_pos);
-  screen_pos.Offset(guest_rect_.OffsetFromOrigin());
+  screen_pos.Offset(guest_screen_rect_.OffsetFromOrigin());
   static_cast<WebContentsImpl*>(web_contents())->ShowCreatedWidget(route_id,
                                                                    screen_pos);
 }