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

Side by Side Diff: content/renderer/accessibility/blink_ax_tree_source.cc

Issue 1308153012: Uses isEditable and isRichlyEditable to determine which attributes to expose on Mac and how to repr… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed unit test by adding EDITABLE role manually. Created 5 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
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 "content/renderer/accessibility/blink_ax_tree_source.h" 5 #include "content/renderer/accessibility/blink_ax_tree_source.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 base::ToLowerASCII(UTF16ToUTF8( 385 base::ToLowerASCII(UTF16ToUTF8(
386 base::StringPiece16(element.tagName())))); 386 base::StringPiece16(element.tagName()))));
387 for (unsigned i = 0; i < element.attributeCount(); ++i) { 387 for (unsigned i = 0; i < element.attributeCount(); ++i) {
388 std::string name = base::ToLowerASCII(UTF16ToUTF8( 388 std::string name = base::ToLowerASCII(UTF16ToUTF8(
389 base::StringPiece16(element.attributeLocalName(i)))); 389 base::StringPiece16(element.attributeLocalName(i))));
390 std::string value = 390 std::string value =
391 UTF16ToUTF8(base::StringPiece16(element.attributeValue(i))); 391 UTF16ToUTF8(base::StringPiece16(element.attributeValue(i)));
392 dst->html_attributes.push_back(std::make_pair(name, value)); 392 dst->html_attributes.push_back(std::make_pair(name, value));
393 } 393 }
394 394
395 if (!src.isReadOnly() || dst->role == ui::AX_ROLE_TEXT_FIELD) { 395 if (src.isEditable()) {
396 dst->AddIntAttribute(ui::AX_ATTR_TEXT_SEL_START, src.selectionStart()); 396 dst->AddIntAttribute(ui::AX_ATTR_TEXT_SEL_START, src.selectionStart());
397 dst->AddIntAttribute(ui::AX_ATTR_TEXT_SEL_END, src.selectionEnd()); 397 dst->AddIntAttribute(ui::AX_ATTR_TEXT_SEL_END, src.selectionEnd());
398 398
399 WebVector<int> src_line_breaks; 399 WebVector<int> src_line_breaks;
400 src.lineBreaks(src_line_breaks); 400 src.lineBreaks(src_line_breaks);
401 if (src_line_breaks.size() > 0) { 401 if (src_line_breaks.size() > 0) {
402 std::vector<int32> line_breaks; 402 std::vector<int32> line_breaks;
403 line_breaks.reserve(src_line_breaks.size()); 403 line_breaks.reserve(src_line_breaks.size());
404 for (size_t i = 0; i < src_line_breaks.size(); ++i) 404 for (size_t i = 0; i < src_line_breaks.size(); ++i)
405 line_breaks.push_back(src_line_breaks[i]); 405 line_breaks.push_back(src_line_breaks[i]);
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 } 657 }
658 } 658 }
659 659
660 blink::WebDocument BlinkAXTreeSource::GetMainDocument() const { 660 blink::WebDocument BlinkAXTreeSource::GetMainDocument() const {
661 if (render_frame_ && render_frame_->GetWebFrame()) 661 if (render_frame_ && render_frame_->GetWebFrame())
662 return render_frame_->GetWebFrame()->document(); 662 return render_frame_->GetWebFrame()->document();
663 return WebDocument(); 663 return WebDocument();
664 } 664 }
665 665
666 } // namespace content 666 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698