Index: chrome/browser/ui/cocoa/passwords/credentials_selection_view.mm |
diff --git a/chrome/browser/ui/cocoa/passwords/credentials_selection_view.mm b/chrome/browser/ui/cocoa/passwords/credentials_selection_view.mm |
deleted file mode 100644 |
index b2af0e3af19737eaaa4582a032e170e8dc7f2f62..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/cocoa/passwords/credentials_selection_view.mm |
+++ /dev/null |
@@ -1,117 +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/credentials_selection_view.h" |
- |
-#include <stddef.h> |
- |
-#import "chrome/browser/ui/cocoa/bubble_combobox.h" |
-#include "chrome/browser/ui/cocoa/chrome_style.h" |
-#import "chrome/browser/ui/cocoa/passwords/passwords_bubble_utils.h" |
-#include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
-#include "ui/base/models/simple_combobox_model.h" |
- |
-namespace { |
- |
-NSPopUpButton* CreateUsernamesPopUpButton( |
- const std::vector<autofill::PasswordForm>& forms, |
- const base::string16& best_matched_username) { |
- DCHECK(!forms.empty()); |
- std::vector<base::string16> usernames; |
- size_t best_matched_username_index = forms.size(); |
- size_t preffered_form_index = forms.size(); |
- |
- for (size_t index = 0; index < forms.size(); ++index) { |
- usernames.push_back(forms[index].username_value); |
- if (forms[index].username_value == best_matched_username) { |
- best_matched_username_index = index; |
- } |
- if (forms[index].preferred) { |
- preffered_form_index = index; |
- } |
- } |
- |
- ui::SimpleComboboxModel model(usernames); |
- base::scoped_nsobject<NSPopUpButton> button([[BubbleCombobox alloc] |
- initWithFrame:NSZeroRect |
- pullsDown:NO |
- model:&model]); |
- [button setFont:LabelFont()]; |
- |
- if (best_matched_username_index < forms.size()) { |
- [button selectItemAtIndex:best_matched_username_index]; |
- } else if (preffered_form_index < forms.size()) { |
- [button selectItemAtIndex:preffered_form_index]; |
- } else { |
- [button selectItemAtIndex:0]; |
- } |
- |
- [button sizeToFit]; |
- return button.autorelease(); |
-} |
- |
-} // namespace |
- |
-@implementation CredentialsSelectionView |
- |
-- (id)initWithModel:(ManagePasswordsBubbleModel*)model { |
- if ((self = [super init])) { |
- model_ = model; |
- |
- // Create the pop up button with usernames and the password field. |
- usernamePopUpButton_.reset([CreateUsernamesPopUpButton( |
- model_->local_credentials(), |
- model_->pending_password().username_value) retain]); |
- passwordField_.reset( |
- [PasswordLabel(model_->pending_password().password_value) retain]); |
- |
- // Calculate desired widths of username and password. |
- CGFloat firstWidth = NSMaxX([usernamePopUpButton_ frame]); |
- CGFloat secondWidth = NSMaxX([passwordField_ frame]); |
- std::pair<CGFloat, CGFloat> sizes = GetResizedColumns( |
- kDesiredRowWidth, std::make_pair(firstWidth, secondWidth)); |
- CGFloat curX = 0; |
- CGFloat curY = 0; |
- |
- [usernamePopUpButton_ |
- setFrameSize:NSMakeSize(sizes.first, |
- NSHeight([usernamePopUpButton_ frame]))]; |
- [self addSubview:usernamePopUpButton_]; |
- |
- [passwordField_ setFrameSize:NSMakeSize(sizes.second, |
- NSHeight([passwordField_ frame]))]; |
- [self addSubview:passwordField_]; |
- |
- // Calculate username and password positions. The element with bigger height |
- // will have Y coordinate equal to curY, another one will have Y coordinate |
- // equals to curY + half of their heights difference. |
- CGFloat popUpLabelHeightDifference = |
- NSHeight([usernamePopUpButton_ frame]) - |
- NSHeight([passwordField_ frame]); |
- |
- CGFloat usernameY = std::max(curY, curY - popUpLabelHeightDifference / 2); |
- CGFloat passwordY = std::max(curY, curY + popUpLabelHeightDifference / 2); |
- |
- [usernamePopUpButton_ setFrameOrigin:NSMakePoint(curX, usernameY)]; |
- // Move to the right of the username and add the password. |
- curX = NSMaxX([usernamePopUpButton_ frame]) + kItemLabelSpacing; |
- [passwordField_ setFrameOrigin:NSMakePoint(curX, passwordY)]; |
- |
- // Move to the top-right of the password. |
- curY = std::max(NSMaxY([passwordField_ frame]), |
- NSMaxY([usernamePopUpButton_ frame])); |
- |
- // Update the frame. |
- [self setFrameSize:NSMakeSize(kDesiredRowWidth, curY)]; |
- } |
- return self; |
-} |
- |
-- (const autofill::PasswordForm*)getSelectedCredentials { |
- int selected_index = [usernamePopUpButton_ indexOfSelectedItem]; |
- CHECK(selected_index >= 0); |
- return &model_->local_credentials()[selected_index]; |
-} |
- |
-@end |