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

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: Rebase 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 focus_ring_color_ = color;
85 UpdateFocusRingsFromFocusRects();
86 }
87
88 void AccessibilityFocusRingController::ResetFocusRingColor() {
89 focus_ring_color_.reset();
90 UpdateFocusRingsFromFocusRects();
91 }
92
83 void AccessibilityFocusRingController::SetFocusRing( 93 void AccessibilityFocusRingController::SetFocusRing(
84 const std::vector<gfx::Rect>& rects, 94 const std::vector<gfx::Rect>& rects,
85 AccessibilityFocusRingController::FocusRingBehavior focus_ring_behavior) { 95 AccessibilityFocusRingController::FocusRingBehavior focus_ring_behavior) {
86 focus_ring_behavior_ = focus_ring_behavior; 96 focus_ring_behavior_ = focus_ring_behavior;
87 OnLayerChange(&focus_animation_info_); 97 OnLayerChange(&focus_animation_info_);
88 focus_rects_ = rects; 98 focus_rects_ = rects;
89 UpdateFocusRingsFromFocusRects(); 99 UpdateFocusRingsFromFocusRects();
90 } 100 }
91 101
92 void AccessibilityFocusRingController::HideFocusRing() { 102 void AccessibilityFocusRingController::HideFocusRing() {
(...skipping 18 matching lines...) Expand all
111 focus_layers_[0]->CanAnimate()) { 121 focus_layers_[0]->CanAnimate()) {
112 // In PERSIST mode, animate the first ring to its destination 122 // In PERSIST mode, animate the first ring to its destination
113 // location, then set the rest of the rings directly. 123 // location, then set the rest of the rings directly.
114 for (size_t i = 1; i < focus_rings_.size(); ++i) 124 for (size_t i = 1; i < focus_rings_.size(); ++i)
115 focus_layers_[i]->Set(focus_rings_[i]); 125 focus_layers_[i]->Set(focus_rings_[i]);
116 } else { 126 } else {
117 // In FADE mode, set all focus rings to their destination location. 127 // In FADE mode, set all focus rings to their destination location.
118 for (size_t i = 0; i < focus_rings_.size(); ++i) 128 for (size_t i = 0; i < focus_rings_.size(); ++i)
119 focus_layers_[i]->Set(focus_rings_[i]); 129 focus_layers_[i]->Set(focus_rings_[i]);
120 } 130 }
131
132 for (size_t i = 0; i < focus_rings_.size(); ++i) {
133 if (focus_ring_color_)
134 focus_layers_[i]->SetColor(*focus_ring_color_);
135 else
136 focus_layers_[i]->ResetColor();
137 }
121 } 138 }
122 139
123 void AccessibilityFocusRingController::OnLayerChange( 140 void AccessibilityFocusRingController::OnLayerChange(
124 AccessibilityFocusRingController::LayerAnimationInfo* animation_info) { 141 AccessibilityFocusRingController::LayerAnimationInfo* animation_info) {
125 animation_info->change_time = base::TimeTicks::Now(); 142 animation_info->change_time = base::TimeTicks::Now();
126 if (animation_info->opacity == 0) 143 if (animation_info->opacity == 0)
127 animation_info->start_time = animation_info->change_time; 144 animation_info->start_time = animation_info->change_time;
128 } 145 }
129 146
130 void AccessibilityFocusRingController::SetCursorRing( 147 void AccessibilityFocusRingController::SetCursorRing(
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 483
467 ComputeOpacity(&caret_animation_info_, timestamp); 484 ComputeOpacity(&caret_animation_info_, timestamp);
468 if (caret_animation_info_.opacity == 0.0) { 485 if (caret_animation_info_.opacity == 0.0) {
469 caret_layer_.reset(); 486 caret_layer_.reset();
470 return; 487 return;
471 } 488 }
472 caret_layer_->SetOpacity(caret_animation_info_.opacity); 489 caret_layer_->SetOpacity(caret_animation_info_.opacity);
473 } 490 }
474 491
475 } // namespace chromeos 492 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698