Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java

Issue 2618893003: 📰 Tweak the suggestion ranks for UMA to handle fetchMore (Closed)
Patch Set: Fix action item reported position Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.ntp; 5 package org.chromium.chrome.browser.ntp;
6 6
7 import android.annotation.TargetApi; 7 import android.annotation.TargetApi;
8 import android.content.Context; 8 import android.content.Context;
9 import android.graphics.Canvas; 9 import android.graphics.Canvas;
10 import android.graphics.Point; 10 import android.graphics.Point;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; 56 import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
57 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; 57 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
58 import org.chromium.chrome.browser.preferences.PrefServiceBridge; 58 import org.chromium.chrome.browser.preferences.PrefServiceBridge;
59 import org.chromium.chrome.browser.profiles.MostVisitedSites; 59 import org.chromium.chrome.browser.profiles.MostVisitedSites;
60 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver; 60 import org.chromium.chrome.browser.profiles.MostVisitedSites.MostVisitedURLsObse rver;
61 import org.chromium.chrome.browser.profiles.Profile; 61 import org.chromium.chrome.browser.profiles.Profile;
62 import org.chromium.chrome.browser.search_engines.TemplateUrlService; 62 import org.chromium.chrome.browser.search_engines.TemplateUrlService;
63 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ServiceObserver; 63 import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrl ServiceObserver;
64 import org.chromium.chrome.browser.snackbar.Snackbar; 64 import org.chromium.chrome.browser.snackbar.Snackbar;
65 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; 65 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController;
66 import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter;
66 import org.chromium.chrome.browser.sync.SyncSessionsMetrics; 67 import org.chromium.chrome.browser.sync.SyncSessionsMetrics;
67 import org.chromium.chrome.browser.tab.EmptyTabObserver; 68 import org.chromium.chrome.browser.tab.EmptyTabObserver;
68 import org.chromium.chrome.browser.tab.Tab; 69 import org.chromium.chrome.browser.tab.Tab;
69 import org.chromium.chrome.browser.tab.TabObserver; 70 import org.chromium.chrome.browser.tab.TabObserver;
70 import org.chromium.chrome.browser.tabmodel.TabModel; 71 import org.chromium.chrome.browser.tabmodel.TabModel;
71 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; 72 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
72 import org.chromium.chrome.browser.tabmodel.TabModelSelector; 73 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
73 import org.chromium.chrome.browser.tabmodel.TabModelUtils; 74 import org.chromium.chrome.browser.tabmodel.TabModelUtils;
74 import org.chromium.chrome.browser.tabmodel.document.TabDelegate; 75 import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
75 import org.chromium.chrome.browser.util.UrlUtilities; 76 import org.chromium.chrome.browser.util.UrlUtilities;
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 } 321 }
321 } 322 }
322 return false; 323 return false;
323 } 324 }
324 325
325 private boolean matchURLs(String url1, String url2, boolean matchByHost) { 326 private boolean matchURLs(String url1, String url2, boolean matchByHost) {
326 if (url1 == null || url2 == null) return false; 327 if (url1 == null || url2 == null) return false;
327 return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals (url2); 328 return matchByHost ? UrlUtilities.sameHost(url1, url2) : url1.equals (url2);
328 } 329 }
329 330
330 @Override 331 public SuggestionsMetricsReporter getSuggestionsMetricsReporter() {
331 public void trackSnippetsPageImpression(int[] categories, int[] suggesti onsPerCategory) { 332 return mSnippetsBridge;
332 mSnippetsBridge.onPageShown(categories, suggestionsPerCategory);
333 } 333 }
334 334
335 @Override 335 @Override
336 public void trackSnippetImpression(SnippetArticle article) {
337 mSnippetsBridge.onSuggestionShown(article);
338 }
339
340 @Override
341 public void trackSnippetMenuOpened(SnippetArticle article) {
342 mSnippetsBridge.onSuggestionMenuOpened(article);
343 }
344
345 @Override
346 public void trackSnippetCategoryActionImpression(int category, int posit ion) {
347 mSnippetsBridge.onMoreButtonShown(category, position);
348 }
349
350 @Override
351 public void trackSnippetCategoryActionClick(int category, int position) {
352 mSnippetsBridge.onMoreButtonClicked(category, position);
353 switch (category) {
354 case KnownCategories.BOOKMARKS:
355 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_BOOKM ARKS_MANAGER);
356 break;
357 // MORE button in both categories leads to the recent tabs manag er
358 case KnownCategories.FOREIGN_TABS:
359 case KnownCategories.RECENT_TABS:
360 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_RECEN T_TABS_MANAGER);
361 break;
362 case KnownCategories.DOWNLOADS:
363 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNL OADS_MANAGER);
364 break;
365 default:
366 // No action associated
367 break;
368 }
369 }
370
371 @Override
372 public void openSnippet(int windowOpenDisposition, SnippetArticle articl e) { 336 public void openSnippet(int windowOpenDisposition, SnippetArticle articl e) {
373 mSnippetsBridge.onSuggestionOpened(article, windowOpenDisposition); 337 mSnippetsBridge.onSuggestionOpened(article, windowOpenDisposition);
374 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET); 338 NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_SNIPPET);
375 339
376 if (article.mIsAssetDownload) { 340 if (article.mIsAssetDownload) {
377 assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TA B 341 assert windowOpenDisposition == WindowOpenDisposition.CURRENT_TA B
378 || windowOpenDisposition == WindowOpenDisposition.NEW_WI NDOW 342 || windowOpenDisposition == WindowOpenDisposition.NEW_WI NDOW
379 || windowOpenDisposition == WindowOpenDisposition.NEW_FO REGROUND_TAB; 343 || windowOpenDisposition == WindowOpenDisposition.NEW_FO REGROUND_TAB;
380 DownloadUtils.openFile( 344 DownloadUtils.openFile(
381 article.getAssetDownloadFile(), article.getAssetDownload MimeType(), false); 345 article.getAssetDownloadFile(), article.getAssetDownload MimeType(), false);
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
1057 @Override 1021 @Override
1058 public boolean shouldCaptureThumbnail() { 1022 public boolean shouldCaptureThumbnail() {
1059 return mNewTabPageView.shouldCaptureThumbnail(); 1023 return mNewTabPageView.shouldCaptureThumbnail();
1060 } 1024 }
1061 1025
1062 @Override 1026 @Override
1063 public void captureThumbnail(Canvas canvas) { 1027 public void captureThumbnail(Canvas canvas) {
1064 mNewTabPageView.captureThumbnail(canvas); 1028 mNewTabPageView.captureThumbnail(canvas);
1065 } 1029 }
1066 } 1030 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698