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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java

Issue 2754203004: 📰 Add tests for context menu usage (Closed)
Patch Set: y Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSitesBridge.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java
index 53362f0082ae47e69ef165910af02383ad21831a..0e392dd048fa7ed5e5371e96c717c5acd4bf321b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSites.java
@@ -1,24 +1,21 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
+// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.suggestions;
import org.chromium.base.annotations.CalledByNative;
-import org.chromium.chrome.browser.ntp.MostVisitedTileType.MostVisitedTileTypeEnum;
-import org.chromium.chrome.browser.ntp.NTPTileSource.NTPTileSourceEnum;
-import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.ntp.MostVisitedTileType;
+import org.chromium.chrome.browser.ntp.NTPTileSource;
/**
- * Methods to bridge into native history to provide most recent urls, titles and thumbnails.
+ * Methods to provide most recent urls, titles and thumbnails.
*/
-public class MostVisitedSites {
- private long mNativeMostVisitedSitesBridge;
-
+interface MostVisitedSites {
/**
* An interface for handling events in {@link MostVisitedSites}.
*/
- public interface Observer {
+ interface Observer {
/**
* This is called when the list of most visited URLs is initially available or updated.
* Parameters guaranteed to be non-null.
@@ -46,22 +43,9 @@ void onMostVisitedURLsAvailable(
}
/**
- * MostVisitedSites constructor requires a valid user profile object.
- *
- * @param profile The profile for which to fetch most visited sites.
- */
- public MostVisitedSites(Profile profile) {
- mNativeMostVisitedSitesBridge = nativeInit(profile);
- }
-
- /**
- * Cleans up the C++ side of this class. This instance must not be used after calling destroy().
+ * This instance must not be used after calling destroy().
*/
- public void destroy() {
- assert mNativeMostVisitedSitesBridge != 0;
- nativeDestroy(mNativeMostVisitedSitesBridge);
- mNativeMostVisitedSitesBridge = 0;
- }
+ void destroy();
/**
* Sets the recipient for events from {@link MostVisitedSites}. The observer may be notified
@@ -69,40 +53,17 @@ public void destroy() {
* @param observer The observer to be notified.
* @param numSites The maximum number of sites to return.
*/
- public void setObserver(final Observer observer, int numSites) {
- Observer wrappedObserver = new Observer() {
- @Override
- public void onMostVisitedURLsAvailable(
- String[] titles, String[] urls, String[] whitelistIconPaths, int[] sources) {
- // Don't notify observer if we've already been destroyed.
- if (mNativeMostVisitedSitesBridge != 0) {
- observer.onMostVisitedURLsAvailable(titles, urls, whitelistIconPaths, sources);
- }
- }
- @Override
- public void onIconMadeAvailable(String siteUrl) {
- // Don't notify observer if we've already been destroyed.
- if (mNativeMostVisitedSitesBridge != 0) {
- observer.onIconMadeAvailable(siteUrl);
- }
- }
- };
- nativeSetObserver(mNativeMostVisitedSitesBridge, wrappedObserver, numSites);
- }
+ void setObserver(Observer observer, int numSites);
/**
* Blacklists a URL from the most visited URLs list.
*/
- public void addBlacklistedUrl(String url) {
- nativeAddOrRemoveBlacklistedUrl(mNativeMostVisitedSitesBridge, url, true);
- }
+ void addBlacklistedUrl(String url);
/**
* Removes a URL from the most visited URLs blacklist.
*/
- public void removeBlacklistedUrl(String url) {
- nativeAddOrRemoveBlacklistedUrl(mNativeMostVisitedSitesBridge, url, false);
- }
+ void removeBlacklistedUrl(String url);
/**
* Records metrics about an impression, including the sources (local, server, ...) and visual
@@ -113,9 +74,7 @@ public void removeBlacklistedUrl(String url) {
* that's currently showing.
* @param tileUrls An array of strings indicating the URL of each tile.
*/
- public void recordPageImpression(int[] tileTypes, int[] sources, String[] tileUrls) {
- nativeRecordPageImpression(mNativeMostVisitedSitesBridge, tileTypes, sources, tileUrls);
- }
+ void recordPageImpression(int[] tileTypes, int[] sources, String[] tileUrls);
/**
* Records the opening of a Most Visited Item.
@@ -123,19 +82,7 @@ public void recordPageImpression(int[] tileTypes, int[] sources, String[] tileUr
* @param type The visual type of the item as defined in {@code MostVisitedTileType}.
* @param source The {@code NTPTileSource} that generated this item.
*/
- public void recordOpenedMostVisitedItem(
- int index, @MostVisitedTileTypeEnum int type, @NTPTileSourceEnum int source) {
- nativeRecordOpenedMostVisitedItem(mNativeMostVisitedSitesBridge, index, type, source);
- }
-
- private native long nativeInit(Profile profile);
- private native void nativeDestroy(long nativeMostVisitedSitesBridge);
- private native void nativeSetObserver(
- long nativeMostVisitedSitesBridge, Observer observer, int numSites);
- private native void nativeAddOrRemoveBlacklistedUrl(
- long nativeMostVisitedSitesBridge, String url, boolean addUrl);
- private native void nativeRecordPageImpression(
- long nativeMostVisitedSitesBridge, int[] tileTypes, int[] sources, String[] tileUrls);
- private native void nativeRecordOpenedMostVisitedItem(
- long nativeMostVisitedSitesBridge, int index, int tileType, int source);
+ void recordOpenedMostVisitedItem(int index,
+ @MostVisitedTileType.MostVisitedTileTypeEnum int type,
+ @NTPTileSource.NTPTileSourceEnum int source);
}
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/suggestions/MostVisitedSitesBridge.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698