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

Unified Diff: content/browser/generic_sensor_browsertest.cc

Issue 2458453002: [sensors] Add Permission guard to the generic sensor apis.
Patch Set: rebase + blink reformat Created 3 years, 8 months 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
« no previous file with comments | « components/infobars/core/infobar_delegate.h ('k') | content/browser/permissions/permission_service_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/generic_sensor_browsertest.cc
diff --git a/content/browser/generic_sensor_browsertest.cc b/content/browser/generic_sensor_browsertest.cc
deleted file mode 100644
index 745cbfea7469294a45f4c1170a4ab7bc0c6f4490..0000000000000000000000000000000000000000
--- a/content/browser/generic_sensor_browsertest.cc
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright 2016 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 "base/command_line.h"
-#include "base/macros.h"
-#include "base/memory/singleton.h"
-#include "base/synchronization/waitable_event.h"
-#include "base/threading/platform_thread.h"
-#include "build/build_config.h"
-#include "content/public/browser/browser_thread.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/common/content_switches.h"
-#include "content/public/test/content_browser_test.h"
-#include "content/public/test/content_browser_test_utils.h"
-#include "content/public/test/test_navigation_observer.h"
-#include "content/public/test/test_utils.h"
-#include "content/shell/browser/shell.h"
-#include "content/shell/browser/shell_javascript_dialog_manager.h"
-#include "device/generic_sensor/platform_sensor.h"
-#include "device/generic_sensor/platform_sensor_provider.h"
-#include "device/generic_sensor/sensor_provider_impl.h"
-
-namespace content {
-
-namespace {
-
-class FakeAmbientLightSensor : public device::PlatformSensor {
- public:
- FakeAmbientLightSensor(device::mojom::SensorType type,
- mojo::ScopedSharedBufferMapping mapping,
- device::PlatformSensorProvider* provider)
- : PlatformSensor(type, std::move(mapping), provider) {}
-
- device::mojom::ReportingMode GetReportingMode() override {
- return device::mojom::ReportingMode::ON_CHANGE;
- }
-
- bool StartSensor(
- const device::PlatformSensorConfiguration& configuration) override {
- device::SensorReading reading;
- reading.timestamp =
- (base::TimeTicks::Now() - base::TimeTicks()).InSecondsF();
- reading.values[0] = 50;
- UpdateSensorReading(reading, true);
- return true;
- }
-
- void StopSensor() override{};
-
- protected:
- ~FakeAmbientLightSensor() override = default;
- bool CheckSensorConfiguration(
- const device::PlatformSensorConfiguration& configuration) override {
- return true;
- }
- device::PlatformSensorConfiguration GetDefaultConfiguration() override {
- device::PlatformSensorConfiguration default_configuration;
- default_configuration.set_frequency(60);
- return default_configuration;
- }
-};
-
-class FakeSensorProvider : public device::PlatformSensorProvider {
- public:
- static FakeSensorProvider* GetInstance() {
- return base::Singleton<FakeSensorProvider, base::LeakySingletonTraits<
- FakeSensorProvider>>::get();
- }
- FakeSensorProvider() = default;
- ~FakeSensorProvider() override = default;
-
- protected:
- void CreateSensorInternal(device::mojom::SensorType type,
- mojo::ScopedSharedBufferMapping mapping,
- const CreateSensorCallback& callback) override {
- // Create Sensors here.
- switch (type) {
- case device::mojom::SensorType::AMBIENT_LIGHT: {
- scoped_refptr<device::PlatformSensor> sensor =
- new FakeAmbientLightSensor(type, std::move(mapping), this);
- callback.Run(std::move(sensor));
- break;
- }
- default:
- NOTIMPLEMENTED();
- callback.Run(nullptr);
- }
- }
-};
-
-class GenericSensorBrowserTest : public ContentBrowserTest {
- public:
- GenericSensorBrowserTest()
- : io_loop_finished_event_(
- base::WaitableEvent::ResetPolicy::AUTOMATIC,
- base::WaitableEvent::InitialState::NOT_SIGNALED) {
- // TODO(darktears): remove when the GenericSensor feature goes stable.
- base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
- cmd_line->AppendSwitchASCII(switches::kEnableFeatures, "GenericSensor");
- }
-
- void SetUpOnMainThread() override {
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
- base::Bind(&GenericSensorBrowserTest::SetUpOnIOThread,
- base::Unretained(this)));
- io_loop_finished_event_.Wait();
- }
-
- void SetUpOnIOThread() {
- device::PlatformSensorProvider::SetProviderForTesting(
- FakeSensorProvider::GetInstance());
- io_loop_finished_event_.Signal();
- }
-
- void TearDown() override {
- device::PlatformSensorProvider::SetProviderForTesting(nullptr);
- }
-
- public:
- base::WaitableEvent io_loop_finished_event_;
-};
-
-IN_PROC_BROWSER_TEST_F(GenericSensorBrowserTest, AmbientLightSensorTest) {
- // The test page will create an AmbientLightSensor object in Javascript,
- // expects to get events with fake values then navigates to #pass.
- GURL test_url =
- GetTestUrl("generic_sensor", "ambient_light_sensor_test.html");
- NavigateToURLBlockUntilNavigationsComplete(shell(), test_url, 2);
- EXPECT_EQ("pass", shell()->web_contents()->GetLastCommittedURL().ref());
-}
-
-} // namespace
-
-} // namespace content
« no previous file with comments | « components/infobars/core/infobar_delegate.h ('k') | content/browser/permissions/permission_service_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698