| Index: chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller.mm b/chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller.mm
|
| deleted file mode 100644
|
| index 7ef9911f69b57b2509ef0a8faa52d0f5d0b6d37f..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller.mm
|
| +++ /dev/null
|
| @@ -1,276 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#import "chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller.h"
|
| -
|
| -#include <cmath>
|
| -
|
| -#include "base/strings/sys_string_conversions.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| -#import "chrome/browser/ui/cocoa/bubble_combobox.h"
|
| -#import "chrome/browser/ui/cocoa/passwords/account_avatar_fetcher_manager.h"
|
| -#include "chrome/browser/ui/passwords/account_chooser_more_combobox_model.h"
|
| -#include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
|
| -#include "chrome/grit/generated_resources.h"
|
| -#include "components/password_manager/core/common/credential_manager_types.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -
|
| -@implementation CredentialItemCell {
|
| - base::scoped_nsobject<CredentialItemView> view_;
|
| -}
|
| -- (id)initWithView:(CredentialItemView*)view {
|
| - if ((self = [super init]))
|
| - view_.reset([view retain]);
|
| - return self;
|
| -}
|
| -- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
|
| - [controlView addSubview:view_];
|
| - [view_ setFrame:cellFrame];
|
| -}
|
| -- (id)copyWithZone:(NSZone*)zone {
|
| - return [[CredentialItemCell alloc] initWithView:view_];
|
| -}
|
| -- (CredentialItemView*)view {
|
| - return view_.get();
|
| -}
|
| -@end
|
| -
|
| -@interface ManagePasswordsBubbleAccountChooserViewController()
|
| -- (id)initWithModel:(ManagePasswordsBubbleModel*)model
|
| - avatarManager:(AccountAvatarFetcherManager*)avatarManager
|
| - delegate:(id<ManagePasswordsBubbleContentViewDelegate>)delegate;
|
| -- (void)onCancelClicked:(id)sender;
|
| -- (void)onLearnMoreClicked:(id)sender;
|
| -- (void)onSettingsClicked:(id)sender;
|
| -+ (NSArray*)credentialItemsForModel:(ManagePasswordsBubbleModel*)model
|
| - delegate:(id<CredentialItemDelegate>)delegate;
|
| -@property(nonatomic, readonly) NSButton* cancelButton;
|
| -@property(nonatomic, readonly) BubbleCombobox* moreButton;
|
| -@property(nonatomic, readonly) NSTableView* credentialsView;
|
| -@end
|
| -
|
| -@implementation ManagePasswordsBubbleAccountChooserViewController
|
| -
|
| -@synthesize cancelButton = cancelButton_;
|
| -@synthesize moreButton = moreButton_;
|
| -@synthesize credentialsView = credentialsView_;
|
| -
|
| -- (id)initWithModel:(ManagePasswordsBubbleModel*)model
|
| - avatarManager:(AccountAvatarFetcherManager*)avatarManager
|
| - delegate:(id<ManagePasswordsBubbleContentViewDelegate>)delegate {
|
| - DCHECK(model);
|
| - if (([super initWithDelegate:delegate])) {
|
| - model_ = model;
|
| - avatarManager_.reset([avatarManager retain]);
|
| - }
|
| - return self;
|
| -}
|
| -
|
| -- (id)initWithModel:(ManagePasswordsBubbleModel*)model
|
| - delegate:(id<ManagePasswordsBubbleContentViewDelegate>)delegate {
|
| - base::scoped_nsobject<AccountAvatarFetcherManager> avatarManager(
|
| - [[AccountAvatarFetcherManager alloc]
|
| - initWithRequestContext:model->GetProfile()->GetRequestContext()]);
|
| - return
|
| - [self initWithModel:model avatarManager:avatarManager delegate:delegate];
|
| -}
|
| -
|
| -- (void)dealloc {
|
| - [credentialsView_ setDelegate:nil];
|
| - [credentialsView_ setDataSource:nil];
|
| - [super dealloc];
|
| -}
|
| -
|
| -- (void)loadView {
|
| - base::scoped_nsobject<NSView> view([[NSView alloc] initWithFrame:NSZeroRect]);
|
| -
|
| - // ------------------------------------
|
| - // | |
|
| - // | Choose an account etc etc |
|
| - // | |
|
| - // | ---- |
|
| - // | | | credential view |
|
| - // | ---- |
|
| - // | | | credential view |
|
| - // | ---- |
|
| - // | |
|
| - // | [ More v] [ Cancel ] |
|
| - // ------------------------------------
|
| -
|
| - // Create the views.
|
| - // Title.
|
| - NSTextField* title =
|
| - [self addTitleLabel:base::SysUTF16ToNSString(model_->title())
|
| - toView:view];
|
| - [title setAlignment:base::i18n::IsRTL() ? NSRightTextAlignment
|
| - : NSLeftTextAlignment];
|
| -
|
| - // Credentials list.
|
| - credentialItems_.reset(
|
| - [[[self class] credentialItemsForModel:model_ delegate:self] retain]);
|
| - base::scoped_nsobject<NSTableView> credentialsView(
|
| - [[NSTableView alloc] initWithFrame:NSZeroRect]);
|
| - [credentialsView
|
| - setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleNone];
|
| - NSTableColumn* column =
|
| - [[[NSTableColumn alloc] initWithIdentifier:@""] autorelease];
|
| - [credentialsView addTableColumn:column];
|
| - [credentialsView setDelegate:self];
|
| - [credentialsView setDataSource:self];
|
| - [credentialsView setFocusRingType:NSFocusRingTypeNone];
|
| - credentialsView_ = credentialsView;
|
| - [view addSubview:credentialsView_];
|
| -
|
| - // "Cancel" button.
|
| - cancelButton_ =
|
| - [self addButton:l10n_util::GetNSString(
|
| - IDS_CREDENTIAL_MANAGEMENT_ACCOUNT_CHOOSER_NO_THANKS)
|
| - toView:view
|
| - target:self
|
| - action:@selector(onCancelClicked:)];
|
| -
|
| - // "More" button.
|
| - AccountChooserMoreComboboxModel comboboxModel;
|
| - moreButton_ = [[BubbleCombobox alloc] initWithFrame:NSZeroRect
|
| - pullsDown:YES
|
| - model:&comboboxModel];
|
| - [moreButton_ sizeToFit];
|
| - NSMenuItem* learnMoreItem = [moreButton_
|
| - itemAtIndex:AccountChooserMoreComboboxModel::INDEX_LEARN_MORE];
|
| - [learnMoreItem setTarget:self];
|
| - [learnMoreItem setAction:@selector(onLearnMoreClicked:)];
|
| - NSMenuItem* settingsItem =
|
| - [moreButton_ itemAtIndex:AccountChooserMoreComboboxModel::INDEX_SETTINGS];
|
| - [settingsItem setTarget:self];
|
| - [settingsItem setAction:@selector(onSettingsClicked:)];
|
| - [view addSubview:moreButton_];
|
| -
|
| - // Lay out the views.
|
| - const CGFloat width =
|
| - std::max(NSWidth([title frame]), NSWidth([credentialsView_ frame]));
|
| - [cancelButton_
|
| - setFrameOrigin:NSMakePoint(
|
| - base::i18n::IsRTL()
|
| - ? password_manager::mac::ui::kFramePadding
|
| - : password_manager::mac::ui::kFramePadding +
|
| - width - NSWidth([cancelButton_ frame]),
|
| - password_manager::mac::ui::kFramePadding)];
|
| - [moreButton_
|
| - setFrameOrigin:NSMakePoint(
|
| - base::i18n::IsRTL()
|
| - ? NSMaxX([cancelButton_ frame]) +
|
| - password_manager::mac::ui::
|
| - kRelatedControlHorizontalPadding
|
| - : NSMinX([cancelButton_ frame]) -
|
| - password_manager::mac::ui::
|
| - kRelatedControlHorizontalPadding -
|
| - NSWidth([moreButton_ frame]),
|
| - std::ceil(password_manager::mac::ui::kFramePadding +
|
| - (NSHeight([cancelButton_ frame]) -
|
| - NSHeight([moreButton_ frame])) /
|
| - 2.0f))];
|
| -
|
| - // The credentials TableView expands to fill available space.
|
| - [column setMaxWidth:width];
|
| - [credentialsView
|
| - setFrameSize:NSMakeSize(width, NSHeight([credentialsView_ frame]))];
|
| - [credentialsView_
|
| - setFrameOrigin:NSMakePoint(password_manager::mac::ui::kFramePadding,
|
| - NSMaxY([cancelButton_ frame]) +
|
| - password_manager::mac::ui::
|
| - kUnrelatedControlVerticalPadding)];
|
| -
|
| - [title setFrameOrigin:NSMakePoint(
|
| - base::i18n::IsRTL()
|
| - ? password_manager::mac::ui::kFramePadding +
|
| - width - NSWidth([title frame])
|
| - : password_manager::mac::ui::kFramePadding,
|
| - NSMaxY([credentialsView_ frame]) +
|
| - password_manager::mac::ui::
|
| - kUnrelatedControlVerticalPadding)];
|
| -
|
| - // Compute the frame to hold all the views.
|
| - const CGFloat frameWidth =
|
| - width + 2 * password_manager::mac::ui::kFramePadding;
|
| - const CGFloat frameHeight =
|
| - NSMaxY([title frame]) + password_manager::mac::ui::kFramePadding;
|
| - [view setFrame:NSMakeRect(0, 0, frameWidth, frameHeight)];
|
| -
|
| - [self setView:view];
|
| -}
|
| -
|
| -- (void)onCancelClicked:(id)sender {
|
| - model_->OnCancelClicked();
|
| - [delegate_ viewShouldDismiss];
|
| -}
|
| -
|
| -- (void)onLearnMoreClicked:(id)sender {
|
| - // TODO(dconnelly): Open some help center article that's not written yet.
|
| - [delegate_ viewShouldDismiss];
|
| -}
|
| -
|
| -- (void)onSettingsClicked:(id)sender {
|
| - model_->OnManageLinkClicked();
|
| - [delegate_ viewShouldDismiss];
|
| -}
|
| -
|
| -- (void)fetchAvatar:(const GURL&)avatarURL forView:(CredentialItemView*)view {
|
| - [avatarManager_ fetchAvatar:avatarURL forView:view];
|
| -}
|
| -
|
| -+ (NSArray*)credentialItemsForModel:(ManagePasswordsBubbleModel*)model
|
| - delegate:(id<CredentialItemDelegate>)delegate {
|
| - base::scoped_nsobject<NSMutableArray> items([[NSMutableArray alloc] init]);
|
| - for (auto form : model->local_credentials()) {
|
| - base::scoped_nsobject<CredentialItemView> item([[CredentialItemView alloc]
|
| - initWithPasswordForm:*form
|
| - credentialType:password_manager::CredentialType::
|
| - CREDENTIAL_TYPE_PASSWORD
|
| - style:password_manager_mac::CredentialItemStyle::
|
| - ACCOUNT_CHOOSER
|
| - delegate:delegate]);
|
| - [item setAutoresizingMask:NSViewWidthSizable];
|
| - [items addObject:item];
|
| - }
|
| - for (auto form : model->federated_credentials()) {
|
| - base::scoped_nsobject<CredentialItemView> item([[CredentialItemView alloc]
|
| - initWithPasswordForm:*form
|
| - credentialType:password_manager::CredentialType::
|
| - CREDENTIAL_TYPE_FEDERATED
|
| - style:password_manager_mac::CredentialItemStyle::
|
| - ACCOUNT_CHOOSER
|
| - delegate:delegate]);
|
| - [item setAutoresizingMask:NSViewWidthSizable];
|
| - [items addObject:item];
|
| - }
|
| - return items.autorelease();
|
| -}
|
| -
|
| -#pragma mark NSTableViewDataSource
|
| -
|
| -- (NSInteger)numberOfRowsInTableView:(NSTableView*)tableView {
|
| - return [credentialItems_ count];
|
| -}
|
| -
|
| -#pragma mark NSTableViewDelegate
|
| -
|
| -- (CGFloat)tableView:(NSTableView*)tableView heightOfRow:(NSInteger)row {
|
| - return NSHeight([[credentialItems_.get() objectAtIndex:row] frame]);
|
| -}
|
| -
|
| -- (NSCell*)tableView:(NSTableView*)tableView
|
| - dataCellForTableColumn:(NSTableColumn*)tableColumn
|
| - row:(NSInteger)row {
|
| - return [[[CredentialItemCell alloc]
|
| - initWithView:[credentialItems_.get() objectAtIndex:row]] autorelease];
|
| -}
|
| -
|
| -- (void)tableViewSelectionDidChange:(NSNotification *)notification {
|
| - CredentialItemView* item =
|
| - [credentialItems_.get() objectAtIndex:[credentialsView_ selectedRow]];
|
| - model_->OnChooseCredentials(item.passwordForm, item.credentialType);
|
| - [delegate_ viewShouldDismiss];
|
| -}
|
| -
|
| -@end
|
|
|