Commit 11bcfff5 authored by Ian Vollick's avatar Ian Vollick Committed by Commit Bot

Revert "[vr] Restore opacity when transient elements are shown again."

This reverts commit c1405389.

Reason for revert: trying a different approach.

Original change's description:
> [vr] Restore opacity when transient elements are shown again.
> 
> We'd previously set opacity to 0.0 when hiding elements in the
> transience manager which makes it tricky to see them when they come
> back. With this change, we inform the manager of the desired "opacity
> when visible" and it will restore elements to that opacity when
> shown again.
> 
> Bug: None
> Change-Id: I1a941c3032c35adab5afed17a8afc60bd41230f5
> Reviewed-on: https://chromium-review.googlesource.com/582069
> Commit-Queue: Ian Vollick <vollick@chromium.org>
> Reviewed-by: Christopher Grant <cjgrant@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#488788}

TBR=vollick@chromium.org,cjgrant@chromium.org,ymalik@chromium.org

Change-Id: Ic3ec7b20a980b42c1048c0d074cff6136c3997c2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://chromium-review.googlesource.com/582527Reviewed-by: default avatarIan Vollick <vollick@chromium.org>
Commit-Queue: Ian Vollick <vollick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488822}
parent 1e6a87f5
......@@ -44,8 +44,7 @@ class TransientSimpleTexturedElement : public SimpleTexturedElement<T> {
public:
TransientSimpleTexturedElement(int maximum_width,
const base::TimeDelta& timeout)
: SimpleTexturedElement<T>(maximum_width),
transience_(this, 1.0f, timeout) {}
: SimpleTexturedElement<T>(maximum_width), transience_(this, timeout) {}
~TransientSimpleTexturedElement() override {}
......
......@@ -7,11 +7,8 @@
namespace vr {
TransienceManager::TransienceManager(UiElement* element,
float opacity_when_enabled,
const base::TimeDelta& timeout)
: element_(element),
opacity_when_enabled_(opacity_when_enabled),
timeout_(timeout) {
: element_(element), timeout_(timeout) {
element_->SetVisible(false);
}
......@@ -20,24 +17,24 @@ void TransienceManager::SetEnabled(bool enabled) {
return;
enabled_ = enabled;
if (enabled) {
Show();
element_->SetVisible(true);
StartTimer();
} else {
Hide();
element_->SetVisible(false);
visibility_timer_.Stop();
}
}
void TransienceManager::KickVisibilityIfEnabled() {
if (enabled_) {
Show();
element_->SetVisible(true);
StartTimer();
}
}
void TransienceManager::EndVisibilityIfEnabled() {
if (enabled_) {
Hide();
element_->SetVisible(false);
visibility_timer_.Stop();
}
}
......@@ -49,15 +46,6 @@ void TransienceManager::StartTimer() {
}
void TransienceManager::OnTimeout() {
Hide();
}
void TransienceManager::Show() {
element_->SetVisible(true);
element_->SetOpacity(opacity_when_enabled_);
}
void TransienceManager::Hide() {
element_->SetVisible(false);
element_->SetOpacity(0);
}
......
......@@ -15,9 +15,7 @@ namespace vr {
class TransienceManager {
public:
TransienceManager(UiElement* element,
float opacity_when_enabled,
const base::TimeDelta& timeout);
TransienceManager(UiElement* element, const base::TimeDelta& timeout);
virtual ~TransienceManager() = default;
void SetEnabled(bool enabled);
......@@ -27,11 +25,8 @@ class TransienceManager {
private:
void StartTimer();
void OnTimeout();
void Show();
void Hide();
UiElement* element_;
float opacity_when_enabled_;
base::TimeDelta timeout_;
bool enabled_ = false;
base::OneShotTimer visibility_timer_;
......
......@@ -18,57 +18,42 @@ TEST(TransienceManager, Visibility) {
base::ScopedMockTimeMessageLoopTaskRunner task_runner_;
UiElement element;
float opacity_when_enabled = 0.8;
element.SetOpacity(0.0f);
TransienceManager transience(&element, opacity_when_enabled,
base::TimeDelta::FromSeconds(10));
EXPECT_EQ(false, element.visible());
EXPECT_EQ(0.0f, element.opacity());
TransienceManager transience(&element, base::TimeDelta::FromSeconds(10));
EXPECT_EQ(element.visible(), false);
transience.KickVisibilityIfEnabled();
EXPECT_EQ(false, element.visible());
EXPECT_EQ(0.0f, element.opacity());
EXPECT_EQ(element.visible(), false);
// Enable and disable, making sure the element appears and disappears.
transience.SetEnabled(true);
EXPECT_EQ(true, element.visible());
EXPECT_EQ(opacity_when_enabled, element.opacity());
EXPECT_EQ(element.visible(), true);
transience.SetEnabled(false);
EXPECT_EQ(false, element.visible());
EXPECT_EQ(0.0f, element.opacity());
EXPECT_EQ(element.visible(), false);
// Enable, and ensure that the element transiently disappears.
transience.SetEnabled(true);
EXPECT_EQ(true, element.visible());
EXPECT_EQ(opacity_when_enabled, element.opacity());
EXPECT_EQ(element.visible(), true);
task_runner_->FastForwardUntilNoTasksRemain();
EXPECT_EQ(false, element.visible());
EXPECT_EQ(0.0f, element.opacity());
EXPECT_EQ(element.visible(), false);
// Kick visibility, and ensure that the element transiently disappears.
transience.KickVisibilityIfEnabled();
EXPECT_EQ(true, element.visible());
EXPECT_EQ(opacity_when_enabled, element.opacity());
EXPECT_EQ(element.visible(), true);
task_runner_->FastForwardUntilNoTasksRemain();
EXPECT_EQ(false, element.visible());
EXPECT_EQ(0.0f, element.opacity());
EXPECT_EQ(element.visible(), false);
// Kick visibility, and ensure that ending visibility hides the element.
transience.KickVisibilityIfEnabled();
EXPECT_EQ(true, element.visible());
EXPECT_EQ(opacity_when_enabled, element.opacity());
EXPECT_EQ(element.visible(), true);
transience.EndVisibilityIfEnabled();
EXPECT_EQ(false, element.visible());
EXPECT_EQ(0.0f, element.opacity());
EXPECT_EQ(element.visible(), false);
// Kick visibility, and ensure that disabling hides the element.
transience.KickVisibilityIfEnabled();
EXPECT_EQ(true, element.visible());
EXPECT_EQ(opacity_when_enabled, element.opacity());
EXPECT_EQ(element.visible(), true);
transience.SetEnabled(false);
EXPECT_EQ(false, element.visible());
EXPECT_EQ(0.0f, element.opacity());
EXPECT_EQ(element.visible(), false);
}
} // namespace vr
......@@ -19,7 +19,7 @@ TransientUrlBar::TransientUrlBar(
const base::Callback<void(UiUnsupportedMode)>& failure_callback)
: TexturedElement(preferred_width),
texture_(base::MakeUnique<UrlBarTexture>(true, failure_callback)),
transience_(this, 1.0f, timeout) {}
transience_(this, timeout) {}
TransientUrlBar::~TransientUrlBar() = default;
......
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