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

Issue 2295183003: Update desktop tree when Aura windows are removed. (Closed)

Created:
4 years, 3 months ago by David Tseng
Modified:
4 years, 3 months ago
Reviewers:
dmazzoni
CC:
aboxhall+watch_chromium.org, chromium-reviews, dmazzoni+watch_chromium.org, dtseng+watch_chromium.org, je_julie, kalyank, nektar+watch_chromium.org, sadrul, tfarina, yuzo+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Update 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. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+68 lines, -16 lines) Patch
M chrome/browser/ui/aura/accessibility/automation_manager_aura.h View 3 chunks +6 lines, -1 line 0 comments Download
M chrome/browser/ui/aura/accessibility/automation_manager_aura.cc View 1 5 chunks +22 lines, -10 lines 0 comments Download
M ui/views/accessibility/ax_aura_obj_cache.h View 1 2 4 chunks +13 lines, -1 line 0 comments Download
M ui/views/accessibility/ax_aura_obj_cache.cc View 1 2 2 chunks +7 lines, -3 lines 0 comments Download
M ui/views/accessibility/ax_widget_obj_wrapper.h View 1 chunk +1 line, -0 lines 0 comments Download
M ui/views/accessibility/ax_widget_obj_wrapper.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M ui/views/accessibility/ax_window_obj_wrapper.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M ui/views/accessibility/ax_window_obj_wrapper.cc View 1 2 1 chunk +13 lines, -1 line 0 comments Download

Messages

Total messages: 25 (17 generated)
David Tseng
4 years, 3 months ago (2016-08-31 15:21:29 UTC) #5
dmazzoni
lgtm, just some suggestions for readability https://codereview.chromium.org/2295183003/diff/1/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc File chrome/browser/ui/aura/accessibility/automation_manager_aura.cc (right): https://codereview.chromium.org/2295183003/diff/1/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc#newcode131 chrome/browser/ui/aura/accessibility/automation_manager_aura.cc:131: context = g_browser_process->profile_manager()->GetLastUsedProfile(); ...
4 years, 3 months ago (2016-08-31 16:33:50 UTC) #9
David Tseng
https://codereview.chromium.org/2295183003/diff/1/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc File chrome/browser/ui/aura/accessibility/automation_manager_aura.cc (right): https://codereview.chromium.org/2295183003/diff/1/chrome/browser/ui/aura/accessibility/automation_manager_aura.cc#newcode131 chrome/browser/ui/aura/accessibility/automation_manager_aura.cc:131: context = g_browser_process->profile_manager()->GetLastUsedProfile(); On 2016/08/31 16:33:50, dmazzoni wrote: > ...
4 years, 3 months ago (2016-08-31 21:06:42 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2295183003/40001
4 years, 3 months ago (2016-08-31 23:15:54 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/249618)
4 years, 3 months ago (2016-09-01 00:22:19 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2295183003/40001
4 years, 3 months ago (2016-09-01 02:51:48 UTC) #21
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 3 months ago (2016-09-01 03:21:33 UTC) #23
commit-bot: I haz the power
4 years, 3 months ago (2016-09-01 03:23:38 UTC) #25
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/75025da30515c2abfa9ce587ca7b0aedaad7ea4e
Cr-Commit-Position: refs/heads/master@{#415871}

Powered by Google App Engine
This is Rietveld 408576698