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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java

Issue 1757163002: [ImportantSites] JNI bindings for CBD filtering and Important Sites. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/android/preferences/important_sites_util.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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.preferences; 5 package org.chromium.chrome.browser.preferences;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.content.SharedPreferences; 8 import android.content.SharedPreferences;
9 import android.preference.PreferenceManager; 9 import android.preference.PreferenceManager;
10 import android.util.Log; 10 import android.util.Log;
(...skipping 23 matching lines...) Expand all
34 public static final int SUPERVISED_USER_FILTERING_WARN = 1; 34 public static final int SUPERVISED_USER_FILTERING_WARN = 1;
35 public static final int SUPERVISED_USER_FILTERING_BLOCK = 2; 35 public static final int SUPERVISED_USER_FILTERING_BLOCK = 2;
36 36
37 private static final String MIGRATION_PREF_KEY = "PrefMigrationVersion"; 37 private static final String MIGRATION_PREF_KEY = "PrefMigrationVersion";
38 private static final int MIGRATION_CURRENT_VERSION = 4; 38 private static final int MIGRATION_CURRENT_VERSION = 4;
39 39
40 private static final String HTTPS_SCHEME = "https"; 40 private static final String HTTPS_SCHEME = "https";
41 41
42 // Object to notify when "clear browsing data" completes. 42 // Object to notify when "clear browsing data" completes.
43 private OnClearBrowsingDataListener mClearBrowsingDataListener; 43 private OnClearBrowsingDataListener mClearBrowsingDataListener;
44 // Object to notify when we finished fetching important sites.
45 private ImportantSitesCallback mImportantSitesCallback;
44 private static final String LOG_TAG = "PrefServiceBridge"; 46 private static final String LOG_TAG = "PrefServiceBridge";
45 47
46 // Constants related to the Contextual Search preference. 48 // Constants related to the Contextual Search preference.
47 private static final String CONTEXTUAL_SEARCH_DISABLED = "false"; 49 private static final String CONTEXTUAL_SEARCH_DISABLED = "false";
48 private static final String CONTEXTUAL_SEARCH_ENABLED = "true"; 50 private static final String CONTEXTUAL_SEARCH_ENABLED = "true";
49 51
50 // The key to store whether the Location Permission was automatically added for the search 52 // The key to store whether the Location Permission was automatically added for the search
51 // engine set as default. 53 // engine set as default.
52 public static final String LOCATION_AUTO_ALLOWED = "search_engine_location_a uto_allowed"; 54 public static final String LOCATION_AUTO_ALLOWED = "search_engine_location_a uto_allowed";
53 55
(...skipping 19 matching lines...) Expand all
73 } 75 }
74 76
75 /** 77 /**
76 * Interface for a class that is listening to clear browser data events. 78 * Interface for a class that is listening to clear browser data events.
77 */ 79 */
78 public interface OnClearBrowsingDataListener { 80 public interface OnClearBrowsingDataListener {
79 public abstract void onBrowsingDataCleared(); 81 public abstract void onBrowsingDataCleared();
80 } 82 }
81 83
82 /** 84 /**
85 * Interface for a class that is fetching important site information.
86 */
87 public interface ImportantSitesCallback {
88 /**
89 * Called by native code to populate the set of important registerable d omains.
Theresa 2016/04/21 16:05:28 Technically this isn't called by native code (it's
dmurph 2016/04/21 18:53:25 Done.
90 * See net/base/registry_controlled_domains/registry_controlled_domain.h for more details on
91 * registrable domains and the current list of effective eTLDs.
92 * @param domains important registerable domains.
93 */
94 public abstract void setImportantRegisterableDomains(String[] domains);
95 }
96
97 /**
83 * Interface to a class that receives callbacks instructing it to inform the user about other 98 * Interface to a class that receives callbacks instructing it to inform the user about other
84 * forms of browsing history. 99 * forms of browsing history.
85 */ 100 */
86 public interface OtherFormsOfBrowsingHistoryListener { 101 public interface OtherFormsOfBrowsingHistoryListener {
87 /** 102 /**
88 * Called by the web history service when it discovers that other forms of browsing history 103 * Called by the web history service when it discovers that other forms of browsing history
89 * exist. 104 * exist.
90 */ 105 */
91 @CalledByNative("OtherFormsOfBrowsingHistoryListener") 106 @CalledByNative("OtherFormsOfBrowsingHistoryListener")
92 public abstract void enableDialogAboutOtherFormsOfBrowsingHistory(); 107 public abstract void enableDialogAboutOtherFormsOfBrowsingHistory();
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 * It can be null, but many operations (e.g. navigation) are 738 * It can be null, but many operations (e.g. navigation) are
724 * ill-advised while browsing data is being cleared. 739 * ill-advised while browsing data is being cleared.
725 * @param listener A listener to call back when the clearing is finished. 740 * @param listener A listener to call back when the clearing is finished.
726 * @param dataTypes An array of browsing data types to delete, represented a s values from 741 * @param dataTypes An array of browsing data types to delete, represented a s values from
727 * the shared enum {@link org.chromium.chrome.browser.BrowsingDataType} . 742 * the shared enum {@link org.chromium.chrome.browser.BrowsingDataType} .
728 * @param timePeriod The time period for which to delete the data, represent ed as a value from 743 * @param timePeriod The time period for which to delete the data, represent ed as a value from
729 * the shared enum {@link org.chromium.chrome.browser.TimePeriod}. 744 * the shared enum {@link org.chromium.chrome.browser.TimePeriod}.
730 */ 745 */
731 public void clearBrowsingData( 746 public void clearBrowsingData(
732 OnClearBrowsingDataListener listener, int[] dataTypes, int timePerio d) { 747 OnClearBrowsingDataListener listener, int[] dataTypes, int timePerio d) {
748 clearBrowsingDataExcludingDomains(listener, dataTypes, timePeriod, new S tring[0]);
749 }
750
751 /**
752 * Same as above, but now we can specify a list of domains to exclude from c learing browsing
753 * data.
754 * Do not use this method unless caller knows what they're doing. Not all ba ckends are supported
755 * yet, and more data than expected could be deleted. See crbug.com/113621.
756 */
757 public void clearBrowsingDataExcludingDomains(OnClearBrowsingDataListener li stener,
Theresa 2016/04/21 16:05:28 add JavaDocs for the params (or at least the extra
dmurph 2016/04/21 18:53:25 Done.
dmurph 2016/04/21 18:53:25 Done.
758 int[] dataTypes, int timePeriod, String[] origins) {
733 assert mClearBrowsingDataListener == null; 759 assert mClearBrowsingDataListener == null;
734 mClearBrowsingDataListener = listener; 760 mClearBrowsingDataListener = listener;
735 nativeClearBrowsingData(dataTypes, timePeriod); 761 nativeClearBrowsingData(dataTypes, timePeriod, origins);
736 } 762 }
737 763
738 /* 764 /*
739 * Whether browser history can be deleted by the user. 765 * Whether browser history can be deleted by the user.
740 */ 766 */
741 public boolean canDeleteBrowsingHistory() { 767 public boolean canDeleteBrowsingHistory() {
742 return nativeCanDeleteBrowsingHistory(); 768 return nativeCanDeleteBrowsingHistory();
743 } 769 }
744 770
745 @CalledByNative 771 @CalledByNative
746 private void browsingDataCleared() { 772 private void browsingDataCleared() {
747 if (mClearBrowsingDataListener != null) { 773 if (mClearBrowsingDataListener != null) {
748 mClearBrowsingDataListener.onBrowsingDataCleared(); 774 mClearBrowsingDataListener.onBrowsingDataCleared();
749 mClearBrowsingDataListener = null; 775 mClearBrowsingDataListener = null;
750 } 776 }
751 } 777 }
752 778
753 /** 779 /**
780 * This fetches sites (registerable domains) that we consider important. Thi s combines many
781 * pieces of information, including site engagement and permissions. The cal lback is called
782 * with the list of important registerable domains.
783 *
784 * See net/base/registry_controlled_domains/registry_controlled_domain.h for more details on
785 * registrable domains and the current list of effective eTLDs.
786 * @param callback the callback that will be used to set the list of importa nt sites.
Theresa 2016/04/21 16:05:28 nit: capitalize The
dmurph 2016/04/21 18:53:25 Done.
787 */
788 public void fetchImportantSites(ImportantSitesCallback callback) {
789 assert mImportantSitesCallback == null;
790 mImportantSitesCallback = callback;
791 nativeFetchImportantSites();
792 }
793
794 @CalledByNative
795 private void importantSitesFetched(String[] domains) {
796 if (mImportantSitesCallback != null) {
797 mImportantSitesCallback.setImportantRegisterableDomains(domains);
798 mImportantSitesCallback = null;
799 }
800 }
801
802 /**
754 * Requests that the web history service finds out if we should inform the u ser about the 803 * Requests that the web history service finds out if we should inform the u ser about the
755 * existence of other forms of browsing history. The response will be asynch ronous, through 804 * existence of other forms of browsing history. The response will be asynch ronous, through
756 * {@link OtherFormsOfBrowsingHistoryListener}. 805 * {@link OtherFormsOfBrowsingHistoryListener}.
757 */ 806 */
758 public void requestInfoAboutOtherFormsOfBrowsingHistory( 807 public void requestInfoAboutOtherFormsOfBrowsingHistory(
759 OtherFormsOfBrowsingHistoryListener listener) { 808 OtherFormsOfBrowsingHistoryListener listener) {
760 nativeRequestInfoAboutOtherFormsOfBrowsingHistory(listener); 809 nativeRequestInfoAboutOtherFormsOfBrowsingHistory(listener);
761 } 810 }
762 811
763 public void setAllowCookiesEnabled(boolean allow) { 812 public void setAllowCookiesEnabled(boolean allow) {
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
1043 private native boolean nativeGetPrintingManaged(); 1092 private native boolean nativeGetPrintingManaged();
1044 private native boolean nativeGetSupervisedUserSafeSitesEnabled(); 1093 private native boolean nativeGetSupervisedUserSafeSitesEnabled();
1045 private native void nativeSetTranslateEnabled(boolean enabled); 1094 private native void nativeSetTranslateEnabled(boolean enabled);
1046 private native void nativeSetAutoDetectEncodingEnabled(boolean enabled); 1095 private native void nativeSetAutoDetectEncodingEnabled(boolean enabled);
1047 private native void nativeResetTranslateDefaults(); 1096 private native void nativeResetTranslateDefaults();
1048 private native void nativeMigrateJavascriptPreference(); 1097 private native void nativeMigrateJavascriptPreference();
1049 private native boolean nativeGetBrowsingDataDeletionPreference(int dataType) ; 1098 private native boolean nativeGetBrowsingDataDeletionPreference(int dataType) ;
1050 private native void nativeSetBrowsingDataDeletionPreference(int dataType, bo olean value); 1099 private native void nativeSetBrowsingDataDeletionPreference(int dataType, bo olean value);
1051 private native int nativeGetBrowsingDataDeletionTimePeriod(); 1100 private native int nativeGetBrowsingDataDeletionTimePeriod();
1052 private native void nativeSetBrowsingDataDeletionTimePeriod(int timePeriod); 1101 private native void nativeSetBrowsingDataDeletionTimePeriod(int timePeriod);
1053 private native void nativeClearBrowsingData(int[] dataTypes, int timePeriod) ; 1102 private native void nativeClearBrowsingData(
1103 int[] dataTypes, int timePeriod, String[] blacklistDomains);
1054 private native void nativeRequestInfoAboutOtherFormsOfBrowsingHistory( 1104 private native void nativeRequestInfoAboutOtherFormsOfBrowsingHistory(
1055 OtherFormsOfBrowsingHistoryListener listener); 1105 OtherFormsOfBrowsingHistoryListener listener);
1056 private native boolean nativeCanDeleteBrowsingHistory(); 1106 private native boolean nativeCanDeleteBrowsingHistory();
1107 private native void nativeFetchImportantSites();
1057 private native void nativeSetAllowCookiesEnabled(boolean allow); 1108 private native void nativeSetAllowCookiesEnabled(boolean allow);
1058 private native void nativeSetBackgroundSyncEnabled(boolean allow); 1109 private native void nativeSetBackgroundSyncEnabled(boolean allow);
1059 private native void nativeSetBlockThirdPartyCookiesEnabled(boolean enabled); 1110 private native void nativeSetBlockThirdPartyCookiesEnabled(boolean enabled);
1060 private native void nativeSetDoNotTrackEnabled(boolean enabled); 1111 private native void nativeSetDoNotTrackEnabled(boolean enabled);
1061 private native void nativeSetFullscreenAllowed(boolean allowed); 1112 private native void nativeSetFullscreenAllowed(boolean allowed);
1062 private native void nativeSetRememberPasswordsEnabled(boolean allow); 1113 private native void nativeSetRememberPasswordsEnabled(boolean allow);
1063 private native void nativeSetPasswordManagerAutoSigninEnabled(boolean enable d); 1114 private native void nativeSetPasswordManagerAutoSigninEnabled(boolean enable d);
1064 private native void nativeSetProtectedMediaIdentifierEnabled(boolean enabled ); 1115 private native void nativeSetProtectedMediaIdentifierEnabled(boolean enabled );
1065 private native boolean nativeGetAllowLocationEnabled(); 1116 private native boolean nativeGetAllowLocationEnabled();
1066 private native boolean nativeGetNotificationsEnabled(); 1117 private native boolean nativeGetNotificationsEnabled();
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1100 private native String nativeGetSupervisedUserSecondCustodianName(); 1151 private native String nativeGetSupervisedUserSecondCustodianName();
1101 private native String nativeGetSupervisedUserSecondCustodianEmail(); 1152 private native String nativeGetSupervisedUserSecondCustodianEmail();
1102 private native String nativeGetSupervisedUserSecondCustodianProfileImageURL( ); 1153 private native String nativeGetSupervisedUserSecondCustodianProfileImageURL( );
1103 private native boolean nativeGetMetricsReportingEnabled(); 1154 private native boolean nativeGetMetricsReportingEnabled();
1104 private native void nativeSetMetricsReportingEnabled(boolean enabled); 1155 private native void nativeSetMetricsReportingEnabled(boolean enabled);
1105 private native boolean nativeHasSetMetricsReporting(); 1156 private native boolean nativeHasSetMetricsReporting();
1106 private native void nativeSetClickedUpdateMenuItem(boolean clicked); 1157 private native void nativeSetClickedUpdateMenuItem(boolean clicked);
1107 private native boolean nativeGetClickedUpdateMenuItem(); 1158 private native boolean nativeGetClickedUpdateMenuItem();
1108 private native void nativeSetSupervisedUserId(String supervisedUserId); 1159 private native void nativeSetSupervisedUserId(String supervisedUserId);
1109 } 1160 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/android/preferences/important_sites_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698