New issue
Advanced search Search tips

Issue 669387 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 654115
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug

Blocking:
issue 603386
issue 662128


Participants' hotlists:
MacViews-Task-Queue


Sign in to add a comment

Harmony/Mac: Support the toolkit-views manage passwords bubble for a Cocoa browser

Project Member Reported by tapted@chromium.org, Nov 29 2016

Issue description

Chrome Version       : 56.0.2914.3
OS Version: OS X 10.12.1

This is invoked via the TabDialogs interface

It's possible, but it's not a straightforward port.

First (easy) step is: https://codereview.chromium.org/2536733005/

But then we need to fix
Undefined symbols for architecture x86_64:
  "BrowserView::GetBrowserViewForBrowser(Browser const*)", referenced from:
      ManagePasswordsBubbleView::AutoSigninView::AutoSigninView(ManagePasswordsBubbleView*) in libui.a(manage_passwords_bubble_view.o)
      ManagePasswordsBubbleView::ShowBubble(content::WebContents*, LocationBarBubbleDelegateView::DisplayReason) in libui.a(manage_passwords_bubble_view.o)

manage_password_bubble_view.cc has dependencies on BrowserView (the views browser), but we need it also able to use a Cocoa browser.

AutoSigninView depends on it for:


void ManagePasswordsBubbleView::AutoSigninView::OnWidgetActivationChanged(
    views::Widget* widget, bool active) {
  if (active && !timer_.IsRunning())
    timer_.Start(FROM_HERE, GetTimeout(), this, &AutoSigninView::OnTimer);
}

void ManagePasswordsBubbleView::AutoSigninView::OnWidgetClosing(
    views::Widget* widget) {
  observed_browser_.RemoveAll();
}


ManagePasswordsBubbleView::ShowBubble() depends on it for
 * finding the anchor -- we have precedence for fixing that
 * AddObserver(browser_view->GetLocationBarView()->manage_passwords_icon_view())
   * for BubbleIconView's role as a views::WidgetObserver
     * for
void BubbleIconView::OnWidgetDestroying(views::Widget* widget) {
  widget->RemoveObserver(this);
}

void BubbleIconView::OnWidgetVisibilityChanged(views::Widget* widget,
                                               bool visible) {
  // |widget| is a bubble that has just got shown / hidden.
  if (!visible)
    AnimateInkDrop(views::InkDropState::DEACTIVATED, nullptr /* event */);
}
 

Comment 1 by tapted@chromium.org, Dec 12 2016

Blocking: 603386
Labels: M-60
Components: Internals>Views
Labels: -M-57 -M-60 MacViews-Dialogs
Owner: ellyjo...@chromium.org
Status: Assigned (was: Available)

Comment 3 by tapted@chromium.org, Apr 13 2017

Cc: ellyjo...@chromium.org
Mergedinto: 654115
Status: Duplicate (was: Assigned)
Oooh - I forgot about this. This has a start in https://codereview.chromium.org/2808823002/

I'll merge into the harmony bug.

Sign in to add a comment