Commit dccaf330 authored by Patrick Noland's avatar Patrick Noland Committed by Commit Bot

[Chromeshine] Ignore incognito tabs

Bug: 929077
Change-Id: I0bde7e81451a8ada188bc5a515ae60e0aaaf1957
Reviewed-on: https://chromium-review.googlesource.com/c/1456216Reviewed-by: default avatarFilip Gorski <fgorski@chromium.org>
Commit-Queue: Patrick Noland <pnoland@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629915}
parent 598ec4bd
......@@ -73,7 +73,9 @@ public class PageViewObserver {
if (tab == mCurrentTab) return;
switchObserverToTab(tab);
updateUrl(tab.getUrl());
if (mCurrentTab != null) {
updateUrl(mCurrentTab.getUrl());
}
}
@Override
......@@ -122,6 +124,11 @@ public class PageViewObserver {
mCurrentTab.removeObserver(mTabObserver);
}
if (tab != null && tab.isIncognito()) {
mCurrentTab = null;
return;
}
mCurrentTab = tab;
if (mCurrentTab != null) {
mCurrentTab.addObserver(mTabObserver);
......
......@@ -2550,6 +2550,8 @@ chrome_junit_test_java_sources = [
"junit/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreUnitTest.java",
"junit/src/org/chromium/chrome/browser/tabstate/TabStateUnitTest.java",
"junit/src/org/chromium/chrome/browser/toolbar/ToolbarSecurityIconTest.java",
"junit/src/org/chromium/chrome/browser/usage_stats/EventTrackerTest.java",
"junit/src/org/chromium/chrome/browser/usage_stats/PageViewObserverTest.java",
"junit/src/org/chromium/chrome/browser/util/UrlUtilitiesUnitTest.java",
"junit/src/org/chromium/chrome/browser/util/test/ShadowUrlUtilities.java",
"junit/src/org/chromium/chrome/browser/webapps/MockWebappDataStorageClockRule.java",
......@@ -2566,13 +2568,6 @@ chrome_junit_test_java_sources = [
"junit/src/org/chromium/chrome/browser/widget/selection/SelectionDelegateTest.java",
]
if (enable_usage_stats) {
chrome_junit_test_java_sources += [
"junit/src/org/chromium/chrome/browser/usage_stats/EventTrackerTest.java",
"junit/src/org/chromium/chrome/browser/usage_stats/PageViewObserverTest.java",
]
}
# Only used for testing, should not be shipped to end users.
if (enable_offline_pages_harness) {
chrome_java_sources += [ "java/src/org/chromium/chrome/browser/offlinepages/evaluation/OfflinePageEvaluationBridge.java" ]
......
......@@ -182,6 +182,18 @@ public final class PageViewObserverTest {
// TODO(pnoland): add test for platform reporting once the System API is available in Q.
@Test
public void tabIncognito_eventsNotReported() {
PageViewObserver observer = createPageViewObserver();
onUpdateUrl(mTab, STARTING_URL);
doReturn(true).when(mTab2).isIncognito();
doReturn(DIFFERENT_URL).when(mTab2).getUrl();
didSelectTab(mTab2, TabSelectionType.FROM_USER);
verify(mEventTracker, times(0)).addWebsiteEvent(argThat(isStartEvent(DIFFERENT_FQDN)));
verify(mEventTracker, times(0)).addWebsiteEvent(argThat(isStopEvent(DIFFERENT_FQDN)));
}
private PageViewObserver createPageViewObserver() {
PageViewObserver observer =
new PageViewObserver(mActivity, mTabModelSelector, mEventTracker, mTokenTracker);
......
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