| 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;
|
|
|