New issue
Advanced search Search tips

Issue 675496 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug

Blocking:
issue 603386


Participants' hotlists:
MacViews-Task-Queue
Harmony-Ready-For-Review


Sign in to add a comment

Harmony: GlobalErrorBubble dialogs ready to go

Project Member Reported by tapted@chromium.org, Dec 19 2016

Issue description

Chrome Version       : 57.0.2950.4

These are dialogs inheriting from GlobalErrorWithStandardBubble

There are 5 subclasses (not in test files)
 - ExtensionDisabledGlobalError [extension_disabled_ui.cc]
 - SigninGlobalError [signin_global_error.h]
 - SyncGlobalError [sync_global_Error.h]
 - ExtensionInstalledBubbleAlert [external_install_error.cc]
 - ExtensionGlobalError [extension_error_ui_default.h]

There's also 2 classes to investigate inheriting from GlobalError directly:
 - ErrorBadge [warning_badge_service.cc]
 - ExternalInstallMenuAlert [external_install_error.cc]
(these might not have actually dialogs, so continuing to use Cocoa/Browser UI might be right for these)

Attached one sample [ExtensionDisabledGlobalError]
 
Screen Shot 2016-12-19 at 1.44.33 pm.png
56.6 KB View Download
Screenshot for https://codereview.chromium.org/2586373003/


Screen Shot 2017-01-05 at 4.21.23 pm.png
59.6 KB View Download
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 10 2017

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

commit 84ce68dbf0aee72a6cfc16b3d50124078836d83c
Author: tapted <tapted@chromium.org>
Date: Tue Jan 10 05:53:46 2017

MacViews: Allow toolkit-views for "Global Error" bubbles.

The views dialogs will be chosen when run with the --secondary-ui-md
flag.

When the parent is a Cocoa browser window, an anchor point is chosen
rather than an anchor view, and the GlobalErrorBubbleView constructor is
updated to use this point when the anchor view is null.

The tricker part is that:
a) These dialogs are persistent (they do not dismiss when they lose
focus), and
b) The dialogs appear on the right side of the window,

This means they're more prone to "falling off" their anchor point when
resizing the browser window. For this, add a "BubbleAnchorHelper"
framework which is enabled by passing a visible toolkit-views bubble to
a KeepBubbleAnchored() function. The framework captures the anchor
position and ensures it is maintained when changes to the parent
NSWindow are observed.

Screenshot at http://crbug.com/675496#c1

BUG=675496

Review-Url: https://codereview.chromium.org/2586373003
Cr-Commit-Position: refs/heads/master@{#442503}

[modify] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/BUILD.gn
[add] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/cocoa/bubble_anchor_helper_views.h
[add] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/cocoa/bubble_anchor_helper_views.mm
[add] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/cocoa/bubble_anchor_helper_views_unittest.mm
[modify] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/cocoa/global_error_bubble_controller.h
[modify] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/cocoa/global_error_bubble_controller.mm
[add] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/cocoa/global_error_bubble_controller_views.mm
[modify] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/cocoa/toolbar/toolbar_controller.h
[modify] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/cocoa/toolbar/toolbar_controller.mm
[modify] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/views/global_error_bubble_view.cc
[modify] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/browser/ui/views/global_error_bubble_view.h
[modify] https://crrev.com/84ce68dbf0aee72a6cfc16b3d50124078836d83c/chrome/test/BUILD.gn

Comment 3 by tapted@chromium.org, Sep 25 2017

Cc: tapted@chromium.org
Labels: Proj-HarmonyDialogs OS-Chrome OS-Linux OS-Windows
Owner: ----
Status: Available (was: Started)
Summary: Harmony: GlobalErrorBubble dialogs ready to go (was: MacViews: GlobalErrorBubble dialogs ready to go)
Converting this into a Harmony bug.

some "initial state" screenshots

 - ExtensionGlobalError (blacklisted extension) https://bugs.chromium.org/p/chromium/issues/attachment?aid=302155&inline=1
 - ExtensionDisabledGlobalError https://bugs.chromium.org/p/chromium/issues/attachment?aid=302155&inline=1 (also above)
 - ExternalInstallBubbleAlert https://bugs.chromium.org/p/chromium/issues/attachment?aid=302157&inline=1
 - RecoveryInstallGlobalError (Windows and Mac) https://bugs.chromium.org/p/chromium/issues/attachment?aid=302158&inline=1 
 - SigninGlobalError (non-ChromeOS) https://bugs.chromium.org/p/chromium/issues/attachment?aid=302159&inline=1
 - Software Removal Tool's SRTGlobalError (Windows) https://bugs.chromium.org/p/chromium/issues/attachment?aid=303110&inline=1

(from  http://crbug.com/763233#c6 )

UX team feedback in the meeting was:
 - "Details" button should be left aligned in the extra view slot
 - Body text should align under the title text, not under the icon

For the icon, Harmony doesn't _repeat_ icons in the bubble title area when it matches the anchor.
Most cases when these are shown "For Real", the bubble should be anchored to the extension icon, or to the app menu showing the orange [!]. But for "extension is disabled" case, the app menu shows "[!]" but the bubble shows the extension icon, so we may want to show the icon for that specific case.

Comment 4 by bsep@chromium.org, Sep 25 2017

Cc: bettes@chromium.org pkasting@chromium.org
 Issue 766288  has been merged into this issue.

Comment 5 by bsep@chromium.org, Dec 14 2017

Owner: kylixrd@chromium.org
Status: Assigned (was: Available)
Load balancing
Blocking: -662128
Labels: -Proj-MacViews
MacViews triage: untagging Proj-MacViews here.

Sign in to add a comment