AXTreeSerializer destroys siblings (and their subtrees) of reparented nodes client side |
|||||||||||||
Issue descriptionUsing this bug to track issues caused by the aggressive node / subtree destruction by AXTreeSerializer
,
Aug 31 2016
,
Aug 31 2016
,
Sep 6 2016
,
Sep 6 2016
,
Sep 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5a7b3d983322a039f87553ae936b37984f81efcb commit 5a7b3d983322a039f87553ae936b37984f81efcb Author: dtseng <dtseng@chromium.org> Date: Thu Sep 08 06:35:58 2016 Track all changed nodes during an update While deserializing, make a note of all changed nodes via id before performing any tree changes/removals. While removing (non-atomically), reference the changed list to ensure we notify delegates of nodes that will actually be deleted and not just deleted then re-created as part of bookkeeping to enforce the "non-reparenting" invariant inside of AXTree::CreateChildVector. BUG= 642799 TEST=for each of the reproductions in the bug, ensure the automation api (as a client) does not destroy then re-create js objects; rather, ensure it re-uses them for reparented trees. Review-Url: https://codereview.chromium.org/2080573003 Cr-Commit-Position: refs/heads/master@{#417207} [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/chrome/renderer/extensions/automation_internal_custom_bindings.cc [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/chrome/renderer/extensions/automation_internal_custom_bindings.h [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/content/browser/accessibility/browser_accessibility_manager.cc [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/content/browser/accessibility/browser_accessibility_manager.h [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/ui/accessibility/ax_tree.cc [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/ui/accessibility/ax_tree.h [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/ui/accessibility/ax_tree_unittest.cc [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/ui/accessibility/platform/test_ax_node_wrapper.cc
,
Sep 8 2016
,
Sep 8 2016
,
Sep 8 2016
,
Sep 8 2016
,
Sep 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5a7b3d983322a039f87553ae936b37984f81efcb commit 5a7b3d983322a039f87553ae936b37984f81efcb Author: dtseng <dtseng@chromium.org> Date: Thu Sep 08 06:35:58 2016 Track all changed nodes during an update While deserializing, make a note of all changed nodes via id before performing any tree changes/removals. While removing (non-atomically), reference the changed list to ensure we notify delegates of nodes that will actually be deleted and not just deleted then re-created as part of bookkeeping to enforce the "non-reparenting" invariant inside of AXTree::CreateChildVector. BUG= 642799 TEST=for each of the reproductions in the bug, ensure the automation api (as a client) does not destroy then re-create js objects; rather, ensure it re-uses them for reparented trees. Review-Url: https://codereview.chromium.org/2080573003 Cr-Commit-Position: refs/heads/master@{#417207} [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/chrome/renderer/extensions/automation_internal_custom_bindings.cc [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/chrome/renderer/extensions/automation_internal_custom_bindings.h [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/content/browser/accessibility/browser_accessibility_manager.cc [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/content/browser/accessibility/browser_accessibility_manager.h [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/ui/accessibility/ax_tree.cc [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/ui/accessibility/ax_tree.h [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/ui/accessibility/ax_tree_unittest.cc [modify] https://crrev.com/5a7b3d983322a039f87553ae936b37984f81efcb/ui/accessibility/platform/test_ax_node_wrapper.cc
,
Sep 9 2016
,
Sep 9 2016
,
Oct 31 2016
|
|||||||||||||
►
Sign in to add a comment |
|||||||||||||
Comment 1 by dtseng@chromium.org
, Aug 31 2016