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

Issue 68033003: Undocks window first before side-snapping bounds (Closed)

Created:
7 years, 1 month ago by varkha
Modified:
6 years, 10 months ago
Reviewers:
pkotwicz, oshima
CC:
chromium-reviews, kalyank, sadrul, ben+ash_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Undocks window first before side-snapping bounds. Side-snapped state is now maintained in order to properly deal with undocking into a side-snapped state. BUG=320119 TEST=ash_unittests --gtest_filter=WorkspaceWindowResizerTest.Edge TEST=ash_unittests --gtest_filter=AcceleratorControllerTest.WindowSnap TEST=ash_unittests --gtest_filter=*DockedWindowResizerTest.SideSnapDocked/* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=237809

Patch Set 1 #

Total comments: 10

Patch Set 2 : Undocks window first before side-snapping bounds (comments) #

Total comments: 1

Patch Set 3 : Undocks window first before side-snapping bounds (rebase) #

Total comments: 5

Patch Set 4 : Undocks window first before side-snapping bounds (comments) #

Patch Set 5 : Undocks window first before side-snapping bounds (corrected test) #

Patch Set 6 : Undocks window first before side-snapping bounds (rebase) #

Total comments: 6

Patch Set 7 : Undocks window first before side-snapping bounds (test) #

Patch Set 8 : Undocks window first before side-snapping bounds (comments) #

Patch Set 9 : Undocks window first before side-snapping bounds (comments) #

Total comments: 14

Patch Set 10 : Undocks window first before side-snapping bounds (comments) #

Total comments: 24

Patch Set 11 : Undocks window first before side-snapping bounds (nit) #

Total comments: 12

Patch Set 12 : Undocks window first before side-snapping bounds (more comments) #

Total comments: 16

Patch Set 13 : Undocks window first before side-snapping bounds (nits) #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+218 lines, -68 lines) Patch
M ash/accelerators/accelerator_controller_unittest.cc View 1 2 3 4 5 6 2 chunks +3 lines, -1 line 0 comments Download
M ash/wm/caption_buttons/frame_maximize_button.cc View 1 2 3 4 5 6 1 chunk +0 lines, -6 lines 0 comments Download
M ash/wm/dock/docked_window_layout_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +6 lines, -5 lines 0 comments Download
M ash/wm/dock/docked_window_resizer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 24 chunks +79 lines, -22 lines 0 comments Download
M ash/wm/window_state.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M ash/wm/window_state.cc View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +38 lines, -15 lines 0 comments Download
M ash/wm/workspace/workspace_layout_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +7 lines, -0 lines 0 comments Download
M ash/wm/workspace/workspace_layout_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +67 lines, -14 lines 6 comments Download
M ash/wm/workspace/workspace_window_resizer.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -0 lines 0 comments Download
M ash/wm/workspace/workspace_window_resizer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +13 lines, -5 lines 0 comments Download

Messages

Total messages: 35 (0 generated)
varkha
pkotwicz@, could you please take a look. I pre-notify the layout manager about imminent ash ...
7 years, 1 month ago (2013-11-16 01:29:09 UTC) #1
pkotwicz
https://codereview.chromium.org/68033003/diff/1/ash/wm/dock/docked_window_layout_manager.cc File ash/wm/dock/docked_window_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/1/ash/wm/dock/docked_window_layout_manager.cc#newcode568 ash/wm/dock/docked_window_layout_manager.cc:568: } else if (window_state->IsMaximizedOrFullscreen() || How about: } else ...
7 years, 1 month ago (2013-11-18 16:25:20 UTC) #2
oshima
https://codereview.chromium.org/68033003/diff/1/ash/wm/dock/docked_window_layout_manager.cc File ash/wm/dock/docked_window_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/1/ash/wm/dock/docked_window_layout_manager.cc#newcode568 ash/wm/dock/docked_window_layout_manager.cc:568: } else if (window_state->IsMaximizedOrFullscreen() || On 2013/11/18 16:25:20, pkotwicz ...
7 years, 1 month ago (2013-11-18 18:44:44 UTC) #3
varkha
PTAL. I have now implemented preservation for the snapped state when insets change or screen ...
7 years, 1 month ago (2013-11-20 00:11:12 UTC) #4
pkotwicz
https://codereview.chromium.org/68033003/diff/210001/ash/accelerators/accelerator_controller.cc File ash/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/68033003/diff/210001/ash/accelerators/accelerator_controller.cc#newcode873 ash/accelerators/accelerator_controller.cc:873: // Centering a window does not maintain state and ...
7 years, 1 month ago (2013-11-21 17:26:14 UTC) #5
varkha
PTAL. https://codereview.chromium.org/68033003/diff/210001/ash/accelerators/accelerator_controller.cc File ash/accelerators/accelerator_controller.cc (right): https://codereview.chromium.org/68033003/diff/210001/ash/accelerators/accelerator_controller.cc#newcode873 ash/accelerators/accelerator_controller.cc:873: // Centering a window does not maintain state ...
7 years, 1 month ago (2013-11-21 22:47:27 UTC) #6
oshima
On 2013/11/21 22:47:27, varkha wrote: > PTAL. Let me know if you want me to ...
7 years ago (2013-11-25 18:50:24 UTC) #7
varkha
> Let me know if you want me to review now, or want to wait ...
7 years ago (2013-11-25 19:18:58 UTC) #8
varkha
pkotwicz@, can you please look into it again? I have tried the approach with having ...
7 years ago (2013-11-25 20:34:24 UTC) #9
oshima
one high level q before going to more details. https://codereview.chromium.org/68033003/diff/480001/ash/wm/window_state.cc File ash/wm/window_state.cc (right): https://codereview.chromium.org/68033003/diff/480001/ash/wm/window_state.cc#newcode252 ash/wm/window_state.cc:252: ...
7 years ago (2013-11-25 23:20:40 UTC) #10
pkotwicz
I am looking at the CL. I still think that it is possible to set ...
7 years ago (2013-11-25 23:43:48 UTC) #11
varkha
On 2013/11/25 23:43:48, pkotwicz wrote: > I am looking at the CL. I still think ...
7 years ago (2013-11-25 23:50:21 UTC) #12
oshima
On 2013/11/25 23:50:21, varkha wrote: > On 2013/11/25 23:43:48, pkotwicz wrote: > > I am ...
7 years ago (2013-11-26 01:02:15 UTC) #13
varkha
I have also added a test to check that snapping out of dock works. I ...
7 years ago (2013-11-26 22:16:58 UTC) #14
oshima
lgtm
7 years ago (2013-11-27 00:39:06 UTC) #15
pkotwicz
varkha@ and I have discussed a number of things which I think could be improved ...
7 years ago (2013-11-27 00:57:46 UTC) #16
varkha
Thanks, please take a look. I think the modified test in https://codereview.chromium.org/68033003/diff/640001/ash/accelerators/accelerator_controller_unittest.cc is doing the ...
7 years ago (2013-11-27 04:27:43 UTC) #17
varkha
I have reverted the changes that were related to getting set_bounds_changed_by_user also clear snapped state. ...
7 years ago (2013-11-27 05:26:04 UTC) #18
pkotwicz
I will continue to review tomorrow. Here is what I have so far https://codereview.chromium.org/68033003/diff/660001/ash/wm/window_state.cc File ...
7 years ago (2013-11-27 06:21:57 UTC) #19
varkha
https://codereview.chromium.org/68033003/diff/660001/ash/wm/window_state.cc File ash/wm/window_state.cc (right): https://codereview.chromium.org/68033003/diff/660001/ash/wm/window_state.cc#newcode167 ash/wm/window_state.cc:167: SetWindowShowTypeUnsnapped(); On 2013/11/27 06:21:57, pkotwicz wrote: > Nit: SetWindowShowTypeUnsapped() ...
7 years ago (2013-11-27 06:38:54 UTC) #20
oshima
lgtm https://codereview.chromium.org/68033003/diff/720001/ash/wm/window_state.cc File ash/wm/window_state.cc (right): https://codereview.chromium.org/68033003/diff/720001/ash/wm/window_state.cc#newcode168 ash/wm/window_state.cc:168: window_show_type_ = SHOW_TYPE_NORMAL; can you add comment why ...
7 years ago (2013-11-27 18:28:14 UTC) #21
varkha
https://codereview.chromium.org/68033003/diff/720001/ash/wm/window_state.cc File ash/wm/window_state.cc (right): https://codereview.chromium.org/68033003/diff/720001/ash/wm/window_state.cc#newcode168 ash/wm/window_state.cc:168: window_show_type_ = SHOW_TYPE_NORMAL; On 2013/11/27 18:28:14, oshima wrote: > ...
7 years ago (2013-11-27 19:07:31 UTC) #22
pkotwicz
Looks good! https://codereview.chromium.org/68033003/diff/720001/ash/wm/dock/docked_window_layout_manager.cc File ash/wm/dock/docked_window_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/720001/ash/wm/dock/docked_window_layout_manager.cc#newcode104 ash/wm/dock/docked_window_layout_manager.cc:104: wm::WindowState* window_state = wm::GetWindowState(window); Can we nuke ...
7 years ago (2013-11-27 20:24:42 UTC) #23
varkha
Thanks again, PTAL. https://codereview.chromium.org/68033003/diff/720001/ash/wm/dock/docked_window_layout_manager.cc File ash/wm/dock/docked_window_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/720001/ash/wm/dock/docked_window_layout_manager.cc#newcode104 ash/wm/dock/docked_window_layout_manager.cc:104: wm::WindowState* window_state = wm::GetWindowState(window); On 2013/11/27 ...
7 years ago (2013-11-28 01:09:36 UTC) #24
pkotwicz
LGTM with nits https://codereview.chromium.org/68033003/diff/760001/ash/wm/dock/docked_window_resizer_unittest.cc File ash/wm/dock/docked_window_resizer_unittest.cc (right): https://codereview.chromium.org/68033003/diff/760001/ash/wm/dock/docked_window_resizer_unittest.cc#newcode1330 ash/wm/dock/docked_window_resizer_unittest.cc:1330: EXPECT_EQ(ScreenAsh::GetDisplayWorkAreaBoundsInParent(w1.get()).height(), Nit: You could probably cache ...
7 years ago (2013-11-28 06:15:09 UTC) #25
varkha
https://codereview.chromium.org/68033003/diff/760001/ash/wm/dock/docked_window_resizer_unittest.cc File ash/wm/dock/docked_window_resizer_unittest.cc (right): https://codereview.chromium.org/68033003/diff/760001/ash/wm/dock/docked_window_resizer_unittest.cc#newcode1330 ash/wm/dock/docked_window_resizer_unittest.cc:1330: EXPECT_EQ(ScreenAsh::GetDisplayWorkAreaBoundsInParent(w1.get()).height(), On 2013/11/28 06:15:10, pkotwicz wrote: > Nit: You ...
7 years ago (2013-11-28 15:39:39 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/varkha@chromium.org/68033003/910001
7 years ago (2013-11-28 15:40:09 UTC) #27
commit-bot: I haz the power
Change committed as 237809
7 years ago (2013-11-28 17:44:35 UTC) #28
oshima
https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc File ash/wm/workspace/workspace_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc#newcode261 ash/wm/workspace/workspace_layout_manager.cc:261: AdjustSnappedBounds(window_state, &bounds); varkha@, sorry to ask you about old ...
6 years, 10 months ago (2014-02-12 01:43:41 UTC) #29
varkha
https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc File ash/wm/workspace/workspace_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc#newcode261 ash/wm/workspace/workspace_layout_manager.cc:261: AdjustSnappedBounds(window_state, &bounds); On 2014/02/12 01:43:41, oshima wrote: > varkha@, ...
6 years, 10 months ago (2014-02-12 02:27:28 UTC) #30
pkotwicz
https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc File ash/wm/workspace/workspace_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc#newcode261 ash/wm/workspace/workspace_layout_manager.cc:261: AdjustSnappedBounds(window_state, &bounds); I just checked. AdjustSnappedBounds() is similar to ...
6 years, 10 months ago (2014-02-12 03:14:51 UTC) #31
oshima
https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc File ash/wm/workspace/workspace_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc#newcode135 ash/wm/workspace/workspace_layout_manager.cc:135: AdjustSnappedBounds(window_state, &child_bounds); This is the one I had a ...
6 years, 10 months ago (2014-02-12 17:55:03 UTC) #32
pkotwicz
https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc File ash/wm/workspace/workspace_layout_manager.cc (right): https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspace_layout_manager.cc#newcode135 ash/wm/workspace/workspace_layout_manager.cc:135: AdjustSnappedBounds(window_state, &child_bounds); AdjustSnappedBounds() is needed to prevent v2 apps ...
6 years, 10 months ago (2014-02-12 21:15:21 UTC) #33
pkotwicz
6 years, 10 months ago (2014-02-12 21:15:24 UTC) #34
oshima
6 years, 10 months ago (2014-02-12 21:26:07 UTC) #35
Message was sent while issue was closed.
On 2014/02/12 21:15:21, pkotwicz wrote:
>
https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspa...
> File ash/wm/workspace/workspace_layout_manager.cc (right):
> 
>
https://codereview.chromium.org/68033003/diff/910001/ash/wm/workspace/workspa...
> ash/wm/workspace/workspace_layout_manager.cc:135:
> AdjustSnappedBounds(window_state, &child_bounds);
> AdjustSnappedBounds() is needed to prevent v2 apps from moving themselves via
> Javascript to an arbitrary position on screen when the app is snapped

Thanks. I'll add test (there is similar issue with docked state. just fyi).

Powered by Google App Engine
This is Rietveld 408576698