New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 672151 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Update bool WindowManager::OnWmSetBounds() to match with its desirable behavior.

Project Member Reported by thanhph@chromium.org, Dec 7 2016

Issue description

Function 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).
 
Description: Show this description
Owner: thanhph@chromium.org
Status: Assigned (was: Untriaged)
Description: Show this description
Description: Show this description
Description: Show this description
postpone till ui window client lib getting replaced by aura client lib.
Owner: fsam...@chromium.org
Taking ownership of this. I have an inflight CL.
Project Member

Comment 9 by bugdroid1@chromium.org, 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

Status: Fixed (was: Assigned)

Comment 11 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 13 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)
Components: -Internals>MUS Internals>Services>WindowService

Sign in to add a comment