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> { ...@@ -44,8 +44,7 @@ class TransientSimpleTexturedElement : public SimpleTexturedElement<T> {
public: public:
TransientSimpleTexturedElement(int maximum_width, TransientSimpleTexturedElement(int maximum_width,
const base::TimeDelta& timeout) const base::TimeDelta& timeout)
: SimpleTexturedElement<T>(maximum_width), : SimpleTexturedElement<T>(maximum_width), transience_(this, timeout) {}
transience_(this, 1.0f, timeout) {}
~TransientSimpleTexturedElement() override {} ~TransientSimpleTexturedElement() override {}
......
...@@ -7,11 +7,8 @@ ...@@ -7,11 +7,8 @@
namespace vr { namespace vr {
TransienceManager::TransienceManager(UiElement* element, TransienceManager::TransienceManager(UiElement* element,
float opacity_when_enabled,
const base::TimeDelta& timeout) const base::TimeDelta& timeout)
: element_(element), : element_(element), timeout_(timeout) {
opacity_when_enabled_(opacity_when_enabled),
timeout_(timeout) {
element_->SetVisible(false); element_->SetVisible(false);
} }
...@@ -20,24 +17,24 @@ void TransienceManager::SetEnabled(bool enabled) { ...@@ -20,24 +17,24 @@ void TransienceManager::SetEnabled(bool enabled) {
return; return;
enabled_ = enabled; enabled_ = enabled;
if (enabled) { if (enabled) {
Show(); element_->SetVisible(true);
StartTimer(); StartTimer();
} else { } else {
Hide(); element_->SetVisible(false);
visibility_timer_.Stop(); visibility_timer_.Stop();
} }
} }
void TransienceManager::KickVisibilityIfEnabled() { void TransienceManager::KickVisibilityIfEnabled() {
if (enabled_) { if (enabled_) {
Show(); element_->SetVisible(true);
StartTimer(); StartTimer();
} }
} }
void TransienceManager::EndVisibilityIfEnabled() { void TransienceManager::EndVisibilityIfEnabled() {
if (enabled_) { if (enabled_) {
Hide(); element_->SetVisible(false);
visibility_timer_.Stop(); visibility_timer_.Stop();
} }
} }
...@@ -49,15 +46,6 @@ void TransienceManager::StartTimer() { ...@@ -49,15 +46,6 @@ void TransienceManager::StartTimer() {
} }
void TransienceManager::OnTimeout() { void TransienceManager::OnTimeout() {
Hide();
}
void TransienceManager::Show() {
element_->SetVisible(true);
element_->SetOpacity(opacity_when_enabled_);
}
void TransienceManager::Hide() {
element_->SetVisible(false); element_->SetVisible(false);
element_->SetOpacity(0); element_->SetOpacity(0);
} }
......
...@@ -15,9 +15,7 @@ namespace vr { ...@@ -15,9 +15,7 @@ namespace vr {
class TransienceManager { class TransienceManager {
public: public:
TransienceManager(UiElement* element, TransienceManager(UiElement* element, const base::TimeDelta& timeout);
float opacity_when_enabled,
const base::TimeDelta& timeout);
virtual ~TransienceManager() = default; virtual ~TransienceManager() = default;
void SetEnabled(bool enabled); void SetEnabled(bool enabled);
...@@ -27,11 +25,8 @@ class TransienceManager { ...@@ -27,11 +25,8 @@ class TransienceManager {
private: private:
void StartTimer(); void StartTimer();
void OnTimeout(); void OnTimeout();
void Show();
void Hide();
UiElement* element_; UiElement* element_;
float opacity_when_enabled_;
base::TimeDelta timeout_; base::TimeDelta timeout_;
bool enabled_ = false; bool enabled_ = false;
base::OneShotTimer visibility_timer_; base::OneShotTimer visibility_timer_;
......
...@@ -18,57 +18,42 @@ TEST(TransienceManager, Visibility) { ...@@ -18,57 +18,42 @@ TEST(TransienceManager, Visibility) {
base::ScopedMockTimeMessageLoopTaskRunner task_runner_; base::ScopedMockTimeMessageLoopTaskRunner task_runner_;
UiElement element; UiElement element;
float opacity_when_enabled = 0.8;
element.SetOpacity(0.0f);
TransienceManager transience(&element, opacity_when_enabled, TransienceManager transience(&element, base::TimeDelta::FromSeconds(10));
base::TimeDelta::FromSeconds(10)); EXPECT_EQ(element.visible(), false);
EXPECT_EQ(false, element.visible());
EXPECT_EQ(0.0f, element.opacity());
transience.KickVisibilityIfEnabled(); transience.KickVisibilityIfEnabled();
EXPECT_EQ(false, element.visible()); EXPECT_EQ(element.visible(), false);
EXPECT_EQ(0.0f, element.opacity());
// Enable and disable, making sure the element appears and disappears. // Enable and disable, making sure the element appears and disappears.
transience.SetEnabled(true); transience.SetEnabled(true);
EXPECT_EQ(true, element.visible()); EXPECT_EQ(element.visible(), true);
EXPECT_EQ(opacity_when_enabled, element.opacity());
transience.SetEnabled(false); transience.SetEnabled(false);
EXPECT_EQ(false, element.visible()); EXPECT_EQ(element.visible(), false);
EXPECT_EQ(0.0f, element.opacity());
// Enable, and ensure that the element transiently disappears. // Enable, and ensure that the element transiently disappears.
transience.SetEnabled(true); transience.SetEnabled(true);
EXPECT_EQ(true, element.visible()); EXPECT_EQ(element.visible(), true);
EXPECT_EQ(opacity_when_enabled, element.opacity());
task_runner_->FastForwardUntilNoTasksRemain(); task_runner_->FastForwardUntilNoTasksRemain();
EXPECT_EQ(false, element.visible()); EXPECT_EQ(element.visible(), false);
EXPECT_EQ(0.0f, element.opacity());
// Kick visibility, and ensure that the element transiently disappears. // Kick visibility, and ensure that the element transiently disappears.
transience.KickVisibilityIfEnabled(); transience.KickVisibilityIfEnabled();
EXPECT_EQ(true, element.visible()); EXPECT_EQ(element.visible(), true);
EXPECT_EQ(opacity_when_enabled, element.opacity());
task_runner_->FastForwardUntilNoTasksRemain(); task_runner_->FastForwardUntilNoTasksRemain();
EXPECT_EQ(false, element.visible()); EXPECT_EQ(element.visible(), false);
EXPECT_EQ(0.0f, element.opacity());
// Kick visibility, and ensure that ending visibility hides the element. // Kick visibility, and ensure that ending visibility hides the element.
transience.KickVisibilityIfEnabled(); transience.KickVisibilityIfEnabled();
EXPECT_EQ(true, element.visible()); EXPECT_EQ(element.visible(), true);
EXPECT_EQ(opacity_when_enabled, element.opacity());
transience.EndVisibilityIfEnabled(); transience.EndVisibilityIfEnabled();
EXPECT_EQ(false, element.visible()); EXPECT_EQ(element.visible(), false);
EXPECT_EQ(0.0f, element.opacity());
// Kick visibility, and ensure that disabling hides the element. // Kick visibility, and ensure that disabling hides the element.
transience.KickVisibilityIfEnabled(); transience.KickVisibilityIfEnabled();
EXPECT_EQ(true, element.visible()); EXPECT_EQ(element.visible(), true);
EXPECT_EQ(opacity_when_enabled, element.opacity());
transience.SetEnabled(false); transience.SetEnabled(false);
EXPECT_EQ(false, element.visible()); EXPECT_EQ(element.visible(), false);
EXPECT_EQ(0.0f, element.opacity());
} }
} // namespace vr } // namespace vr
...@@ -19,7 +19,7 @@ TransientUrlBar::TransientUrlBar( ...@@ -19,7 +19,7 @@ TransientUrlBar::TransientUrlBar(
const base::Callback<void(UiUnsupportedMode)>& failure_callback) const base::Callback<void(UiUnsupportedMode)>& failure_callback)
: TexturedElement(preferred_width), : TexturedElement(preferred_width),
texture_(base::MakeUnique<UrlBarTexture>(true, failure_callback)), texture_(base::MakeUnique<UrlBarTexture>(true, failure_callback)),
transience_(this, 1.0f, timeout) {} transience_(this, timeout) {}
TransientUrlBar::~TransientUrlBar() = default; 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