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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/PreferencesTest.java

Issue 2367373003: [Android] Allow setting recently visited search engines as default search engine (Closed)
Patch Set: Update based on Peter and Dan's comments. Created 4 years, 1 month 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
Index: chrome/android/javatests/src/org/chromium/chrome/browser/preferences/PreferencesTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/PreferencesTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/PreferencesTest.java
index 10c224847fc8f78ce5fc6b576cdea47d9251b4ef..c4f0ed6936dd348d296ea46e8c3d0eec78be3f78 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/PreferencesTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/preferences/PreferencesTest.java
@@ -84,16 +84,19 @@ public class PreferencesTest extends NativeLibraryTestBase {
public void testSearchEnginePreference() throws Exception {
ensureTemplateUrlServiceLoaded();
+ final Preferences prefActivity =
+ startPreferences(getInstrumentation(), SearchEnginePreference.class.getName());
+
// Set the second search engine as the default using TemplateUrlService.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- TemplateUrlService.getInstance().setSearchEngine(1);
+ SearchEnginePreference pref =
+ (SearchEnginePreference) prefActivity.getFragmentForTest();
+ pref.setValueForTesting("1");
}
});
- final Preferences prefActivity =
- startPreferences(getInstrumentation(), SearchEnginePreference.class.getName());
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
@@ -106,31 +109,38 @@ public class PreferencesTest extends NativeLibraryTestBase {
// Simulate selecting the third search engine, ensure that TemplateUrlService is
// updated, but location permission not granted for the new engine.
- pref.setValueForTesting("2");
+ String keyword2 = pref.setValueForTesting("2");
TemplateUrlService templateUrlService = TemplateUrlService.getInstance();
- assertEquals(2, templateUrlService.getDefaultSearchEngineIndex());
- assertEquals(ContentSetting.ASK, locationPermissionForSearchEngine(2));
+ assertEquals(keyword2,
+ templateUrlService.getDefaultSearchEngineTemplateUrl().getKeyword());
+ assertEquals(ContentSetting.ASK, locationPermissionForSearchEngine(keyword2));
// Simulate selecting the fourth search engine and but set a blocked permission
// first and ensure that location permission is NOT granted.
- String url = templateUrlService.getSearchEngineUrlFromTemplateUrl(3);
+ String keyword3 = pref.getKeywordFromIndexForTesting(3);
+ String url = templateUrlService.getSearchEngineUrlFromTemplateUrl(keyword3);
WebsitePreferenceBridge.nativeSetGeolocationSettingForOrigin(
url, url, ContentSetting.BLOCK.toInt(), false);
- pref.setValueForTesting("3");
- assertEquals(3, TemplateUrlService.getInstance().getDefaultSearchEngineIndex());
- assertEquals(ContentSetting.BLOCK, locationPermissionForSearchEngine(3));
- assertEquals(ContentSetting.ASK, locationPermissionForSearchEngine(2));
+ keyword3 = pref.setValueForTesting("3");
+ assertEquals(keyword3, TemplateUrlService.getInstance()
+ .getDefaultSearchEngineTemplateUrl()
+ .getKeyword());
+ assertEquals(ContentSetting.BLOCK, locationPermissionForSearchEngine(keyword3));
+ assertEquals(ContentSetting.ASK, locationPermissionForSearchEngine(keyword2));
// Make sure a pre-existing ALLOW value does not get deleted when switching away
// from a search engine.
- url = templateUrlService.getSearchEngineUrlFromTemplateUrl(4);
+ String keyword4 = pref.getKeywordFromIndexForTesting(4);
+ url = templateUrlService.getSearchEngineUrlFromTemplateUrl(keyword4);
WebsitePreferenceBridge.nativeSetGeolocationSettingForOrigin(
url, url, ContentSetting.ALLOW.toInt(), false);
- pref.setValueForTesting("4");
- assertEquals(4, TemplateUrlService.getInstance().getDefaultSearchEngineIndex());
- assertEquals(ContentSetting.ALLOW, locationPermissionForSearchEngine(4));
+ keyword4 = pref.setValueForTesting("4");
+ assertEquals(keyword4, TemplateUrlService.getInstance()
+ .getDefaultSearchEngineTemplateUrl()
+ .getKeyword());
+ assertEquals(ContentSetting.ALLOW, locationPermissionForSearchEngine(keyword4));
pref.setValueForTesting("3");
- assertEquals(ContentSetting.ALLOW, locationPermissionForSearchEngine(4));
+ assertEquals(ContentSetting.ALLOW, locationPermissionForSearchEngine(keyword4));
}
});
}
@@ -149,17 +159,19 @@ public class PreferencesTest extends NativeLibraryTestBase {
public void testSearchEnginePreferenceHttp() throws Exception {
ensureTemplateUrlServiceLoaded();
+ final Preferences prefActivity =
+ startPreferences(getInstrumentation(), SearchEnginePreference.class.getName());
+
// Set the first search engine as the default using TemplateUrlService.
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- TemplateUrlService.getInstance().setSearchEngine(0);
+ SearchEnginePreference pref =
+ (SearchEnginePreference) prefActivity.getFragmentForTest();
+ pref.setValueForTesting("0");
}
});
- final Preferences prefActivity =
- startPreferences(getInstrumentation(), SearchEnginePreference.class.getName());
-
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
@@ -170,22 +182,24 @@ public class PreferencesTest extends NativeLibraryTestBase {
assertEquals("0", pref.getValueForTesting());
// Simulate selecting a search engine that uses HTTP.
- int index = indexOfFirstHttpSearchEngine();
- pref.setValueForTesting(Integer.toString(index));
+ int index = indexOfFirstHttpSearchEngine(pref);
+ String keyword = pref.setValueForTesting(Integer.toString(index));
TemplateUrlService templateUrlService = TemplateUrlService.getInstance();
- assertEquals(index, templateUrlService.getDefaultSearchEngineIndex());
- assertEquals(ContentSetting.ASK, locationPermissionForSearchEngine(index));
+ assertEquals(keyword,
+ templateUrlService.getDefaultSearchEngineTemplateUrl().getKeyword());
+ assertEquals(ContentSetting.ASK, locationPermissionForSearchEngine(keyword));
}
});
}
- private int indexOfFirstHttpSearchEngine() {
+ private int indexOfFirstHttpSearchEngine(SearchEnginePreference pref) {
TemplateUrlService templateUrlService = TemplateUrlService.getInstance();
- List<TemplateUrl> urls = templateUrlService.getLocalizedSearchEngines();
+ List<TemplateUrl> urls = templateUrlService.getSearchEngines();
int index;
for (index = 0; index < urls.size(); ++index) {
- String url = templateUrlService.getSearchEngineUrlFromTemplateUrl(index);
+ String keyword = pref.getKeywordFromIndexForTesting(index);
+ String url = templateUrlService.getSearchEngineUrlFromTemplateUrl(keyword);
if (url.startsWith("http:")) {
return index;
}
@@ -216,8 +230,8 @@ public class PreferencesTest extends NativeLibraryTestBase {
onTemplateUrlServiceLoadedHelper.waitForCallback(0);
}
- private ContentSetting locationPermissionForSearchEngine(int index) {
- String url = TemplateUrlService.getInstance().getSearchEngineUrlFromTemplateUrl(index);
+ private ContentSetting locationPermissionForSearchEngine(String keyword) {
+ String url = TemplateUrlService.getInstance().getSearchEngineUrlFromTemplateUrl(keyword);
GeolocationInfo locationSettings = new GeolocationInfo(url, null, false);
ContentSetting locationPermission = locationSettings.getContentSetting();
return locationPermission;

Powered by Google App Engine
This is Rietveld 408576698