Commit ae805af4 authored by Dan Harrington's avatar Dan Harrington Committed by Commit Bot

feedv2: report NewTabPage.ActionAndroid2 ACTION_OPENED_SNIPPET

Bug: 1044139
Change-Id: Ieb32cc74c2e6bc18efd8520fb8794a3e44d38ed5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2341832
Auto-Submit: Dan H <harringtond@chromium.org>
Reviewed-by: default avatarCarlos Knippschild <carlosk@chromium.org>
Commit-Queue: Carlos Knippschild <carlosk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#795688}
parent 3d6f70e0
......@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.help.HelpAndFeedback;
import org.chromium.chrome.browser.native_page.NativePageNavigationDelegate;
import org.chromium.chrome.browser.ntp.NewTabPageUma;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.chrome.browser.offlinepages.RequestCoordinatorBridge;
import org.chromium.chrome.browser.profiles.Profile;
......@@ -582,6 +583,7 @@ public class FeedStreamSurface implements SurfaceActionsHandler, FeedActionsHand
public void navigateTab(String url, View actionSourceView) {
FeedStreamSurfaceJni.get().reportOpenAction(mNativeFeedStreamSurface,
FeedStreamSurface.this, getSliceIdFromView(actionSourceView));
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET);
openUrl(url, WindowOpenDisposition.CURRENT_TAB);
......@@ -593,6 +595,7 @@ public class FeedStreamSurface implements SurfaceActionsHandler, FeedActionsHand
public void navigateNewTab(String url, View actionSourceView) {
FeedStreamSurfaceJni.get().reportOpenInNewTabAction(mNativeFeedStreamSurface,
FeedStreamSurface.this, getSliceIdFromView(actionSourceView));
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET);
openUrl(url, WindowOpenDisposition.NEW_FOREGROUND_TAB);
......@@ -604,6 +607,7 @@ public class FeedStreamSurface implements SurfaceActionsHandler, FeedActionsHand
public void navigateIncognitoTab(String url) {
FeedStreamSurfaceJni.get().reportOpenInNewIncognitoTabAction(
mNativeFeedStreamSurface, FeedStreamSurface.this);
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET);
openUrl(url, WindowOpenDisposition.OFF_THE_RECORD);
......
......@@ -47,12 +47,15 @@ import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowLog;
import org.chromium.base.Callback;
import org.chromium.base.metrics.test.ShadowRecordHistogram;
import org.chromium.base.test.BaseRobolectricTestRunner;
import org.chromium.base.test.util.JniMocker;
import org.chromium.base.test.util.MetricsUtils.HistogramDelta;
import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.AppHooksImpl;
import org.chromium.chrome.browser.help.HelpAndFeedback;
import org.chromium.chrome.browser.native_page.NativePageNavigationDelegate;
import org.chromium.chrome.browser.ntp.NewTabPageUma;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.MockTab;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
......@@ -72,7 +75,7 @@ import java.util.Map;
/** Unit tests for {@link FeedStreamSeSurface}. */
@RunWith(BaseRobolectricTestRunner.class)
@Config(manifest = Config.NONE)
@Config(manifest = Config.NONE, shadows = {ShadowRecordHistogram.class})
public class FeedStreamSurfaceTest {
private static final String TEST_DATA = "test";
private static final String TEST_URL = "https://www.chromium.org";
......@@ -402,28 +405,38 @@ public class FeedStreamSurfaceTest {
@Test
@SmallTest
public void testNavigateTab() {
HistogramDelta actionOpenedSnippetDelta = new HistogramDelta(
"NewTabPage.ActionAndroid2", NewTabPageUma.ACTION_OPENED_SNIPPET);
when(mPageNavigationDelegate.openUrl(anyInt(), any())).thenReturn(new MockTab(1, false));
mFeedStreamSurface.navigateTab(TEST_URL, null);
verify(mPageNavigationDelegate)
.openUrl(ArgumentMatchers.eq(WindowOpenDisposition.CURRENT_TAB), any());
assertEquals(1, actionOpenedSnippetDelta.getDelta());
}
@Test
@SmallTest
public void testNavigateNewTab() {
HistogramDelta actionOpenedSnippetDelta = new HistogramDelta(
"NewTabPage.ActionAndroid2", NewTabPageUma.ACTION_OPENED_SNIPPET);
when(mPageNavigationDelegate.openUrl(anyInt(), any())).thenReturn(new MockTab(1, false));
mFeedStreamSurface.navigateNewTab(TEST_URL);
verify(mPageNavigationDelegate)
.openUrl(ArgumentMatchers.eq(WindowOpenDisposition.NEW_FOREGROUND_TAB), any());
assertEquals(1, actionOpenedSnippetDelta.getDelta());
}
@Test
@SmallTest
public void testNavigateIncognitoTab() {
HistogramDelta actionOpenedSnippetDelta = new HistogramDelta(
"NewTabPage.ActionAndroid2", NewTabPageUma.ACTION_OPENED_SNIPPET);
when(mPageNavigationDelegate.openUrl(anyInt(), any())).thenReturn(new MockTab(1, false));
mFeedStreamSurface.navigateIncognitoTab(TEST_URL);
verify(mPageNavigationDelegate)
.openUrl(ArgumentMatchers.eq(WindowOpenDisposition.OFF_THE_RECORD), any());
assertEquals(1, actionOpenedSnippetDelta.getDelta());
}
@Test
......
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