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

Side by Side Diff: Source/modules/accessibility/AXObject.cpp

Issue 1056763002: Reland: Made content editables report the caret and text selection by treating them as text controls (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Moved layout tests to other CLs. Created 5 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 /* 1 /*
2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2008, 2009, 2011 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 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 446
447 bool AXObject::isPasswordFieldAndShouldHideValue() const 447 bool AXObject::isPasswordFieldAndShouldHideValue() const
448 { 448 {
449 Settings* settings = document()->settings(); 449 Settings* settings = document()->settings();
450 if (!settings || settings->accessibilityPasswordValuesEnabled()) 450 if (!settings || settings->accessibilityPasswordValuesEnabled())
451 return false; 451 return false;
452 452
453 return isPasswordField(); 453 return isPasswordField();
454 } 454 }
455 455
456 // If you call node->hasEditableStyle() since that will return true if an ancest or is editable.
dmazzoni 2015/04/10 21:23:24 Please fix this sentence while you're at it, it do
457 // This only returns true if this is the element that actually has the contentEd itable attribute set.
458 bool AXObject::hasContentEditableAttributeSet() const
459 {
460 if (!hasAttribute(contenteditableAttr))
461 return false;
462 const AtomicString& contentEditableValue = getAttribute(contenteditableAttr) ;
463 // Both "true" (case-insensitive) and the empty string count as true.
464 return contentEditableValue.isEmpty() || equalIgnoringCase(contentEditableVa lue, "true");
465 }
466
456 bool AXObject::isTextControl() const 467 bool AXObject::isTextControl() const
457 { 468 {
469 if (hasContentEditableAttributeSet())
470 return true;
471
458 switch (roleValue()) { 472 switch (roleValue()) {
459 case TextFieldRole: 473 case TextFieldRole:
460 case ComboBoxRole: 474 case ComboBoxRole:
461 case SearchBoxRole: 475 case SearchBoxRole:
462 return true; 476 return true;
463 default: 477 default:
464 return false; 478 return false;
465 } 479 }
466 } 480 }
467 481
(...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 } 1313 }
1300 1314
1301 const AtomicString& AXObject::internalRoleName(AccessibilityRole role) 1315 const AtomicString& AXObject::internalRoleName(AccessibilityRole role)
1302 { 1316 {
1303 static const Vector<AtomicString>* internalRoleNameVector = createInternalRo leNameVector(); 1317 static const Vector<AtomicString>* internalRoleNameVector = createInternalRo leNameVector();
1304 1318
1305 return internalRoleNameVector->at(role); 1319 return internalRoleNameVector->at(role);
1306 } 1320 }
1307 1321
1308 } // namespace blink 1322 } // namespace blink
OLDNEW
« Source/modules/accessibility/AXObject.h ('K') | « Source/modules/accessibility/AXObject.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698