Index: chrome/browser/chromeos/ui/accessibility_focus_ring_controller.cc |
diff --git a/chrome/browser/chromeos/ui/accessibility_focus_ring_controller.cc b/chrome/browser/chromeos/ui/accessibility_focus_ring_controller.cc |
index b41a0ea1e083227209dba142be1a6ce96b8dfbfa..32f54ba2b550a5c078613b78c3fb42ad75968bd6 100644 |
--- a/chrome/browser/chromeos/ui/accessibility_focus_ring_controller.cc |
+++ b/chrome/browser/chromeos/ui/accessibility_focus_ring_controller.cc |
@@ -8,11 +8,9 @@ |
#include <algorithm> |
-#include "ash/display/window_tree_host_manager.h" |
#include "ash/shell.h" |
#include "base/logging.h" |
#include "chrome/browser/chromeos/ui/focus_ring_layer.h" |
-#include "ui/display/screen.h" |
namespace chromeos { |
@@ -60,7 +58,7 @@ AccessibilityFocusRingController* |
} |
AccessibilityFocusRingController::AccessibilityFocusRingController() |
- : compositor_(nullptr), cursor_opacity_(0), cursor_compositor_(nullptr) {} |
+ : cursor_opacity_(0) {} |
AccessibilityFocusRingController::~AccessibilityFocusRingController() { |
} |
@@ -89,14 +87,7 @@ void AccessibilityFocusRingController::Update() { |
} |
} |
- ui::Compositor* compositor = CompositorForBounds(rings_[0].GetBounds()); |
- if (compositor != compositor_) { |
- RemoveAnimationObservers(); |
- compositor_ = compositor; |
- AddAnimationObservers(); |
- } |
- |
- if (compositor_ && compositor_->HasAnimationObserver(this)) { |
+ if (layers_[0]->CanAnimate()) { |
focus_change_time_ = base::TimeTicks::Now(); |
} else { |
// If we can't animate, set the location of the first ring. |
@@ -104,30 +95,6 @@ void AccessibilityFocusRingController::Update() { |
} |
} |
-ui::Compositor* AccessibilityFocusRingController::CompositorForBounds( |
- const gfx::Rect& bounds) { |
- display::Display display = |
- display::Screen::GetScreen()->GetDisplayMatching(bounds); |
- aura::Window* root_window = ash::Shell::GetInstance() |
- ->window_tree_host_manager() |
- ->GetRootWindowForDisplayId(display.id()); |
- return root_window->layer()->GetCompositor(); |
-} |
- |
-void AccessibilityFocusRingController::RemoveAnimationObservers() { |
- if (compositor_ && compositor_->HasAnimationObserver(this)) |
- compositor_->RemoveAnimationObserver(this); |
- if (cursor_compositor_ && cursor_compositor_->HasAnimationObserver(this)) |
- cursor_compositor_->RemoveAnimationObserver(this); |
-} |
- |
-void AccessibilityFocusRingController::AddAnimationObservers() { |
- if (compositor_ && !compositor_->HasAnimationObserver(this)) |
- compositor_->AddAnimationObserver(this); |
- if (cursor_compositor_ && !cursor_compositor_->HasAnimationObserver(this)) |
- cursor_compositor_->AddAnimationObserver(this); |
-} |
- |
void AccessibilityFocusRingController::SetCursorRing( |
const gfx::Point& location) { |
cursor_location_ = location; |
@@ -141,14 +108,6 @@ void AccessibilityFocusRingController::SetCursorRing( |
kCursorRingColorBlue)); |
} |
cursor_layer_->Set(location); |
- |
- ui::Compositor* compositor = |
- CompositorForBounds(gfx::Rect(location.x(), location.y(), 0, 0)); |
- if (compositor != cursor_compositor_) { |
- RemoveAnimationObservers(); |
- cursor_compositor_ = compositor; |
- AddAnimationObservers(); |
- } |
} |
void AccessibilityFocusRingController::SetCaretRing( |
@@ -359,10 +318,10 @@ void AccessibilityFocusRingController::OnDeviceScaleFactorChanged() { |
void AccessibilityFocusRingController::OnAnimationStep( |
base::TimeTicks timestamp) { |
- if (!rings_.empty() && compositor_) |
+ if (!rings_.empty() && layers_[0]->CanAnimate()) |
AnimateFocusRings(timestamp); |
- if (cursor_layer_ && cursor_compositor_) |
+ if (cursor_layer_ && cursor_layer_->CanAnimate()) |
AnimateCursorRing(timestamp); |
} |
@@ -383,10 +342,6 @@ void AccessibilityFocusRingController::AnimateFocusRings( |
base::TimeDelta::FromMilliseconds(kTransitionTimeMilliseconds); |
if (delta >= transition_time) { |
layers_[0]->Set(rings_[0]); |
- |
- RemoveAnimationObservers(); |
- compositor_ = nullptr; |
- AddAnimationObservers(); |
return; |
} |
@@ -440,15 +395,4 @@ void AccessibilityFocusRingController::AnimateCursorRing( |
cursor_layer_->SetOpacity(cursor_opacity_); |
} |
-void AccessibilityFocusRingController::OnCompositingShuttingDown( |
- ui::Compositor* compositor) { |
- if (compositor == compositor_ || compositor == cursor_compositor_) |
- compositor->RemoveAnimationObserver(this); |
- |
- if (compositor == compositor_) |
- compositor_ = nullptr; |
- if (compositor == cursor_compositor_) |
- cursor_compositor_ = nullptr; |
-} |
- |
} // namespace chromeos |