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

Unified Diff: chrome/browser/android/vr_shell/ui_scene_manager_unittest.cc

Issue 2953073003: VR: Disable system indicators in full-screen mode. (Closed)
Patch Set: Created 3 years, 6 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/android/vr_shell/ui_scene_manager_unittest.cc
diff --git a/chrome/browser/android/vr_shell/ui_scene_manager_unittest.cc b/chrome/browser/android/vr_shell/ui_scene_manager_unittest.cc
index d3af85909b8341be5a62b49e297b08709da30a64..d4d90680b7ab9d114f12d2d6797bfb3c2c11e0d1 100644
--- a/chrome/browser/android/vr_shell/ui_scene_manager_unittest.cc
+++ b/chrome/browser/android/vr_shell/ui_scene_manager_unittest.cc
@@ -77,17 +77,31 @@ class UiSceneManagerTest : public testing::Test {
return element ? element->visible() : false;
}
+ // Verify that only the elements in the set are visible.
void VerifyElementsVisible(const std::string& debug_name,
- const std::set<UiElementDebugId>& elements) {
+ const std::set<UiElementDebugId>& debug_ids) {
SCOPED_TRACE(debug_name);
for (const auto& element : scene_->GetUiElements()) {
SCOPED_TRACE(element->debug_id());
bool should_be_visible =
- elements.find(element->debug_id()) != elements.end();
+ debug_ids.find(element->debug_id()) != debug_ids.end();
EXPECT_EQ(should_be_visible, element->visible());
}
}
+ // Return false if not all elements in the set match the specified visibility
+ // state. Other elements are ignored.
+ bool VerifyVisibility(const std::set<UiElementDebugId>& debug_ids,
+ bool visible) {
+ for (const auto& element : scene_->GetUiElements()) {
+ if (debug_ids.find(element->debug_id()) != debug_ids.end() &&
+ element->visible() != visible) {
+ return false;
+ }
+ }
+ return true;
+ }
+
base::test::ScopedTaskEnvironment scoped_task_environment_;
std::unique_ptr<MockBrowserInterface> browser_;
std::unique_ptr<UiScene> scene_;
@@ -358,42 +372,36 @@ TEST_F(UiSceneManagerTest, UiUpdateTransitionToWebVR) {
}
TEST_F(UiSceneManagerTest, CaptureIndicatorsVisibility) {
+ const std::set<UiElementDebugId> indicators = {
+ kAudioCaptureIndicator, kVideoCaptureIndicator, kScreenCaptureIndicator,
+ kLocationAccessIndicator,
+ };
+
MakeManager(kNotInCct, kNotInWebVr);
- EXPECT_FALSE(IsVisible(kAudioCaptureIndicator));
- EXPECT_FALSE(IsVisible(kVideoCaptureIndicator));
- EXPECT_FALSE(IsVisible(kScreenCaptureIndicator));
- EXPECT_FALSE(IsVisible(kLocationAccessIndicator));
+ EXPECT_TRUE(VerifyVisibility(indicators, false));
manager_->SetAudioCapturingIndicator(true);
amp 2017/06/23 18:36:59 Does anything different happen if some of the indi
cjgrant 2017/06/23 19:38:26 Nope, but, Amir and I talked about additional test
manager_->SetVideoCapturingIndicator(true);
manager_->SetScreenCapturingIndicator(true);
manager_->SetLocationAccessIndicator(true);
-
- EXPECT_TRUE(IsVisible(kAudioCaptureIndicator));
- EXPECT_TRUE(IsVisible(kVideoCaptureIndicator));
- EXPECT_TRUE(IsVisible(kScreenCaptureIndicator));
- EXPECT_TRUE(IsVisible(kLocationAccessIndicator));
+ EXPECT_TRUE(VerifyVisibility(indicators, true));
manager_->SetWebVrMode(true, false, false);
- EXPECT_FALSE(IsVisible(kAudioCaptureIndicator));
- EXPECT_FALSE(IsVisible(kVideoCaptureIndicator));
- EXPECT_FALSE(IsVisible(kScreenCaptureIndicator));
- EXPECT_FALSE(IsVisible(kLocationAccessIndicator));
+ EXPECT_TRUE(VerifyVisibility(indicators, false));
manager_->SetWebVrMode(false, false, false);
- EXPECT_TRUE(IsVisible(kAudioCaptureIndicator));
- EXPECT_TRUE(IsVisible(kVideoCaptureIndicator));
- EXPECT_TRUE(IsVisible(kScreenCaptureIndicator));
- EXPECT_TRUE(IsVisible(kLocationAccessIndicator));
+ EXPECT_TRUE(VerifyVisibility(indicators, true));
+
+ manager_->SetFullscreen(true);
asimjour1 2017/06/23 13:28:41 We miss the transition from Fullscreen to WebVr.
cjgrant 2017/06/23 19:38:26 Discussed offline. The intent isn't really to cov
+ EXPECT_TRUE(VerifyVisibility(indicators, false));
+ manager_->SetFullscreen(false);
+ EXPECT_TRUE(VerifyVisibility(indicators, true));
manager_->SetAudioCapturingIndicator(false);
manager_->SetVideoCapturingIndicator(false);
manager_->SetScreenCapturingIndicator(false);
manager_->SetLocationAccessIndicator(false);
-
- EXPECT_FALSE(IsVisible(kAudioCaptureIndicator));
- EXPECT_FALSE(IsVisible(kVideoCaptureIndicator));
- EXPECT_FALSE(IsVisible(kScreenCaptureIndicator));
- EXPECT_FALSE(IsVisible(kLocationAccessIndicator));
+ EXPECT_TRUE(VerifyVisibility(indicators, false));
}
+
} // namespace vr_shell

Powered by Google App Engine
This is Rietveld 408576698