| // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/extensions/extension_apitest.h" |
| #include "chrome/browser/geolocation/location_arbitrator.h" |
| #include "chrome/browser/geolocation/mock_location_provider.h" |
| #include "chrome/common/chrome_switches.h" |
| |
| class GeolocationApiTest : public ExtensionApiTest { |
| public: |
| // InProcessBrowserTest |
| void SetUpInProcessBrowserTestFixture() { |
| ExtensionApiTest::SetUpInProcessBrowserTestFixture(); |
| GeolocationArbitrator::SetProviderFactoryForTest( |
| &NewAutoSuccessMockLocationProvider); |
| } |
| }; |
| |
| IN_PROC_BROWSER_TEST_F(GeolocationApiTest, ExtensionGeolocationAccessFail) { |
| // Test that geolocation cannot be accessed from extension without permission. |
| ASSERT_TRUE(RunExtensionTest("geolocation/no_permission")) << message_; |
| } |
| |
| IN_PROC_BROWSER_TEST_F(GeolocationApiTest, ExtensionGeolocationAccessPass) { |
| // Test that geolocation can be accessed from extension with permission. |
| ASSERT_TRUE(RunExtensionTest("geolocation/has_permission")) << message_; |
| } |