New issue
Advanced search Search tips

Issue 903958 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Dec 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task



Sign in to add a comment

Introduce non-blocking version of RunMoveLoop

Project Member Reported by mukai@chromium.org, Nov 9

Issue description

On some platforms like ChromeOS, window-move is not blocking at all, but the API of views::Widget is blocking -- so a RunLoop is involved internally to achieve this mechanism.

This type of nested message loop potentially causes unexpected behaviors and causes weird errors.

Maybe we can just have a non-blocking version of this feature when the platform allows it. This can be beneficial to Mash, we could reuse the same window move for Mash window frame.
 
Labels: Proj-Mash-MultiProcess Proj-Mash-SingleProcess
The reason we went with a nested message loop is consistency with windows. If we offer two variants (one nested, one not) it means client code has to deal with both. This makes client code more complex than if it can assume the same implementation always.

I'm inclined not to do this.
Status: WontFix (was: Assigned)
As far as I checked, only Windows requires this blocking interface while other platforms use RunLoop to emulate the blocking. It may be worthwhile to provide an #ifdef.

Anyways, this is not an urgent task, let's discuss later when we have time.

Sign in to add a comment