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

Side by Side Diff: third_party/WebKit/Source/modules/accessibility/AXMediaControls.cpp

Issue 1435113003: Make use of new AX name calc in Chromium. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix ChromeVox and Automation API tests Created 5 years, 1 month 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 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 } 69 }
70 70
71 MediaControlElementType AccessibilityMediaControl::controlType() const 71 MediaControlElementType AccessibilityMediaControl::controlType() const
72 { 72 {
73 if (!layoutObject() || !layoutObject()->node()) 73 if (!layoutObject() || !layoutObject()->node())
74 return MediaTimelineContainer; // Timeline container is not accessible. 74 return MediaTimelineContainer; // Timeline container is not accessible.
75 75
76 return mediaControlElementType(layoutObject()->node()); 76 return mediaControlElementType(layoutObject()->node());
77 } 77 }
78 78
79 String AccessibilityMediaControl::deprecatedTitle(TextUnderElementMode mode) con st 79 String AccessibilityMediaControl::textAlternative(bool recursive, bool inAriaLab elledByTraversal, AXObjectSet& visited, AXNameFrom& nameFrom, AXRelatedObjectVec tor* relatedObjects, NameSources* nameSources) const
80 {
81 // FIXME: the ControlsPanel container should never be visible in the
82 // accessibility hierarchy.
83 if (controlType() == MediaControlsPanel)
84 return queryString(WebLocalizedString::AXMediaDefault);
85
86 return AXLayoutObject::deprecatedTitle(mode);
87 }
88
89 String AccessibilityMediaControl::deprecatedAccessibilityDescription() const
90 { 80 {
91 switch (controlType()) { 81 switch (controlType()) {
92 case MediaEnterFullscreenButton: 82 case MediaEnterFullscreenButton:
93 return queryString(WebLocalizedString::AXMediaEnterFullscreenButton); 83 return queryString(WebLocalizedString::AXMediaEnterFullscreenButton);
94 case MediaExitFullscreenButton: 84 case MediaExitFullscreenButton:
95 return queryString(WebLocalizedString::AXMediaExitFullscreenButton); 85 return queryString(WebLocalizedString::AXMediaExitFullscreenButton);
96 case MediaMuteButton: 86 case MediaMuteButton:
97 return queryString(WebLocalizedString::AXMediaMuteButton); 87 return queryString(WebLocalizedString::AXMediaMuteButton);
98 case MediaPlayButton: 88 case MediaPlayButton:
99 return queryString(WebLocalizedString::AXMediaPlayButton); 89 return queryString(WebLocalizedString::AXMediaPlayButton);
(...skipping 11 matching lines...) Expand all
111 return queryString(WebLocalizedString::AXMediaHideClosedCaptionsButton); 101 return queryString(WebLocalizedString::AXMediaHideClosedCaptionsButton);
112 case MediaCastOffButton: 102 case MediaCastOffButton:
113 return queryString(WebLocalizedString::AxMediaCastOffButton); 103 return queryString(WebLocalizedString::AxMediaCastOffButton);
114 case MediaCastOnButton: 104 case MediaCastOnButton:
115 return queryString(WebLocalizedString::AxMediaCastOnButton); 105 return queryString(WebLocalizedString::AxMediaCastOnButton);
116 default: 106 default:
117 return queryString(WebLocalizedString::AXMediaDefault); 107 return queryString(WebLocalizedString::AXMediaDefault);
118 } 108 }
119 } 109 }
120 110
121 String AccessibilityMediaControl::deprecatedHelpText() const 111 String AccessibilityMediaControl::description(AXNameFrom nameFrom, AXDescription From& descriptionFrom, AXObjectVector* descriptionObjects) const
122 { 112 {
123 switch (controlType()) { 113 switch (controlType()) {
124 case MediaEnterFullscreenButton: 114 case MediaEnterFullscreenButton:
125 return queryString(WebLocalizedString::AXMediaEnterFullscreenButtonHelp) ; 115 return queryString(WebLocalizedString::AXMediaEnterFullscreenButtonHelp) ;
126 case MediaExitFullscreenButton: 116 case MediaExitFullscreenButton:
127 return queryString(WebLocalizedString::AXMediaExitFullscreenButtonHelp); 117 return queryString(WebLocalizedString::AXMediaExitFullscreenButtonHelp);
128 case MediaMuteButton: 118 case MediaMuteButton:
129 return queryString(WebLocalizedString::AXMediaMuteButtonHelp); 119 return queryString(WebLocalizedString::AXMediaMuteButtonHelp);
130 case MediaPlayButton: 120 case MediaPlayButton:
131 return queryString(WebLocalizedString::AXMediaPlayButtonHelp); 121 return queryString(WebLocalizedString::AXMediaPlayButtonHelp);
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 AXMediaControlsContainer::AXMediaControlsContainer(LayoutObject* layoutObject, A XObjectCacheImpl& axObjectCache) 179 AXMediaControlsContainer::AXMediaControlsContainer(LayoutObject* layoutObject, A XObjectCacheImpl& axObjectCache)
190 : AccessibilityMediaControl(layoutObject, axObjectCache) 180 : AccessibilityMediaControl(layoutObject, axObjectCache)
191 { 181 {
192 } 182 }
193 183
194 AXObject* AXMediaControlsContainer::create(LayoutObject* layoutObject, AXObjectC acheImpl& axObjectCache) 184 AXObject* AXMediaControlsContainer::create(LayoutObject* layoutObject, AXObjectC acheImpl& axObjectCache)
195 { 185 {
196 return new AXMediaControlsContainer(layoutObject, axObjectCache); 186 return new AXMediaControlsContainer(layoutObject, axObjectCache);
197 } 187 }
198 188
199 String AXMediaControlsContainer::deprecatedAccessibilityDescription() const 189 String AXMediaControlsContainer::textAlternative(bool recursive, bool inAriaLabe lledByTraversal, AXObjectSet& visited, AXNameFrom& nameFrom, AXRelatedObjectVect or* relatedObjects, NameSources* nameSources) const
200 { 190 {
201 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia VideoElement : WebLocalizedString::AXMediaAudioElement); 191 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia VideoElement : WebLocalizedString::AXMediaAudioElement);
202 } 192 }
203 193
204 String AXMediaControlsContainer::deprecatedHelpText() const 194 String AXMediaControlsContainer::description(AXNameFrom nameFrom, AXDescriptionF rom& descriptionFrom, AXObjectVector* descriptionObjects) const
205 { 195 {
206 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia VideoElementHelp : WebLocalizedString::AXMediaAudioElementHelp); 196 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia VideoElementHelp : WebLocalizedString::AXMediaAudioElementHelp);
207 } 197 }
208 198
209 bool AXMediaControlsContainer::computeAccessibilityIsIgnored(IgnoredReasons* ign oredReasons) const 199 bool AXMediaControlsContainer::computeAccessibilityIsIgnored(IgnoredReasons* ign oredReasons) const
210 { 200 {
211 return accessibilityIsIgnoredByDefault(ignoredReasons); 201 return accessibilityIsIgnoredByDefault(ignoredReasons);
212 } 202 }
213 203
214 // 204 //
(...skipping 18 matching lines...) Expand all
233 223
234 String AccessibilityMediaTimeline::valueDescription() const 224 String AccessibilityMediaTimeline::valueDescription() const
235 { 225 {
236 Node* node = m_layoutObject->node(); 226 Node* node = m_layoutObject->node();
237 if (!isHTMLInputElement(node)) 227 if (!isHTMLInputElement(node))
238 return String(); 228 return String();
239 229
240 return localizedMediaTimeDescription(toHTMLInputElement(node)->value().toFlo at()); 230 return localizedMediaTimeDescription(toHTMLInputElement(node)->value().toFlo at());
241 } 231 }
242 232
243 String AccessibilityMediaTimeline::deprecatedHelpText() const 233 String AccessibilityMediaTimeline::description(AXNameFrom nameFrom, AXDescriptio nFrom& descriptionFrom, AXObjectVector* descriptionObjects) const
244 { 234 {
245 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia VideoSliderHelp : WebLocalizedString::AXMediaAudioSliderHelp); 235 return queryString(isControllingVideoElement() ? WebLocalizedString::AXMedia VideoSliderHelp : WebLocalizedString::AXMediaAudioSliderHelp);
246 } 236 }
247 237
248 238
249 // 239 //
250 // AccessibilityMediaTimeDisplay 240 // AccessibilityMediaTimeDisplay
251 241
252 AccessibilityMediaTimeDisplay::AccessibilityMediaTimeDisplay(LayoutObject* layou tObject, AXObjectCacheImpl& axObjectCache) 242 AccessibilityMediaTimeDisplay::AccessibilityMediaTimeDisplay(LayoutObject* layou tObject, AXObjectCacheImpl& axObjectCache)
253 : AccessibilityMediaControl(layoutObject, axObjectCache) 243 : AccessibilityMediaControl(layoutObject, axObjectCache)
254 { 244 {
255 } 245 }
256 246
257 AXObject* AccessibilityMediaTimeDisplay::create(LayoutObject* layoutObject, AXOb jectCacheImpl& axObjectCache) 247 AXObject* AccessibilityMediaTimeDisplay::create(LayoutObject* layoutObject, AXOb jectCacheImpl& axObjectCache)
258 { 248 {
259 return new AccessibilityMediaTimeDisplay(layoutObject, axObjectCache); 249 return new AccessibilityMediaTimeDisplay(layoutObject, axObjectCache);
260 } 250 }
261 251
262 bool AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored(IgnoredReasons * ignoredReasons) const 252 bool AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored(IgnoredReasons * ignoredReasons) const
263 { 253 {
264 if (!m_layoutObject || !m_layoutObject->style() || m_layoutObject->style()-> visibility() != VISIBLE) 254 if (!m_layoutObject || !m_layoutObject->style() || m_layoutObject->style()-> visibility() != VISIBLE)
265 return true; 255 return true;
266 256
267 if (!m_layoutObject->style()->width().value()) 257 if (!m_layoutObject->style()->width().value())
268 return true; 258 return true;
269 259
270 return accessibilityIsIgnoredByDefault(ignoredReasons); 260 return accessibilityIsIgnoredByDefault(ignoredReasons);
271 } 261 }
272 262
273 String AccessibilityMediaTimeDisplay::deprecatedAccessibilityDescription() const 263 String AccessibilityMediaTimeDisplay::textAlternative(bool recursive, bool inAri aLabelledByTraversal, AXObjectSet& visited, AXNameFrom& nameFrom, AXRelatedObjec tVector* relatedObjects, NameSources* nameSources) const
274 { 264 {
275 if (controlType() == MediaCurrentTimeDisplay) 265 if (controlType() == MediaCurrentTimeDisplay)
276 return queryString(WebLocalizedString::AXMediaCurrentTimeDisplay); 266 return queryString(WebLocalizedString::AXMediaCurrentTimeDisplay);
277 return queryString(WebLocalizedString::AXMediaTimeRemainingDisplay); 267 return queryString(WebLocalizedString::AXMediaTimeRemainingDisplay);
278 } 268 }
279 269
280 String AccessibilityMediaTimeDisplay::stringValue() const 270 String AccessibilityMediaTimeDisplay::stringValue() const
281 { 271 {
282 if (!m_layoutObject || !m_layoutObject->node()) 272 if (!m_layoutObject || !m_layoutObject->node())
283 return String(); 273 return String();
284 274
285 MediaControlTimeDisplayElement* element = static_cast<MediaControlTimeDispla yElement*>(m_layoutObject->node()); 275 MediaControlTimeDisplayElement* element = static_cast<MediaControlTimeDispla yElement*>(m_layoutObject->node());
286 float time = element->currentValue(); 276 float time = element->currentValue();
287 return localizedMediaTimeDescription(fabsf(time)); 277 return localizedMediaTimeDescription(fabsf(time));
288 } 278 }
289 279
290 } // namespace blink 280 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698