OLD | NEW |
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/renderer/accessibility/renderer_accessibility_complete.h" | 5 #include "content/renderer/accessibility/renderer_accessibility_complete.h" |
6 | 6 |
7 #include <queue> | 7 #include <queue> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 continue; | 188 continue; |
189 | 189 |
190 // When we get a "selected children changed" event, Blink | 190 // When we get a "selected children changed" event, Blink |
191 // doesn't also send us events for each child that changed | 191 // doesn't also send us events for each child that changed |
192 // selection state, so make sure we re-send that whole subtree. | 192 // selection state, so make sure we re-send that whole subtree. |
193 if (event.event_type == | 193 if (event.event_type == |
194 ui::AX_EVENT_SELECTED_CHILDREN_CHANGED) { | 194 ui::AX_EVENT_SELECTED_CHILDREN_CHANGED) { |
195 serializer_.DeleteClientSubtree(obj); | 195 serializer_.DeleteClientSubtree(obj); |
196 } | 196 } |
197 | 197 |
198 // Allow Blink to cache intermediate results since we're doing a bunch | |
199 // of read-only queries at once. | |
200 obj.startCachingComputedObjectAttributesUntilTreeMutates(); | |
201 | |
202 AccessibilityHostMsg_EventParams event_msg; | 198 AccessibilityHostMsg_EventParams event_msg; |
203 event_msg.event_type = event.event_type; | 199 event_msg.event_type = event.event_type; |
204 event_msg.id = event.id; | 200 event_msg.id = event.id; |
205 serializer_.SerializeChanges(obj, &event_msg.update); | 201 serializer_.SerializeChanges(obj, &event_msg.update); |
206 event_msgs.push_back(event_msg); | 202 event_msgs.push_back(event_msg); |
207 | 203 |
208 #ifndef NDEBUG | 204 #ifndef NDEBUG |
209 VLOG(0) << "Accessibility update: \n" | 205 VLOG(0) << "Accessibility update: \n" |
210 << "routing id=" << routing_id() | 206 << "routing id=" << routing_id() |
211 << " event=" | 207 << " event=" |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
379 render_view()->GetWebView()->clearFocusedElement(); | 375 render_view()->GetWebView()->clearFocusedElement(); |
380 else | 376 else |
381 obj.setFocused(true); | 377 obj.setFocused(true); |
382 } | 378 } |
383 | 379 |
384 void RendererAccessibilityComplete::OnFatalError() { | 380 void RendererAccessibilityComplete::OnFatalError() { |
385 CHECK(false) << "Invalid accessibility tree."; | 381 CHECK(false) << "Invalid accessibility tree."; |
386 } | 382 } |
387 | 383 |
388 } // namespace content | 384 } // namespace content |
OLD | NEW |