// 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 "content/browser/geolocation/location_arbitrator.h" #include "content/browser/geolocation/mock_location_provider.h" #include "content/browser/geolocation/arbitrator_dependency_factories_for_test.h" class GeolocationApiTest : public ExtensionApiTest { public: GeolocationApiTest() : dependency_factory_( new GeolocationArbitratorDependencyFactoryWithLocationProvider( &NewAutoSuccessMockLocationProvider)) { } // InProcessBrowserTest virtual void SetUpInProcessBrowserTestFixture() { ExtensionApiTest::SetUpInProcessBrowserTestFixture(); GeolocationArbitrator::SetDependencyFactoryForTest( dependency_factory_.get()); } // InProcessBrowserTest virtual void TearDownInProcessBrowserTestFixture() { GeolocationArbitrator::SetDependencyFactoryForTest(NULL); } private: scoped_refptr<GeolocationArbitratorDependencyFactory> dependency_factory_; }; IN_PROC_BROWSER_TEST_F(GeolocationApiTest, FLAKY_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_; }