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

Side by Side Diff: Source/core/accessibility/AXRenderObject.cpp

Issue 557613002: Remove a part of type checking predicates of HTMLInputElement. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/accessibility/AXNodeObject.cpp ('k') | Source/core/editing/FrameSelection.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2008 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 12 matching lines...) Expand all
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #include "config.h" 29 #include "config.h"
30 #include "core/accessibility/AXRenderObject.h" 30 #include "core/accessibility/AXRenderObject.h"
31 31
32 #include "bindings/core/v8/ExceptionStatePlaceholder.h" 32 #include "bindings/core/v8/ExceptionStatePlaceholder.h"
33 #include "core/InputTypeNames.h"
33 #include "core/accessibility/AXImageMapLink.h" 34 #include "core/accessibility/AXImageMapLink.h"
34 #include "core/accessibility/AXInlineTextBox.h" 35 #include "core/accessibility/AXInlineTextBox.h"
35 #include "core/accessibility/AXObjectCache.h" 36 #include "core/accessibility/AXObjectCache.h"
36 #include "core/accessibility/AXSVGRoot.h" 37 #include "core/accessibility/AXSVGRoot.h"
37 #include "core/accessibility/AXSpinButton.h" 38 #include "core/accessibility/AXSpinButton.h"
38 #include "core/accessibility/AXTable.h" 39 #include "core/accessibility/AXTable.h"
39 #include "core/dom/ElementTraversal.h" 40 #include "core/dom/ElementTraversal.h"
40 #include "core/dom/shadow/ShadowRoot.h" 41 #include "core/dom/shadow/ShadowRoot.h"
41 #include "core/editing/FrameSelection.h" 42 #include "core/editing/FrameSelection.h"
42 #include "core/editing/RenderedPosition.h" 43 #include "core/editing/RenderedPosition.h"
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 return WebAreaRole; 298 return WebAreaRole;
298 299
299 if (cssBox && cssBox->isTextField()) 300 if (cssBox && cssBox->isTextField())
300 return TextFieldRole; 301 return TextFieldRole;
301 302
302 if (cssBox && cssBox->isTextArea()) 303 if (cssBox && cssBox->isTextArea())
303 return TextAreaRole; 304 return TextAreaRole;
304 305
305 if (isHTMLInputElement(node)) { 306 if (isHTMLInputElement(node)) {
306 HTMLInputElement& input = toHTMLInputElement(*node); 307 HTMLInputElement& input = toHTMLInputElement(*node);
307 if (input.isCheckbox()) 308 const AtomicString& type = input.type();
309 if (type == InputTypeNames::checkbox)
308 return CheckBoxRole; 310 return CheckBoxRole;
309 if (input.isRadioButton()) 311 if (type == InputTypeNames::radio)
310 return RadioButtonRole; 312 return RadioButtonRole;
311 if (input.isTextButton()) 313 if (input.isTextButton())
312 return buttonRoleType(); 314 return buttonRoleType();
313 315 if (type == InputTypeNames::color)
314 const AtomicString& type = input.getAttribute(typeAttr);
315 if (equalIgnoringCase(type, "color"))
316 return ColorWellRole; 316 return ColorWellRole;
317 } 317 }
318 318
319 if (isFileUploadButton()) 319 if (isFileUploadButton())
320 return ButtonRole; 320 return ButtonRole;
321 321
322 if (cssBox && cssBox->isMenuList()) 322 if (cssBox && cssBox->isMenuList())
323 return PopUpButtonRole; 323 return PopUpButtonRole;
324 324
325 if (headingLevel()) 325 if (headingLevel())
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 if (!renderer) 443 if (!renderer)
444 return false; 444 return false;
445 // Widgets are the replaced elements that we represent to AX as attachments 445 // Widgets are the replaced elements that we represent to AX as attachments
446 bool isWidget = renderer->isWidget(); 446 bool isWidget = renderer->isWidget();
447 ASSERT(!isWidget || (renderer->isReplaced() && !isImage())); 447 ASSERT(!isWidget || (renderer->isReplaced() && !isImage()));
448 return isWidget; 448 return isWidget;
449 } 449 }
450 450
451 bool AXRenderObject::isFileUploadButton() const 451 bool AXRenderObject::isFileUploadButton() const
452 { 452 {
453 if (m_renderer && isHTMLInputElement(m_renderer->node())) { 453 return m_renderer && isHTMLInputElement(m_renderer->node()) && toHTMLInputEl ement(*m_renderer->node()).type() == InputTypeNames::file;
454 HTMLInputElement& input = toHTMLInputElement(*m_renderer->node());
455 return input.isFileUpload();
456 }
457
458 return false;
459 } 454 }
460 455
461 static bool isLinkable(const AXObject& object) 456 static bool isLinkable(const AXObject& object)
462 { 457 {
463 if (!object.renderer()) 458 if (!object.renderer())
464 return false; 459 return false;
465 460
466 // See https://wiki.mozilla.org/Accessibility/AT-Windows-API for the element s 461 // See https://wiki.mozilla.org/Accessibility/AT-Windows-API for the element s
467 // Mozilla considers linkable. 462 // Mozilla considers linkable.
468 return object.isLink() || object.isImage() || object.renderer()->isText(); 463 return object.isLink() || object.isImage() || object.renderer()->isText();
(...skipping 1875 matching lines...) Expand 10 before | Expand all | Expand 10 after
2344 if (label && label->renderer()) { 2339 if (label && label->renderer()) {
2345 LayoutRect labelRect = axObjectCache()->getOrCreate(label)->elementR ect(); 2340 LayoutRect labelRect = axObjectCache()->getOrCreate(label)->elementR ect();
2346 result.unite(labelRect); 2341 result.unite(labelRect);
2347 } 2342 }
2348 } 2343 }
2349 2344
2350 return result; 2345 return result;
2351 } 2346 }
2352 2347
2353 } // namespace blink 2348 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/accessibility/AXNodeObject.cpp ('k') | Source/core/editing/FrameSelection.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698