Commit 2912d2fe authored by Tibor Goldschwendt's avatar Tibor Goldschwendt Committed by Commit Bot

[vr] Make content, omnibox semi-transparent when native dialog shows

Also adds an opacity animation for showing and hiding the dialog.

Bug: 815003
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_vr;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I41648642627bba712e0d4106bcaba536d0480e45
Reviewed-on: https://chromium-review.googlesource.com/941547Reviewed-by: default avatarChristopher Grant <cjgrant@chromium.org>
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539989}
parent 7b9bca78
......@@ -66,6 +66,7 @@ static const char* g_ui_element_name_strings[] = {
"k2dBrowsingVisibiltyControlForVoice",
"k2dBrowsingVisibiltyControlForSiteInfoPrompt",
"k2dBrowsingOpacityControlForAudioPermissionPrompt",
"k2dBrowsingOpacityControlForNativeDialogPrompt",
"kIndicatorLayout",
"kAudioCaptureIndicator",
"kVideoCaptureIndicator",
......
......@@ -65,6 +65,7 @@ enum UiElementName {
k2dBrowsingVisibiltyControlForVoice,
k2dBrowsingVisibiltyControlForSiteInfoPrompt,
k2dBrowsingOpacityControlForAudioPermissionPrompt,
k2dBrowsingOpacityControlForNativeDialogPrompt,
kIndicatorLayout,
kAudioCaptureIndicator,
kVideoCaptureIndicator,
......
......@@ -583,9 +583,10 @@ void UiSceneCreator::CreateHostedUi() {
hosted_ui->SetSize(kContentWidth * kHostedUiWidthRatio,
kContentHeight * kHostedUiHeightRatio);
hosted_ui->SetVisible(false);
hosted_ui->set_opacity_when_visible(1.0);
hosted_ui->set_requires_layout(false);
hosted_ui->set_corner_radius(kContentCornerRadius);
hosted_ui->SetTransitionedProperties({BOUNDS});
hosted_ui->SetTransitionedProperties({OPACITY});
hosted_ui->SetTranslate(0, 0, kHostedUiDepthOffset);
hosted_ui->AddBinding(VR_BIND_FUNC(ContentInputDelegatePtr, Model, model_,
......@@ -605,7 +606,6 @@ void UiSceneCreator::CreateHostedUi() {
dialog->set_hit_testable(enabled);
},
base::Unretained(hosted_ui.get()))));
hosted_ui->AddBinding(std::make_unique<Binding<float>>(
base::BindRepeating([](Model* m) { return m->native_ui.size_ratio; },
base::Unretained(model_)),
......@@ -673,13 +673,22 @@ void UiSceneCreator::Create2dBrowsingSubtreeRoots() {
scene_->AddUiElement(k2dBrowsingVisibiltyControlForSiteInfoPrompt,
std::move(element));
element = Create<UiElement>(k2dBrowsingOpacityControlForNativeDialogPrompt,
kPhaseNone);
element->SetTransitionedProperties({OPACITY});
element->AddBinding(VR_BIND(
bool, Model, model_, !model->native_ui.hosted_ui_enabled, UiElement,
element.get(), view->SetOpacity(value ? 1.0 : kModalPromptFadeOpacity)));
scene_->AddUiElement(k2dBrowsingOpacityControlForAudioPermissionPrompt,
std::move(element));
element = Create<UiElement>(k2dBrowsingForeground, kPhaseNone);
element->SetTransitionedProperties({OPACITY});
element->SetTransitionDuration(base::TimeDelta::FromMilliseconds(
kSpeechRecognitionOpacityAnimationDurationMs));
VR_BIND_VISIBILITY(element, model->default_browsing_enabled() ||
model->fullscreen_enabled());
scene_->AddUiElement(k2dBrowsingOpacityControlForAudioPermissionPrompt,
scene_->AddUiElement(k2dBrowsingOpacityControlForNativeDialogPrompt,
std::move(element));
element = Create<UiElement>(k2dBrowsingContentGroup, kPhaseNone);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment