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

Side by Side Diff: content/browser/accessibility/browser_accessibility_win.cc

Issue 1905263002: Correctly finds line boundaries in objects with rich text on Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed standard text fields in unit test. Created 4 years, 7 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser/accessibility/browser_accessibility_win.h" 5 #include "content/browser/accessibility/browser_accessibility_win.h"
6 6
7 #include <UIAutomationClient.h> 7 #include <UIAutomationClient.h>
8 #include <UIAutomationCoreApi.h> 8 #include <UIAutomationCoreApi.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 4228 matching lines...) Expand 10 before | Expand all | Expand 10 after
4239 } 4239 }
4240 4240
4241 LONG BrowserAccessibilityWin::FindBoundary( 4241 LONG BrowserAccessibilityWin::FindBoundary(
4242 const base::string16& text, 4242 const base::string16& text,
4243 IA2TextBoundaryType ia2_boundary, 4243 IA2TextBoundaryType ia2_boundary,
4244 LONG start_offset, 4244 LONG start_offset,
4245 ui::TextBoundaryDirection direction) { 4245 ui::TextBoundaryDirection direction) {
4246 HandleSpecialTextOffset(text, &start_offset); 4246 HandleSpecialTextOffset(text, &start_offset);
4247 if (ia2_boundary == IA2_TEXT_BOUNDARY_WORD) 4247 if (ia2_boundary == IA2_TEXT_BOUNDARY_WORD)
4248 return GetWordStartBoundary(static_cast<int>(start_offset), direction); 4248 return GetWordStartBoundary(static_cast<int>(start_offset), direction);
4249 if (ia2_boundary == IA2_TEXT_BOUNDARY_LINE)
4250 return GetLineStartBoundary(static_cast<int>(start_offset), direction);
4249 4251
4250 ui::TextBoundaryType boundary = IA2TextBoundaryToTextBoundary(ia2_boundary); 4252 ui::TextBoundaryType boundary = IA2TextBoundaryToTextBoundary(ia2_boundary);
4251 const std::vector<int32_t>& line_breaks = 4253 const std::vector<int32_t>& line_breaks =
4252 GetIntListAttribute(ui::AX_ATTR_LINE_BREAKS); 4254 GetIntListAttribute(ui::AX_ATTR_LINE_BREAKS);
4253 return ui::FindAccessibleTextBoundary( 4255 return ui::FindAccessibleTextBoundary(
4254 text, line_breaks, boundary, start_offset, direction); 4256 text, line_breaks, boundary, start_offset, direction);
4255 } 4257 }
4256 4258
4257 LONG BrowserAccessibilityWin::FindStartOfStyle( 4259 LONG BrowserAccessibilityWin::FindStartOfStyle(
4258 LONG start_offset, 4260 LONG start_offset,
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
4954 return static_cast<BrowserAccessibilityWin*>(obj); 4956 return static_cast<BrowserAccessibilityWin*>(obj);
4955 } 4957 }
4956 4958
4957 const BrowserAccessibilityWin* 4959 const BrowserAccessibilityWin*
4958 ToBrowserAccessibilityWin(const BrowserAccessibility* obj) { 4960 ToBrowserAccessibilityWin(const BrowserAccessibility* obj) {
4959 DCHECK(!obj || obj->IsNative()); 4961 DCHECK(!obj || obj->IsNative());
4960 return static_cast<const BrowserAccessibilityWin*>(obj); 4962 return static_cast<const BrowserAccessibilityWin*>(obj);
4961 } 4963 }
4962 4964
4963 } // namespace content 4965 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698