New issue
Advanced search Search tips

Issue 590957 link

Starred by 1 user

Issue metadata

Status: Archived
Owner: ----
Closed: Aug 22
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Aura: Transient child window can be made visible when its parent isn't

Project Member Reported by patricia...@chromium.org, Mar 1 2016

Issue description

transient_window_manager.h says

"// . If a transient parent is hidden, it hides all transient children."

but this rule isn't applied when attempting to show a transient child widget (i.e. a hidden parent doesn't prevent it being shown)."

Version: 51.0.2664.0
OS: Linux - Ubuntu 14.04

What steps will reproduce the problem?
1. Run views_unittests BubbleDelegateTest.CloseReasons. The test passes, which is actually incorrect.

Instead, it is expected that a bubble can't be shown when its anchor widget is not visible (note the test never actually shows the anchor, just the bubble).

This is caused as during widget creation for bubbles, Widget::InitParams child = false, which allows bubbles to be managed by TransientWindowManager rather than ui::Layers.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 6 2016

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

commit 71d4b0f60b78186e0eff2a287a9a2036488836a8
Author: patricialor <patricialor@chromium.org>
Date: Sun Mar 06 23:48:57 2016

MacViews: Fix views_unittests BubbleDelegateTest.CloseReasons

Test added in r360848, fails on Mac as the bubble's parent anchor is not being
shown before the bubble is expected to appear - this causes the bubble to be
treated as 'hidden' as its parent is not visible. This should actually be
expected behaviour on all platforms, so the failure is actually indicating
there's a bug on Aura (see http://crbug/590957).

Workaround this for now by showing the bubble's anchor widget first to allow
this to pass for all platforms.

Also add ScopedFakeNSWindowFocus to all tests to simulate focus on the parent,
as well as defend against test flakiness which might be caused by window
activation issues.

BUG= 579380 , 590957 

Review URL: https://codereview.chromium.org/1637383003

Cr-Commit-Position: refs/heads/master@{#379499}

[modify] https://crrev.com/71d4b0f60b78186e0eff2a287a9a2036488836a8/ui/views/bubble/bubble_delegate_unittest.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 21 2016

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

commit bfe263607137b4c4af5cb42fcf9a2d6cb7cc4183
Author: patricialor <patricialor@chromium.org>
Date: Thu Apr 21 08:22:42 2016

MacViews: Fix BubbleDialogDelegateTest.CloseMethods

BubbleDialogDelegateTest.CloseMethods, added in http://crrev.com/1809933003
(r382045) fails on MacViews because bubbles cannot be shown unless their parents
are already visible. This is expected behaviour, so fix it by showing the parent
anchor widget immediately after creation (which affects all tests calling
CreateTestWidget()).

Note this test passes on Aura because of  http://crbug.com/590957 .

BUG= 590957 ,  600921 

Review URL: https://codereview.chromium.org/1891823004

Cr-Commit-Position: refs/heads/master@{#388720}

[modify] https://crrev.com/bfe263607137b4c4af5cb42fcf9a2d6cb7cc4183/ui/views/bubble/bubble_dialog_delegate_unittest.cc

Components: Internals>Views
Status: Archived (was: Untriaged)
Archiving old bugs that haven't been modified in over two years. 

If you feel this issue should still be addressed, feel free to reopen it or to file a new issue. Thanks!

Sign in to add a comment