Chromium Code Reviews
DescriptionUpdate desktop tree when Aura windows are removed.
Since the Automation API utilizes wrapper objects (necessary as it keeps its own
id map and cache) and the tree structure contains views, widgets, windows, and a
fake desktop root, we were not tied to the same lifetime as the wrapped
objects. This cl makes it so we do the needed cleanup when windows and widgets
get removed.
In particular, we try to observe as early as possible every observer method that
causes a widget or window to be detached. We still need the additional methods
(Destroy*) because accessibility events might be fired between Destroying* and
Destroyed*.
The bug in ChromeVox where time gets scrapped from the desktop tree revealed the issue and required we update the client tree with a children changed event on the parent of a removed window. Other platforms do not have this problem because they talk to the browser process directly whereas ChromeVox talks to the desktop tree in its rendere extension process.
BUG=641734
TEST=AutomationApiTest and manual test with ChromeVox on status tray; verify views/widgets get detached from the desktop tree in js when the status tray is hidden
Additionally, other native windows update ChromeVox appropriately when closed. Ctrl+F find, blluetooth dialog, etc.
Committed: https://crrev.com/75025da30515c2abfa9ce587ca7b0aedaad7ea4e
Cr-Commit-Position: refs/heads/master@{#415871}
Patch Set 1 #
Total comments: 4
Patch Set 2 : Address feedback. #Patch Set 3 : Fix test. #
Messages
Total messages: 25 (17 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||