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

Unified Diff: chrome/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
Index: chrome/browser/generic_sensor_browsertest.cc
diff --git a/content/browser/generic_sensor_browsertest.cc b/chrome/browser/generic_sensor_browsertest.cc
similarity index 76%
rename from content/browser/generic_sensor_browsertest.cc
rename to chrome/browser/generic_sensor_browsertest.cc
index 745cbfea7469294a45f4c1170a4ab7bc0c6f4490..0a26add98eebe9f321ea9237630b0411c3296fdc 100644
--- a/content/browser/generic_sensor_browsertest.cc
+++ b/chrome/browser/generic_sensor_browsertest.cc
@@ -7,22 +7,13 @@
#include "base/memory/singleton.h"
#include "base/synchronization/waitable_event.h"
#include "base/threading/platform_thread.h"
-#include "build/build_config.h"
+#include "chrome/browser/permissions/permissions_browsertest.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 {
@@ -89,10 +80,12 @@ class FakeSensorProvider : public device::PlatformSensorProvider {
}
};
-class GenericSensorBrowserTest : public ContentBrowserTest {
+class GenericSensorBrowserTest : public PermissionsBrowserTest {
public:
GenericSensorBrowserTest()
- : io_loop_finished_event_(
+ : PermissionsBrowserTest(
+ "/generic_sensor/ambient_light_sensor_test.html"),
+ io_loop_finished_event_(
base::WaitableEvent::ResetPolicy::AUTOMATIC,
base::WaitableEvent::InitialState::NOT_SIGNALED) {
// TODO(darktears): remove when the GenericSensor feature goes stable.
@@ -101,36 +94,51 @@ class GenericSensorBrowserTest : public ContentBrowserTest {
}
void SetUpOnMainThread() override {
- BrowserThread::PostTask(
- BrowserThread::IO, FROM_HERE,
+ PermissionsBrowserTest::SetUpOnMainThread();
+ content::BrowserThread::PostTask(
+ content::BrowserThread::IO, FROM_HERE,
base::Bind(&GenericSensorBrowserTest::SetUpOnIOThread,
base::Unretained(this)));
io_loop_finished_event_.Wait();
}
+ void TriggerPrompt() override {
+ EXPECT_TRUE(RunScriptReturnBool("triggerSensorStart();"));
+ }
+
+ bool FeatureUsageSucceeds() override {
+ return GetWebContents()->GetLastCommittedURL().ref() == "pass";
+ }
+
void SetUpOnIOThread() {
device::PlatformSensorProvider::SetProviderForTesting(
FakeSensorProvider::GetInstance());
io_loop_finished_event_.Signal();
}
- void TearDown() override {
+ void TearDownOnMainThread() override {
device::PlatformSensorProvider::SetProviderForTesting(nullptr);
+ PermissionsBrowserTest::TearDownOnMainThread();
}
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());
+IN_PROC_BROWSER_TEST_F(GenericSensorBrowserTest, SensorSucceedsIfAllowed) {
+ CommonSucceedsIfAllowed();
}
-} // namespace
+IN_PROC_BROWSER_TEST_F(GenericSensorBrowserTest, SensorFailsIfBlocked) {
+ CommonFailsIfBlocked();
+}
+
+IN_PROC_BROWSER_TEST_F(GenericSensorBrowserTest, SensorFailsIfDismissed) {
+ CommonFailsIfDismissed();
+}
-} // namespace content
+IN_PROC_BROWSER_TEST_F(GenericSensorBrowserTest, SensorFailsBeforeRequesting) {
+ CommonFailsBeforeRequesting();
+}
+
+} // namespace

Powered by Google App Engine
This is Rietveld 408576698