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

Issue 115453004: Moves management of transients out of Window (Closed)

Created:
7 years ago by sky
Modified:
6 years, 11 months ago
CC:
chromium-reviews, extensions-reviews_chromium.org, sadrul, tfarina, ben+aura_chromium.org, dcheng, ben+corewm_chromium.org, chromium-apps-reviews_chromium.org, kalyank, ben+views_chromium.org, ben+ash_chromium.org
Visibility:
Public.

Description

Moves management of transients out of Window And into TransientWindowManager. Additionally moves handling of NULL layer stacking into TransientStackingWindowClient. The tests that were exercising these code paths have all been moved to ui/views/corewm. Also wires up TransientStackingWindowClient in a couple of places that didn't have it. The order of removing from transient parent as well as destroying of transient children is slightly differently than before. To get the order exactly as it was would require some new specific observer functions. I'm hoping we don't need those. Hopefully this doesn't cause issues, if it does I'll revisit. I ended up exposing convenience functions. That's because typing something like: views::corewm::TransientWindowManager::Get(window)->AddTransientChild() was too much for me. There is also some subtlety in so far as the Get() function that takes a const Window* may return NULL, where as non-const never returns NULL. Lastly I had to make Window friend TransientWindowManager. This is temporary until I create a specific TransientWindowManagerObserver that contains the two transient related observer functions in WindowObserver. BUG=none TEST=none R=ben@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=243368

Patch Set 1 #

Patch Set 2 : fix view_event_test_base #

Patch Set 3 : fix tooltip test #

Patch Set 4 : fix notification test #

Patch Set 5 : views:: #

Patch Set 6 : more test cleanup #

Patch Set 7 : fix MRUWindowTracker and MultiProfileMultiBrowserShelfLayoutChromeLauncherControllerTest #

Total comments: 7

Patch Set 8 : merge 2 trunk #

Patch Set 9 : merge to trunk and integrate with WMState #

Patch Set 10 : merge to trunk and integrate with WMState #

Patch Set 11 : add null checks for test #

Patch Set 12 : merge 2 trunk #

Patch Set 13 : fix easy_resize_window_targeter #

Patch Set 14 : remove unneeded parens #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1356 lines, -677 lines) Patch
M ash/display/screen_position_controller.cc View 1 2 3 4 5 6 7 8 3 chunks +4 lines, -2 lines 0 comments Download
M ash/root_window_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -1 line 0 comments Download
M ash/wm/dock/docked_window_layout_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -1 line 0 comments Download
M ash/wm/dock/docked_window_resizer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +6 lines, -5 lines 0 comments Download
M ash/wm/drag_window_resizer.cc View 1 2 3 4 5 6 7 8 3 chunks +5 lines, -4 lines 0 comments Download
M ash/wm/drag_window_resizer_unittest.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M ash/wm/immersive_fullscreen_controller.cc View 1 2 3 4 5 6 7 8 4 chunks +6 lines, -4 lines 0 comments Download
M ash/wm/mru_window_tracker.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M ash/wm/mru_window_tracker.cc View 1 2 3 4 5 6 1 chunk +4 lines, -1 line 0 comments Download
M ash/wm/overview/scoped_transform_overview_window.cc View 1 2 3 4 5 6 7 8 4 chunks +6 lines, -4 lines 0 comments Download
M ash/wm/overview/window_selector.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M ash/wm/overview/window_selector_unittest.cc View 1 2 3 4 5 6 7 8 4 chunks +4 lines, -3 lines 0 comments Download
M ash/wm/panels/panel_window_resizer_unittest.cc View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -2 lines 0 comments Download
M ash/wm/stacking_controller.cc View 1 2 3 4 5 6 7 8 5 chunks +12 lines, -8 lines 0 comments Download
M ash/wm/stacking_controller_unittest.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M ash/wm/system_modal_container_layout_manager_unittest.cc View 1 2 3 4 5 6 7 8 6 chunks +6 lines, -5 lines 0 comments Download
M ash/wm/window_modality_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 chunks +12 lines, -11 lines 0 comments Download
M ash/wm/window_state.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M ash/wm/window_util.cc View 1 2 3 4 5 6 7 8 1 chunk +7 lines, -4 lines 0 comments Download
M ash/wm/workspace/workspace_layout_manager_unittest.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M ash/wm/workspace/workspace_window_resizer.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M ash/wm/workspace_controller_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +4 lines, -2 lines 0 comments Download
M chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.cc View 1 2 3 4 5 6 7 8 5 chunks +9 lines, -8 lines 0 comments Download
M chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos_unittest.cc View 1 2 3 4 5 6 7 8 3 chunks +15 lines, -14 lines 0 comments Download
M chrome/browser/ui/views/extensions/extension_popup.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
M content/browser/renderer_host/render_widget_host_view_aura.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +12 lines, -2 lines 0 comments Download
M ui/aura/aura.gyp View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
A ui/aura/client/transient_window_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +47 lines, -0 lines 0 comments Download
A ui/aura/client/transient_window_client.cc View 1 2 3 4 5 6 7 8 9 1 chunk +25 lines, -0 lines 0 comments Download
M ui/aura/test/aura_test_base.h View 1 chunk +0 lines, -3 lines 0 comments Download
M ui/aura/test/aura_test_base.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -10 lines 0 comments Download
M ui/aura/window.h View 1 2 3 4 5 6 7 8 5 chunks +10 lines, -37 lines 0 comments Download
M ui/aura/window.cc View 1 2 3 4 5 6 7 8 7 chunks +2 lines, -108 lines 0 comments Download
M ui/aura/window_unittest.cc View 1 2 3 4 5 6 7 8 5 chunks +0 lines, -374 lines 0 comments Download
M ui/oak/oak_aura_window_display.cc View 1 2 3 4 5 6 7 8 2 chunks +5 lines, -3 lines 0 comments Download
M ui/views/corewm/base_focus_rules.cc View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -3 lines 0 comments Download
M ui/views/corewm/focus_controller.cc View 1 2 3 4 5 6 7 8 3 chunks +4 lines, -3 lines 0 comments Download
M ui/views/corewm/shadow_controller.cc View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -3 lines 0 comments Download
M ui/views/corewm/shadow_controller_unittest.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -1 line 0 comments Download
A ui/views/corewm/transient_window_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +38 lines, -0 lines 0 comments Download
A ui/views/corewm/transient_window_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +42 lines, -0 lines 0 comments Download
A ui/views/corewm/transient_window_manager.h View 1 2 3 4 5 6 7 8 9 1 chunk +96 lines, -0 lines 0 comments Download
A ui/views/corewm/transient_window_manager.cc View 1 2 3 4 5 6 7 8 9 1 chunk +147 lines, -0 lines 0 comments Download
A ui/views/corewm/transient_window_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +577 lines, -0 lines 0 comments Download
M ui/views/corewm/transient_window_stacking_client.h View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download
M ui/views/corewm/transient_window_stacking_client.cc View 1 2 3 4 5 6 7 8 4 chunks +47 lines, -9 lines 0 comments Download
M ui/views/corewm/transient_window_stacking_client_unittest.cc View 1 2 3 4 5 6 7 8 4 chunks +52 lines, -12 lines 0 comments Download
M ui/views/corewm/window_modality_controller.cc View 1 2 3 4 5 6 7 8 3 chunks +8 lines, -8 lines 0 comments Download
M ui/views/corewm/window_util.h View 1 2 3 4 5 6 7 8 2 chunks +18 lines, -0 lines 0 comments Download
M ui/views/corewm/window_util.cc View 1 2 3 4 5 6 7 8 2 chunks +38 lines, -0 lines 0 comments Download
M ui/views/corewm/wm_state.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download
M ui/views/corewm/wm_state.cc View 1 2 3 4 5 6 7 8 9 1 chunk +9 lines, -1 line 0 comments Download
M ui/views/views.gyp View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -0 lines 0 comments Download
M ui/views/widget/desktop_aura/desktop_root_window_host_x11.cc View 1 2 3 4 5 6 7 8 3 chunks +6 lines, -4 lines 0 comments Download
M ui/views/widget/native_widget_aura.cc View 1 2 3 4 5 6 7 8 9 4 chunks +6 lines, -5 lines 0 comments Download
M ui/wm/core/easy_resize_window_targeter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +16 lines, -4 lines 0 comments Download
M ui/wm/public/easy_resize_window_targeter.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
sky
7 years ago (2013-12-13 22:02:34 UTC) #1
Ben Goodger (Google)
https://codereview.chromium.org/115453004/diff/120001/ui/aura/window.h File ui/aura/window.h (right): https://codereview.chromium.org/115453004/diff/120001/ui/aura/window.h#newcode377 ui/aura/window.h:377: friend class views::corewm::TransientWindowManager; What's this used for? https://codereview.chromium.org/115453004/diff/120001/ui/views/corewm/transient_window_manager.h File ...
7 years ago (2013-12-18 00:32:37 UTC) #2
sky
https://codereview.chromium.org/115453004/diff/120001/ui/aura/window.h File ui/aura/window.h (right): https://codereview.chromium.org/115453004/diff/120001/ui/aura/window.h#newcode377 ui/aura/window.h:377: friend class views::corewm::TransientWindowManager; On 2013/12/18 00:32:38, Ben Goodger (Google) ...
6 years, 11 months ago (2014-01-06 18:42:47 UTC) #3
Ben Goodger (Google)
nah what you have is fine. lgtm.
6 years, 11 months ago (2014-01-06 20:44:34 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sky@chromium.org/115453004/420001
6 years, 11 months ago (2014-01-06 20:51:54 UTC) #5
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) nacl_integration http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=242139
6 years, 11 months ago (2014-01-07 01:11:34 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sky@chromium.org/115453004/500002
6 years, 11 months ago (2014-01-07 17:04:26 UTC) #7
commit-bot: I haz the power
6 years, 11 months ago (2014-01-07 19:53:01 UTC) #8
Message was sent while issue was closed.
Change committed as 243368

Powered by Google App Engine
This is Rietveld 408576698