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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java

Issue 2533523002: Add Geolocation.PermissionState histogram. (Closed)
Patch Set: Address comments. Return to listed enums. Created 4 years 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/omnibox/geo/GeolocationHeaderTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java
index 272278efceef71bc3828194b07d68eae5d1fc9fc..707c30b057126f086047f529a42555f437cd81bc 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/omnibox/geo/GeolocationHeaderTest.java
@@ -14,10 +14,13 @@ import android.test.UiThreadTest;
import android.test.suitebuilder.annotation.SmallTest;
import org.chromium.base.library_loader.ProcessInitException;
+import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.test.util.Feature;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
import org.chromium.chrome.browser.preferences.website.ContentSetting;
import org.chromium.chrome.browser.preferences.website.GeolocationInfo;
+import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.ui.base.WindowAndroid;
/**
* Tests for GeolocationHeader and GeolocationTracker.
@@ -74,6 +77,12 @@ public class GeolocationHeaderTest extends InstrumentationTestCase {
assertNull(getHeaderWithLocation(20.3, 155.8, now - oneWeek));
GeolocationTracker.setLocationForTesting(null);
assertNullHeader(SEARCH_URL_1, false);
+
+ // The values in this Histogram assert will change if the asserts above are altered.
+ assertHistogramEquals("Geolocation.Header.PermissionState", 43,
+ "0:4 1:0 2:5 3:9 4:4 5:0 6:0 7:0 8:0 9:0 10:0 11:0 12:0 13:0 14:0 15:0 16:0 "
+ + "17:0 18:0 19:0 20:0 21:0 22:0 23:0 24:0 25:0 26:0 27:0 28:0 29:0 "
+ + "30:0 31:0 32:0 33:0 34:0 35:0 36:0 37:0 38:0 39:0 40:0 41:0 42:0 ");
}
private String getHeaderWithPermissions(ContentSetting httpsPermission,
@@ -82,14 +91,19 @@ public class GeolocationHeaderTest extends InstrumentationTestCase {
GeolocationInfo infoHttp = new GeolocationInfo("http://www.google.de", null, false);
infoHttps.setContentSetting(httpsPermission);
infoHttp.setContentSetting(httpPermission);
- return GeolocationHeader.getGeoHeader(getInstrumentation().getTargetContext(),
- "https://www.google.de/search?q=kartoffelsalat", false);
+ Context targetContext = getInstrumentation().getTargetContext();
+ WindowAndroid window = new WindowAndroid(targetContext);
+ Tab tab = new Tab(0, false, window);
dominickn 2016/12/01 00:30:26 You'll be able to get rid of these WindowAndroid /
+ return GeolocationHeader.getGeoHeader(
+ targetContext, "https://www.google.de/search?q=kartoffelsalat", tab);
}
private String getHeaderWithLocation(double latitute, double longitude, long time) {
setMockLocation(latitute, longitude, time);
- return GeolocationHeader.getGeoHeader(getInstrumentation().getTargetContext(),
- SEARCH_URL_1, false);
+ Context targetContext = getInstrumentation().getTargetContext();
+ WindowAndroid window = new WindowAndroid(targetContext);
+ Tab tab = new Tab(0, false, window);
+ return GeolocationHeader.getGeoHeader(targetContext, SEARCH_URL_1, tab);
}
private void setMockLocation(double latitute, double longitude, long time) {
@@ -107,11 +121,25 @@ public class GeolocationHeaderTest extends InstrumentationTestCase {
private void assertNullHeader(String url, boolean isIncognito) {
Context targetContext = getInstrumentation().getTargetContext();
- assertNull(GeolocationHeader.getGeoHeader(targetContext, url, isIncognito));
+ WindowAndroid window = new WindowAndroid(targetContext);
+ Tab tab = new Tab(0, isIncognito, window);
+ assertNull(GeolocationHeader.getGeoHeader(targetContext, url, tab));
}
private void assertNonNullHeader(String url, boolean isIncognito) {
Context targetContext = getInstrumentation().getTargetContext();
- assertNotNull(GeolocationHeader.getGeoHeader(targetContext, url, isIncognito));
+ WindowAndroid window = new WindowAndroid(targetContext);
+ Tab tab = new Tab(0, isIncognito, window);
+ assertNotNull(GeolocationHeader.getGeoHeader(targetContext, url, tab));
+ }
+
+ private void assertHistogramEquals(String name, int buckets, String output) {
+ String permissions = "";
+ for (int i = 0; i < buckets; i++) {
+ int count = RecordHistogram.getHistogramValueCountForTesting(name, i);
+ permissions =
+ permissions.concat(Integer.toString(i) + ":" + Integer.toString(count) + " ");
+ }
+ assertEquals(output, permissions);
}
}

Powered by Google App Engine
This is Rietveld 408576698