Update bool WindowManager::OnWmSetBounds() to match with its desirable behavior. |
||||||||||||
Issue descriptionFunction WindowManagerDelegate::OnWmSetBounds should have no return value, take a const gfx::Rect& bounds and let the client set whatever bounds it wants on the window. WindowTreeClient::WmSetBounds would call WmResponse with false always. Doing this means the WindowManagerDelegate can set whatever bounds it wants, and by supplying false to WmResponse we ensure the client fallsback to the most recent value from the server, which is either the original bounds (if the delegate didn't change anything) or the bounds the delegate changed the window too (which may be the supplied bounds).
,
Dec 7 2016
,
Dec 7 2016
,
Dec 7 2016
,
Dec 7 2016
,
Dec 7 2016
,
Dec 8 2016
postpone till ui window client lib getting replaced by aura client lib.
,
Mar 27 2017
Taking ownership of this. I have an inflight CL.
,
Mar 27 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/69875b5a5f926383fe0e2d476bf6c42c30b8b741 commit 69875b5a5f926383fe0e2d476bf6c42c30b8b741 Author: fsamuel <fsamuel@chromium.org> Date: Mon Mar 27 23:15:19 2017 Simplify WindowManager::OnWmSetBounds If a top level window requests a change in bounds, that request will get plumbed into the window manager. At that point, the window manager can veto the bounds change. This change simplifies the control flow about by having the window manager always responding "no" (false) to the client while also setting the window bounds itself based on the request. By giving a response of false to the client, it will revert the currently pending InFlightBoundsChange. If the bounds change initiated by the window manager arrives first to the client, then the inflight change's revert will be updated, and when the negative response arrives, it's a noop. BUG= 672151 Review-Url: https://codereview.chromium.org/2778823002 Cr-Commit-Position: refs/heads/master@{#459928} [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/ash/mus/window_manager.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/ash/mus/window_manager.h [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/mash/simple_wm/simple_wm.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/mash/simple_wm/simple_wm.h [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/demo/mus_demo_internal.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/demo/mus_demo_internal.h [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/public/interfaces/window_manager.mojom [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/test_wm/test_wm.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/ws/window_manager_client_unittest.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/ws/window_server_test_base.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/ws/window_server_test_base.h [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/ws/window_tree.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/services/ui/ws/window_tree.h [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/ui/aura/mus/window_manager_delegate.h [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/ui/aura/mus/window_tree_client.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/ui/aura/test/aura_test_base.cc [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/ui/aura/test/aura_test_base.h [modify] https://crrev.com/69875b5a5f926383fe0e2d476bf6c42c30b8b741/ui/views/mus/drag_interactive_uitest.cc
,
Mar 28 2017
,
May 30 2017
,
Aug 1 2017
,
Jan 22 2018
,
Feb 26 2018
|
||||||||||||
►
Sign in to add a comment |
||||||||||||
Comment 1 by thanhph@chromium.org
, Dec 7 2016