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

Side by Side Diff: chrome/browser/chromeos/ui/accessibility_focus_ring_controller.cc

Issue 2789583004: Add a color argument to accessibilityPrivate.setFocusRing (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/ui/accessibility_focus_ring_controller.h" 5 #include "chrome/browser/chromeos/ui/accessibility_focus_ring_controller.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 base::TimeDelta::FromMilliseconds(kCursorFadeOutTimeMilliseconds); 73 base::TimeDelta::FromMilliseconds(kCursorFadeOutTimeMilliseconds);
74 caret_animation_info_.fade_in_time = 74 caret_animation_info_.fade_in_time =
75 base::TimeDelta::FromMilliseconds(kCaretFadeInTimeMilliseconds); 75 base::TimeDelta::FromMilliseconds(kCaretFadeInTimeMilliseconds);
76 caret_animation_info_.fade_out_time = 76 caret_animation_info_.fade_out_time =
77 base::TimeDelta::FromMilliseconds(kCaretFadeOutTimeMilliseconds); 77 base::TimeDelta::FromMilliseconds(kCaretFadeOutTimeMilliseconds);
78 } 78 }
79 79
80 AccessibilityFocusRingController::~AccessibilityFocusRingController() { 80 AccessibilityFocusRingController::~AccessibilityFocusRingController() {
81 } 81 }
82 82
83 void AccessibilityFocusRingController::SetFocusRingColor(SkColor color) {
84 has_focus_ring_color_ = true;
85 focus_ring_color_ = color;
86 UpdateFocusRingsFromFocusRects();
87 }
88
89 void AccessibilityFocusRingController::ResetFocusRingColor() {
90 has_focus_ring_color_ = false;
91 UpdateFocusRingsFromFocusRects();
92 }
93
83 void AccessibilityFocusRingController::SetFocusRing( 94 void AccessibilityFocusRingController::SetFocusRing(
84 const std::vector<gfx::Rect>& rects, 95 const std::vector<gfx::Rect>& rects,
85 AccessibilityFocusRingController::FocusRingBehavior focus_ring_behavior) { 96 AccessibilityFocusRingController::FocusRingBehavior focus_ring_behavior) {
86 focus_ring_behavior_ = focus_ring_behavior; 97 focus_ring_behavior_ = focus_ring_behavior;
87 OnLayerChange(&focus_animation_info_); 98 OnLayerChange(&focus_animation_info_);
88 focus_rects_ = rects; 99 focus_rects_ = rects;
89 UpdateFocusRingsFromFocusRects(); 100 UpdateFocusRingsFromFocusRects();
90 } 101 }
91 102
92 void AccessibilityFocusRingController::HideFocusRing() { 103 void AccessibilityFocusRingController::HideFocusRing() {
(...skipping 18 matching lines...) Expand all
111 focus_layers_[0]->CanAnimate()) { 122 focus_layers_[0]->CanAnimate()) {
112 // In PERSIST mode, animate the first ring to its destination 123 // In PERSIST mode, animate the first ring to its destination
113 // location, then set the rest of the rings directly. 124 // location, then set the rest of the rings directly.
114 for (size_t i = 1; i < focus_rings_.size(); ++i) 125 for (size_t i = 1; i < focus_rings_.size(); ++i)
115 focus_layers_[i]->Set(focus_rings_[i]); 126 focus_layers_[i]->Set(focus_rings_[i]);
116 } else { 127 } else {
117 // In FADE mode, set all focus rings to their destination location. 128 // In FADE mode, set all focus rings to their destination location.
118 for (size_t i = 0; i < focus_rings_.size(); ++i) 129 for (size_t i = 0; i < focus_rings_.size(); ++i)
119 focus_layers_[i]->Set(focus_rings_[i]); 130 focus_layers_[i]->Set(focus_rings_[i]);
120 } 131 }
132
133 for (size_t i = 0; i < focus_rings_.size(); ++i) {
134 if (has_focus_ring_color_)
135 focus_layers_[i]->SetColor(focus_ring_color_);
136 else
137 focus_layers_[i]->ResetColor();
138 }
121 } 139 }
122 140
123 void AccessibilityFocusRingController::OnLayerChange( 141 void AccessibilityFocusRingController::OnLayerChange(
124 AccessibilityFocusRingController::LayerAnimationInfo* animation_info) { 142 AccessibilityFocusRingController::LayerAnimationInfo* animation_info) {
125 animation_info->change_time = base::TimeTicks::Now(); 143 animation_info->change_time = base::TimeTicks::Now();
126 if (animation_info->opacity == 0) 144 if (animation_info->opacity == 0)
127 animation_info->start_time = animation_info->change_time; 145 animation_info->start_time = animation_info->change_time;
128 } 146 }
129 147
130 void AccessibilityFocusRingController::SetCursorRing( 148 void AccessibilityFocusRingController::SetCursorRing(
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 485
468 ComputeOpacity(&caret_animation_info_, timestamp); 486 ComputeOpacity(&caret_animation_info_, timestamp);
469 if (caret_animation_info_.opacity == 0.0) { 487 if (caret_animation_info_.opacity == 0.0) {
470 caret_layer_.reset(); 488 caret_layer_.reset();
471 return; 489 return;
472 } 490 }
473 caret_layer_->SetOpacity(caret_animation_info_.opacity); 491 caret_layer_->SetOpacity(caret_animation_info_.opacity);
474 } 492 }
475 493
476 } // namespace chromeos 494 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698