Index: chrome/browser/geolocation/geolocation_browsertest.cc |
diff --git a/chrome/browser/geolocation/geolocation_browsertest.cc b/chrome/browser/geolocation/geolocation_browsertest.cc |
index 4dbb89094a593c54a6242f8a80915d6fa92afbac..a53ade3ec3616530ffc72aca6db2232baedb4309 100644 |
--- a/chrome/browser/geolocation/geolocation_browsertest.cc |
+++ b/chrome/browser/geolocation/geolocation_browsertest.cc |
@@ -29,7 +29,6 @@ |
#include "content/public/browser/notification_service.h" |
#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/web_contents.h" |
-#include "content/test/mock_geolocation.h" |
#include "net/base/net_util.h" |
#include "net/test/test_server.h" |
@@ -205,19 +204,20 @@ class GeolocationBrowserTest : public InProcessBrowserTest { |
: infobar_(NULL), |
current_browser_(NULL), |
html_for_tests_("files/geolocation/simple.html"), |
+ fake_latitude_(1.23), |
+ fake_longitude_(4.56), |
started_test_server_(false) { |
EnableDOMAutomation(); |
} |
// InProcessBrowserTest |
- virtual void SetUpInProcessBrowserTestFixture() { |
- mock_geolocation_.Setup(); |
+ virtual void SetUpOnMainThread() { |
+ ui_test_utils::OverrideGeolocation(fake_latitude_, fake_longitude_); |
} |
// InProcessBrowserTest |
virtual void TearDownInProcessBrowserTestFixture() { |
LOG(WARNING) << "TearDownInProcessBrowserTestFixture. Test Finished."; |
- mock_geolocation_.TearDown(); |
} |
enum InitializationOptions { |
@@ -290,12 +290,6 @@ class GeolocationBrowserTest : public InProcessBrowserTest { |
"geoGetLastPositionLongitude()"); |
} |
- void CheckGeopositionEqualsMock() { |
- double latitude, longitude; |
- mock_geolocation_.GetCurrentPosition(&latitude, &longitude); |
- CheckGeoposition(latitude, longitude); |
- } |
- |
void SetInfobarResponse(const GURL& requesting_url, bool allowed) { |
TabContentsWrapper* tab_contents_wrapper = |
current_browser_->GetSelectedTabContentsWrapper(); |
@@ -349,7 +343,9 @@ class GeolocationBrowserTest : public InProcessBrowserTest { |
} |
void NotifyGeoposition(double latitude, double longitude) { |
- mock_geolocation_.SetCurrentPosition(latitude, longitude); |
+ fake_latitude_ = latitude; |
+ fake_longitude_ = longitude; |
+ ui_test_utils::OverrideGeolocation(latitude, longitude); |
LOG(WARNING) << "MockLocationProvider listeners updated"; |
} |
@@ -364,11 +360,11 @@ class GeolocationBrowserTest : public InProcessBrowserTest { |
GURL current_url_; |
// If not empty, the GURLs for the iframes loaded by LoadIFrames(). |
std::vector<GURL> iframe_urls_; |
+ double fake_latitude_; |
+ double fake_longitude_; |
// TODO(phajdan.jr): Remove after we can ask TestServer whether it is started. |
bool started_test_server_; |
- |
- content::MockGeolocation mock_geolocation_; |
}; |
IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, DisplaysPermissionBar) { |
@@ -380,7 +376,7 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, Geoposition) { |
ASSERT_TRUE(Initialize(INITIALIZATION_NONE)); |
AddGeolocationWatch(true); |
SetInfobarResponse(current_url_, true); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
} |
// Crashy, http://crbug.com/70585. |
@@ -409,7 +405,7 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, MAYBE_NoInfobarForSecondTab) { |
// Checks infobar will not be created a second tab. |
ASSERT_TRUE(Initialize(INITIALIZATION_NEWTAB)); |
AddGeolocationWatch(false); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
} |
// http://crbug.com/44589. Hangs on Mac, crashes on Windows |
@@ -451,7 +447,7 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, MAYBE_NoInfobarForAllowedOrigin) |
CONTENT_SETTING_ALLOW); |
// Checks no infobar will be created and there's no error callback. |
AddGeolocationWatch(false); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
} |
IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, NoInfobarForOffTheRecord) { |
@@ -460,13 +456,13 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, NoInfobarForOffTheRecord) { |
AddGeolocationWatch(true); |
// Response will be persisted |
SetInfobarResponse(current_url_, true); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
// Disables further prompts from this tab. |
CheckStringValueFromJavascript("0", "geoSetMaxNavigateCount(0)"); |
// Go incognito, and checks no infobar will be created. |
ASSERT_TRUE(Initialize(INITIALIZATION_OFFTHERECORD)); |
AddGeolocationWatch(false); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
} |
// Test fails: http://crbug.com/90927 |
@@ -480,7 +476,7 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, |
iframe_xpath_ = L"//iframe[@id='iframe_0']"; |
AddGeolocationWatch(true); |
SetInfobarResponse(iframe_urls_[0], true); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
// Disables further prompts from this iframe. |
CheckStringValueFromJavascript("0", "geoSetMaxNavigateCount(0)"); |
@@ -524,7 +520,7 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, |
iframe_xpath_ = L"//iframe[@id='iframe_0']"; |
AddGeolocationWatch(true); |
SetInfobarResponse(iframe_urls_[0], true); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
// Refresh geoposition, but let's not yet create the watch on the second frame |
// so that it'll fetch from cache. |
@@ -563,7 +559,7 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, |
iframe_xpath_ = L"//iframe[@id='iframe_0']"; |
AddGeolocationWatch(true); |
SetInfobarResponse(iframe_urls_[0], true); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
// Disables further prompts from this iframe. |
CheckStringValueFromJavascript("0", "geoSetMaxNavigateCount(0)"); |
@@ -607,14 +603,14 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, DISABLED_NoInfoBarBeforeStart) { |
iframe_xpath_ = L"//iframe[@id='iframe_0']"; |
AddGeolocationWatch(true); |
SetInfobarResponse(iframe_urls_[0], true); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
CheckStringValueFromJavascript("0", "geoSetMaxNavigateCount(0)"); |
// Permission should be requested after adding a watch. |
iframe_xpath_ = L"//iframe[@id='iframe_1']"; |
AddGeolocationWatch(true); |
SetInfobarResponse(iframe_urls_[1], true); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
} |
IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, TwoWatchesInOneFrame) { |
@@ -635,7 +631,7 @@ IN_PROC_BROWSER_TEST_F(GeolocationBrowserTest, TwoWatchesInOneFrame) { |
// Send a position which both geolocation watches will receive. |
AddGeolocationWatch(true); |
SetInfobarResponse(current_url_, true); |
- CheckGeopositionEqualsMock(); |
+ CheckGeoposition(fake_latitude_, fake_longitude_); |
// The second watch will now have cancelled. Ensure an update still makes |
// its way through to the first watcher. |