Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / content / browser / web_contents / web_contents_view_guest.cc
index 475e864..8fbc909 100644 (file)
@@ -13,6 +13,7 @@
 #include "content/browser/renderer_host/render_view_host_impl.h"
 #include "content/browser/web_contents/web_contents_impl.h"
 #include "content/common/drag_messages.h"
+#include "content/public/browser/user_metrics.h"
 #include "content/public/browser/web_contents_delegate.h"
 #include "content/public/common/context_menu_params.h"
 #include "content/public/common/drop_data.h"
@@ -217,7 +218,8 @@ void WebContentsViewGuest::GotFocus() {
 void WebContentsViewGuest::TakeFocus(bool reverse) {
 }
 
-void WebContentsViewGuest::ShowContextMenu(const ContextMenuParams& params) {
+void WebContentsViewGuest::ShowContextMenu(RenderFrameHost* render_frame_host,
+                                           const ContextMenuParams& params) {
 #if defined(USE_AURA) || defined(OS_WIN)
   // Context menu uses ScreenPositionClient::ConvertPointToScreen() in aura and
   // windows to calculate popup position. Guest's native view
@@ -234,9 +236,10 @@ void WebContentsViewGuest::ShowContextMenu(const ContextMenuParams& params) {
   ContextMenuParams params_in_embedder = params;
   params_in_embedder.x += offset.x();
   params_in_embedder.y += offset.y();
-  platform_view_delegate_view_->ShowContextMenu(params_in_embedder);
+  platform_view_delegate_view_->ShowContextMenu(
+      render_frame_host, params_in_embedder);
 #else
-  platform_view_delegate_view_->ShowContextMenu(params);
+  platform_view_delegate_view_->ShowContextMenu(render_frame_host, params);
 #endif  // defined(USE_AURA) || defined(OS_WIN)
 }
 
@@ -265,10 +268,12 @@ void WebContentsViewGuest::StartDragging(
   CHECK(embedder_render_view_host);
   RenderViewHostDelegateView* view =
       embedder_render_view_host->GetDelegate()->GetDelegateView();
-  if (view)
+  if (view) {
+    RecordAction(base::UserMetricsAction("BrowserPlugin.Guest.StartDrag"));
     view->StartDragging(drop_data, ops, image, image_offset, event_info);
-  else
+  } else {
     embedder_web_contents->SystemDragEnded();
+  }
 }
 
 }  // namespace content