Commit 20a75f52 authored by galinap's avatar galinap Committed by Commit bot

[Suggestions] Add User action UMA for context menu actions

Added recording of user actions for all context menu actions:
 - open context menu
 - open item in new tab
 - open item in new window
 - open item in an incognito tab
 - download item
 - remove item
 - undo removal of item

BUG=713145

Review-Url: https://codereview.chromium.org/2831113002
Cr-Commit-Position: refs/heads/master@{#466932}
parent 58197789
...@@ -13,6 +13,7 @@ import android.view.MenuItem; ...@@ -13,6 +13,7 @@ import android.view.MenuItem;
import android.view.MenuItem.OnMenuItemClickListener; import android.view.MenuItem.OnMenuItemClickListener;
import android.view.View; import android.view.View;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate;
...@@ -123,6 +124,8 @@ public class ContextMenuManager implements OnCloseContextMenuListener { ...@@ -123,6 +124,8 @@ public class ContextMenuManager implements OnCloseContextMenuListener {
// https://crbug.com/638555, https://crbug.com/636296). // https://crbug.com/638555, https://crbug.com/636296).
mTouchEnabledDelegate.setTouchEnabled(false); mTouchEnabledDelegate.setTouchEnabled(false);
mContextMenuOpen = true; mContextMenuOpen = true;
RecordUserAction.record("Suggestions.ContextMenu.Shown");
} }
@Override @Override
...@@ -184,18 +187,23 @@ public class ContextMenuManager implements OnCloseContextMenuListener { ...@@ -184,18 +187,23 @@ public class ContextMenuManager implements OnCloseContextMenuListener {
switch (item.getItemId()) { switch (item.getItemId()) {
case ID_OPEN_IN_NEW_WINDOW: case ID_OPEN_IN_NEW_WINDOW:
mDelegate.openItem(WindowOpenDisposition.NEW_WINDOW); mDelegate.openItem(WindowOpenDisposition.NEW_WINDOW);
RecordUserAction.record("Suggestions.ContextMenu.OpenItemInNewWindow");
return true; return true;
case ID_OPEN_IN_NEW_TAB: case ID_OPEN_IN_NEW_TAB:
mDelegate.openItem(WindowOpenDisposition.NEW_BACKGROUND_TAB); mDelegate.openItem(WindowOpenDisposition.NEW_BACKGROUND_TAB);
RecordUserAction.record("Suggestions.ContextMenu.OpenItemInNewTab");
return true; return true;
case ID_OPEN_IN_INCOGNITO_TAB: case ID_OPEN_IN_INCOGNITO_TAB:
mDelegate.openItem(WindowOpenDisposition.OFF_THE_RECORD); mDelegate.openItem(WindowOpenDisposition.OFF_THE_RECORD);
RecordUserAction.record("Suggestions.ContextMenu.OpenItemInIncognitoTab");
return true; return true;
case ID_SAVE_FOR_OFFLINE: case ID_SAVE_FOR_OFFLINE:
mDelegate.openItem(WindowOpenDisposition.SAVE_TO_DISK); mDelegate.openItem(WindowOpenDisposition.SAVE_TO_DISK);
RecordUserAction.record("Suggestions.ContextMenu.DownloadItem");
return true; return true;
case ID_REMOVE: case ID_REMOVE:
mDelegate.removeItem(); mDelegate.removeItem();
RecordUserAction.record("Suggestions.ContextMenu.RemoveItem");
return true; return true;
default: default:
return false; return false;
......
...@@ -25,6 +25,7 @@ import org.chromium.base.ApiCompatibilityUtils; ...@@ -25,6 +25,7 @@ import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.Callback; import org.chromium.base.Callback;
import org.chromium.base.Log; import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting; import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback; import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
...@@ -486,6 +487,8 @@ public class TileGroup implements MostVisitedSites.Observer { ...@@ -486,6 +487,8 @@ public class TileGroup implements MostVisitedSites.Observer {
@Override @Override
public void onResult(String restoredUrl) { public void onResult(String restoredUrl) {
mPendingInsertionUrl = restoredUrl; mPendingInsertionUrl = restoredUrl;
RecordUserAction.record("Suggestions.Tile.RemovalUndone");
} }
} }
......
...@@ -15806,6 +15806,65 @@ should be able to be added at any place in this file. ...@@ -15806,6 +15806,65 @@ should be able to be added at any place in this file.
<description>Please enter the description of this user action.</description> <description>Please enter the description of this user action.</description>
</action> </action>
<action name="Suggestions.ContextMenu.DownloadItem">
<owner>mvanouwerkerk@chromium.org</owner>
<owner>galinap@google.com</owner>
<description>
Android: User used the context menu to download a suggested item.
</description>
</action>
<action name="Suggestions.ContextMenu.OpenItemInIncognitoTab">
<owner>mvanouwerkerk@chromium.org</owner>
<owner>galinap@google.com</owner>
<description>
Android: User used the context menu to open a suggested item in an incognito
tab.
</description>
</action>
<action name="Suggestions.ContextMenu.OpenItemInNewTab">
<owner>mvanouwerkerk@chromium.org</owner>
<owner>galinap@google.com</owner>
<description>
Android: User used the context menu to open a suggested item in a new tab.
</description>
</action>
<action name="Suggestions.ContextMenu.OpenItemInNewWindow">
<owner>mvanouwerkerk@chromium.org</owner>
<owner>galinap@google.com</owner>
<description>
Android: User used the context menu to open a suggested item in a new
window.
</description>
</action>
<action name="Suggestions.ContextMenu.RemoveItem">
<owner>mvanouwerkerk@chromium.org</owner>
<owner>galinap@google.com</owner>
<description>
Android: User used the context menu to remove a suggested item.
</description>
</action>
<action name="Suggestions.ContextMenu.Shown">
<owner>mvanouwerkerk@chromium.org</owner>
<owner>galinap@google.com</owner>
<description>
Android: User opened the context menu on a suggested item.
</description>
</action>
<action name="Suggestions.Tile.RemovalUndone">
<owner>mvanouwerkerk@chromium.org</owner>
<owner>galinap@google.com</owner>
<description>
Android: User tapped the undo button in the snackbar after removing a
suggested item.
</description>
</action>
<action name="SuspiciousExtensionBubbleDismissed"> <action name="SuspiciousExtensionBubbleDismissed">
<owner>finnur@chromium.org</owner> <owner>finnur@chromium.org</owner>
<description>Please enter the description of this user action.</description> <description>Please enter the description of this user action.</description>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment