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

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

Issue 2301833005: Get rid of AX_LINE_BREAKS attribute to improve performance. (Closed)
Patch Set: Created 4 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 (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 4366 matching lines...) Expand 10 before | Expand all | Expand 10 after
4377 4377
4378 HandleSpecialTextOffset(text, &start_offset); 4378 HandleSpecialTextOffset(text, &start_offset);
4379 if (ia2_boundary == IA2_TEXT_BOUNDARY_WORD) 4379 if (ia2_boundary == IA2_TEXT_BOUNDARY_WORD)
4380 return GetWordStartBoundary(static_cast<int>(start_offset), direction); 4380 return GetWordStartBoundary(static_cast<int>(start_offset), direction);
4381 if (ia2_boundary == IA2_TEXT_BOUNDARY_LINE) { 4381 if (ia2_boundary == IA2_TEXT_BOUNDARY_LINE) {
4382 return GetLineStartBoundary( 4382 return GetLineStartBoundary(
4383 static_cast<int>(start_offset), direction, affinity); 4383 static_cast<int>(start_offset), direction, affinity);
4384 } 4384 }
4385 4385
4386 ui::TextBoundaryType boundary = IA2TextBoundaryToTextBoundary(ia2_boundary); 4386 ui::TextBoundaryType boundary = IA2TextBoundaryToTextBoundary(ia2_boundary);
4387 const std::vector<int32_t>& line_breaks = 4387 return ui::FindAccessibleTextBoundary(text, ComputeLineBreaks(), boundary,
4388 GetIntListAttribute(ui::AX_ATTR_LINE_BREAKS); 4388 start_offset, direction, affinity);
4389 return ui::FindAccessibleTextBoundary(
4390 text, line_breaks, boundary, start_offset, direction, affinity);
4391 } 4389 }
4392 4390
4393 LONG BrowserAccessibilityWin::FindStartOfStyle( 4391 LONG BrowserAccessibilityWin::FindStartOfStyle(
4394 LONG start_offset, 4392 LONG start_offset,
4395 ui::TextBoundaryDirection direction) const { 4393 ui::TextBoundaryDirection direction) const {
4396 LONG text_length = static_cast<LONG>(GetText().length()); 4394 LONG text_length = static_cast<LONG>(GetText().length());
4397 DCHECK_GE(start_offset, 0); 4395 DCHECK_GE(start_offset, 0);
4398 DCHECK_LE(start_offset, text_length); 4396 DCHECK_LE(start_offset, text_length);
4399 4397
4400 switch (direction) { 4398 switch (direction) {
(...skipping 802 matching lines...) Expand 10 before | Expand all | Expand 10 after
5203 return static_cast<BrowserAccessibilityWin*>(obj); 5201 return static_cast<BrowserAccessibilityWin*>(obj);
5204 } 5202 }
5205 5203
5206 const BrowserAccessibilityWin* 5204 const BrowserAccessibilityWin*
5207 ToBrowserAccessibilityWin(const BrowserAccessibility* obj) { 5205 ToBrowserAccessibilityWin(const BrowserAccessibility* obj) {
5208 DCHECK(!obj || obj->IsNative()); 5206 DCHECK(!obj || obj->IsNative());
5209 return static_cast<const BrowserAccessibilityWin*>(obj); 5207 return static_cast<const BrowserAccessibilityWin*>(obj);
5210 } 5208 }
5211 5209
5212 } // namespace content 5210 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698