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

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

Issue 2914623003: [VrShell] Centralize color handling and enable close button on fullscreen (Closed)
Patch Set: clean up after rebase Created 3 years, 7 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.cc
diff --git a/chrome/browser/android/vr_shell/ui_scene_manager.cc b/chrome/browser/android/vr_shell/ui_scene_manager.cc
index 2ef910a78a2dcdd55fdd39a1e68c1f4595681cfc..7f9b2f658ab81bada9628c785aa483787f648fc4 100644
--- a/chrome/browser/android/vr_shell/ui_scene_manager.cc
+++ b/chrome/browser/android/vr_shell/ui_scene_manager.cc
@@ -89,8 +89,7 @@ UiSceneManager::UiSceneManager(VrBrowserInterface* browser,
CreateSecurityWarnings();
CreateSystemIndicators();
CreateUrlBar();
- if (in_cct_)
- CreateCloseButton();
+ CreateCloseButton();
CreateScreenDimmer();
ConfigureScene();
@@ -297,7 +296,7 @@ void UiSceneManager::CreateCloseButton() {
gfx::Vector3dF(0, kContentVerticalOffset - (kContentHeight / 2) - 0.3,
-kContentDistance + 0.4));
element->set_size(gfx::Vector3dF(0.2, 0.2, 1));
- control_elements_.push_back(element.get());
+ close_button_ = element.get();
scene_->AddUiElement(std::move(element));
}
@@ -326,6 +325,10 @@ void UiSceneManager::ConfigureScene() {
element->SetEnabled(controls_visible);
}
+ // Close button is a special control element that needs to be hidden when in
+ // WebVR, but it needs to be visible when in cct or fullscreen.
+ close_button_->SetEnabled(!web_vr_mode_ && (fullscreen_ || in_cct_));
+
// Content elements.
for (UiElement* element : content_elements_) {
element->SetEnabled(!web_vr_mode_);
@@ -337,11 +340,19 @@ void UiSceneManager::ConfigureScene() {
main_content_->set_translation(
{0, kFullscreenVerticalOffset, -kFullscreenDistance});
main_content_->set_size({kFullscreenWidth, kFullscreenHeight, 1});
+
+ close_button_->set_translation(gfx::Vector3dF(
+ 0, kFullscreenVerticalOffset - (kFullscreenHeight / 2) - 0.1,
+ -kFullscreenDistance + 0.4));
} else {
// Note that main_content_ is already visible in this case.
main_content_->set_translation(
{0, kContentVerticalOffset, -kContentDistance});
main_content_->set_size({kContentWidth, kContentHeight, 1});
+
+ close_button_->set_translation(
+ gfx::Vector3dF(0, kContentVerticalOffset - (kContentHeight / 2) - 0.3,
+ -kContentDistance + 0.4));
}
scene_->SetMode(mode());
@@ -354,9 +365,9 @@ void UiSceneManager::UpdateBackgroundColor() {
// TODO(vollick): it would be nice if ceiling, floor and the grid were
// UiElement subclasses and could respond to the OnSetMode signal.
ceiling_->set_center_color(color_scheme().ceiling);
- ceiling_->set_edge_color(color_scheme().horizon);
+ ceiling_->set_edge_color(color_scheme().world_background);
floor_->set_center_color(color_scheme().floor);
- floor_->set_edge_color(color_scheme().horizon);
+ floor_->set_edge_color(color_scheme().world_background);
floor_->set_grid_color(color_scheme().floor_grid);
}
@@ -453,7 +464,12 @@ void UiSceneManager::SetHistoryButtonsEnabled(bool can_go_back,
}
void UiSceneManager::OnCloseButtonClicked() {
- browser_->ExitCct();
+ if (fullscreen_) {
+ browser_->ExitFullscreen();
+ }
+ if (in_cct_) {
+ browser_->ExitCct();
+ }
}
void UiSceneManager::OnUnsupportedMode(UiUnsupportedMode mode) {

Powered by Google App Engine
This is Rietveld 408576698