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

Issue 827736 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

It should not be possible to resize Linux windows to 0x0

Project Member Reported by tbuck...@chromium.org, Mar 31 2018

Issue description

Chrome version: 67.0.3381.0 dev
OS: Chrome

Repro steps:
1. Open VS Code
2. Drag corner of window to resize it as small as possible

Expected: Window has some reasonable minimum size (eg. 50px x 50px)
Actual: Window can be resized to 0x0!

 
Cc: reve...@chromium.org
Owner: tbuck...@chromium.org
Does the app set a minimum size? what's the output of 'xprop' and clicking on the VS Code window?
Owner: reve...@chromium.org
Output of xprop:

WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 64, 0
_NET_WM_USER_TIME(CARDINAL) = 241463781
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                program specified location: 98, 103
                program specified minimum size: 340 by 204
_NET_WM_ICON(CARDINAL) = 
_NET_WM_STATE(ATOM) = 
WM_NAME(UTF8_STRING) = "Welcome - tbuckley - Visual Studio Code"
_NET_WM_NAME(UTF8_STRING) = "Welcome - tbuckley - Visual Studio Code"
XdndAware(ATOM) = BITMAP
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x1, 0x0, 0x0
WM_WINDOW_ROLE(STRING) = "browser-window"
WM_CLASS(STRING) = "code", "Code"
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_PID(CARDINAL) = 13914
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "penguin"
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, _NET_WM_PING
This is easy to fix. I'll take care of it asap.
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/effe17fd3e84c71f5d012a21e7c9d84eb00abf2b

commit effe17fd3e84c71f5d012a21e7c9d84eb00abf2b
Author: David Reveman <reveman@chromium.org>
Date: Tue Apr 24 15:09:01 2018

exo: Handle minimum size correctly when shell surface has a frame.

Widget::GetMinimumSize should return the size including the window
frame. Remove ShellSurfaceWidget override of this function in order
to have the frame view calculate this correctly.

Bug:  827736 
Test: exo_unittest --gtest_filter=ShellSurface.SetMinimumSize
Change-Id: I25b59f1e2273364a5579e273b952c15590c744d0
Reviewed-on: https://chromium-review.googlesource.com/1024821
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553114}
[modify] https://crrev.com/effe17fd3e84c71f5d012a21e7c9d84eb00abf2b/components/exo/shell_surface_base.cc
[modify] https://crrev.com/effe17fd3e84c71f5d012a21e7c9d84eb00abf2b/components/exo/shell_surface_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/cad9615a2a37b316605f68f152d14c79b9d22c6b

commit cad9615a2a37b316605f68f152d14c79b9d22c6b
Author: David Reveman <reveman@chromium.org>
Date: Wed Apr 25 21:40:41 2018

vm_tools: add support for dynamic changes to motif hints and max/min size

Some clients change these properties after having requesting that
window should be mapped. Detect these changes and update window
state accordingly.

BUG= chromium:827736 
TEST=run VS Code and notice that minimum size is respected

Change-Id: I1a698b11944104d2740246e4b3a8cf7173f73c9a
Reviewed-on: https://chromium-review.googlesource.com/1025066
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>

[modify] https://crrev.com/cad9615a2a37b316605f68f152d14c79b9d22c6b/vm_tools/sommelier/sommelier.c

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/6919ba9e2aa7ddcb0e5c477105905e4549f58f67

commit 6919ba9e2aa7ddcb0e5c477105905e4549f58f67
Author: David Reveman <reveman@chromium.org>
Date: Wed Apr 25 21:40:41 2018

vm_tools: add initial support for max/min size to sommelier.

Start respecting P_MIN_SIZE and P_MAX_SIZE hints when mapping
windows.

Note that some applications (like VS Code) set this after mapping the
window. We still fail to respect this property for those windows.

BUG= chromium:827736 
TEST=gtk2 applications can't be resized to 1x1 and dialogs are not resizable

Change-Id: I243834d7ea0f6a1812f9c36b47d96458cc126ed5
Reviewed-on: https://chromium-review.googlesource.com/1025632
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>

[modify] https://crrev.com/6919ba9e2aa7ddcb0e5c477105905e4549f58f67/vm_tools/sommelier/sommelier.c

Status: Fixed (was: Assigned)
Components: OS>Systems>Containers

Comment 9 by vapier@chromium.org, May 17 2018

Labels: -Restrict-View-Google

Sign in to add a comment