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

Issue 21269002: Make AccessibilityNodeData more compact. (Closed)

Created:
7 years, 4 months ago by dmazzoni
Modified:
7 years, 4 months ago
CC:
chromium-reviews, hashimoto+watch_chromium.org, aboxhall+watch_chromium.org, yoshiki+watch_chromium.org, jam, yuzo+watch_chromium.org, davidbarr+watch_chromium.org, joi+watch-content_chromium.org, darin-cc_chromium.org, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, ctguil+watch_chromium.org, zork+watch_chromium.org
Visibility:
Public.

Description

Make AccessibilityNodeData more compact. The only goal of this tedious changelist is less memory usage when storing the accessible tree. The major changes are: * Make almost everything a "sparse" attribute. For example, not every element has a name or value, so make them optional attributes rather than string fields that always take up memory. * Use UTF-8 std::strings instead of string16s. * Use vectors of pairs rather than maps. If there is any slowdown after this change, we can speed up lookup in vectors by sorting the attributes and doing a binary search. There are also opportunities to do more referencing and less string copying. When reviewing, look at the changes to the header files first and make sure you understand them. Everything else is just a consequence of those changes. BUG=96700 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=218572

Patch Set 1 #

Patch Set 2 : Fix Mac build #

Patch Set 3 : Fix windows compile #

Total comments: 19

Patch Set 4 : Add more attribute accessors #

Total comments: 16

Patch Set 5 : Address feedback, compile fixes #

Total comments: 3

Patch Set 6 : Win compile #

Patch Set 7 : Rebase, fix test failure #

Patch Set 8 : Fix Win & Android compile, fix Mac test #

Patch Set 9 : Fix Android compile again #

Patch Set 10 : Win compile again #

Patch Set 11 : Fix win test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+923 lines, -627 lines) Patch
M content/browser/accessibility/browser_accessibility.h View 1 2 3 6 chunks +67 lines, -64 lines 0 comments Download
M content/browser/accessibility/browser_accessibility.cc View 1 2 3 5 chunks +176 lines, -26 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_android.cc View 1 2 3 4 5 6 7 8 4 chunks +10 lines, -11 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_cocoa.mm View 1 2 3 4 5 6 7 25 chunks +103 lines, -127 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_gtk.h View 1 2 3 2 chunks +0 lines, -4 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_gtk.cc View 1 2 3 3 chunks +5 lines, -8 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_mac_unittest.mm View 1 1 chunk +2 lines, -3 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager.cc View 1 chunk +7 lines, -5 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_manager_unittest.cc View 6 chunks +20 lines, -20 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win.h View 1 2 3 chunks +7 lines, -1 line 0 comments Download
M content/browser/accessibility/browser_accessibility_win.cc View 1 2 3 4 5 37 chunks +140 lines, -98 lines 0 comments Download
M content/browser/accessibility/browser_accessibility_win_unittest.cc View 1 2 3 4 5 6 7 8 9 10 13 chunks +44 lines, -22 lines 0 comments Download
M content/browser/accessibility/cross_platform_accessibility_browsertest.cc View 1 2 3 4 12 chunks +65 lines, -45 lines 0 comments Download
M content/common/accessibility_messages.h View 2 chunks +3 lines, -7 lines 0 comments Download
M content/common/accessibility_node_data.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +41 lines, -18 lines 0 comments Download
M content/common/accessibility_node_data.cc View 1 6 chunks +65 lines, -43 lines 0 comments Download
M content/renderer/accessibility/accessibility_node_serializer.cc View 1 2 3 4 5 6 6 chunks +161 lines, -116 lines 0 comments Download
M content/renderer/accessibility/renderer_accessibility_complete.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M content/test/accessibility_browser_test_utils.cc View 1 chunk +5 lines, -7 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
dmazzoni
7 years, 4 months ago (2013-07-30 20:58:20 UTC) #1
aboxhall
First batch of comments. https://chromiumcodereview.appspot.com/21269002/diff/6001/content/browser/accessibility/browser_accessibility.cc File content/browser/accessibility/browser_accessibility.cc (right): https://chromiumcodereview.appspot.com/21269002/diff/6001/content/browser/accessibility/browser_accessibility.cc#newcode263 content/browser/accessibility/browser_accessibility.cc:263: std::string* value) const { Nit: ...
7 years, 4 months ago (2013-07-31 18:34:47 UTC) #2
dmazzoni
Ready for another look. https://codereview.chromium.org/21269002/diff/6001/content/browser/accessibility/browser_accessibility.cc File content/browser/accessibility/browser_accessibility.cc (right): https://codereview.chromium.org/21269002/diff/6001/content/browser/accessibility/browser_accessibility.cc#newcode263 content/browser/accessibility/browser_accessibility.cc:263: std::string* value) const { On ...
7 years, 4 months ago (2013-08-06 17:36:34 UTC) #3
aboxhall
https://codereview.chromium.org/21269002/diff/6001/content/browser/accessibility/browser_accessibility_win.cc File content/browser/accessibility/browser_accessibility_win.cc (left): https://codereview.chromium.org/21269002/diff/6001/content/browser/accessibility/browser_accessibility_win.cc#oldcode2786 content/browser/accessibility/browser_accessibility_win.cc:2786: if (ia2_role_ == IA2_ROLE_COLOR_CHOOSER) { I guess this was ...
7 years, 4 months ago (2013-08-07 17:16:08 UTC) #4
aboxhall
https://codereview.chromium.org/21269002/diff/20001/content/common/accessibility_node_data.h File content/common/accessibility_node_data.h (right): https://codereview.chromium.org/21269002/diff/20001/content/common/accessibility_node_data.h#newcode324 content/common/accessibility_node_data.h:324: std::vector<std::pair<StringAttribute, std::string> > string_attributes; I forgot to ask: how ...
7 years, 4 months ago (2013-08-07 17:31:40 UTC) #5
dmazzoni
https://codereview.chromium.org/21269002/diff/6001/content/browser/accessibility/browser_accessibility_win.cc File content/browser/accessibility/browser_accessibility_win.cc (left): https://codereview.chromium.org/21269002/diff/6001/content/browser/accessibility/browser_accessibility_win.cc#oldcode2786 content/browser/accessibility/browser_accessibility_win.cc:2786: if (ia2_role_ == IA2_ROLE_COLOR_CHOOSER) { On 2013/08/07 17:16:09, aboxhall ...
7 years, 4 months ago (2013-08-07 17:48:18 UTC) #6
aboxhall
https://codereview.chromium.org/21269002/diff/20001/content/browser/accessibility/browser_accessibility_win.cc File content/browser/accessibility/browser_accessibility_win.cc (right): https://codereview.chromium.org/21269002/diff/20001/content/browser/accessibility/browser_accessibility_win.cc#newcode3244 content/browser/accessibility/browser_accessibility_win.cc:3244: string16 html_tag = GetString16Attribute( On 2013/08/07 17:48:18, Dominic Mazzoni ...
7 years, 4 months ago (2013-08-07 20:22:05 UTC) #7
dmazzoni
https://codereview.chromium.org/21269002/diff/40001/content/common/accessibility_node_data.h File content/common/accessibility_node_data.h (right): https://codereview.chromium.org/21269002/diff/40001/content/common/accessibility_node_data.h#newcode312 content/common/accessibility_node_data.h:312: void SetName(std::string name); On 2013/08/07 20:22:06, aboxhall wrote: > ...
7 years, 4 months ago (2013-08-07 20:23:39 UTC) #8
aboxhall
LGTM from me. https://codereview.chromium.org/21269002/diff/40001/content/common/accessibility_node_data.h File content/common/accessibility_node_data.h (right): https://codereview.chromium.org/21269002/diff/40001/content/common/accessibility_node_data.h#newcode312 content/common/accessibility_node_data.h:312: void SetName(std::string name); On 2013/08/07 20:23:40, ...
7 years, 4 months ago (2013-08-07 20:25:17 UTC) #9
dmazzoni
+jschuh for accessibility_messages +phajdan.jr for content/test
7 years, 4 months ago (2013-08-18 22:06:55 UTC) #10
Paweł Hajdan Jr.
content/test LGTM
7 years, 4 months ago (2013-08-19 19:06:55 UTC) #11
dmazzoni
+tsepez for content/common/accessibility_messages.h
7 years, 4 months ago (2013-08-20 15:30:17 UTC) #12
Tom Sepez
On 2013/08/20 15:30:17, Dominic Mazzoni wrote: > +tsepez for content/common/accessibility_messages.h Messages LGTM.
7 years, 4 months ago (2013-08-20 16:29:21 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmazzoni@chromium.org/21269002/80001
7 years, 4 months ago (2013-08-20 16:34:33 UTC) #14
commit-bot: I haz the power
7 years, 4 months ago (2013-08-20 23:41:54 UTC) #15
Message was sent while issue was closed.
Change committed as 218572

Powered by Google App Engine
This is Rietveld 408576698