Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(315)

Unified Diff: chrome/browser/autofill/autofill_text_field_mac.mm

Issue 6621076: [Mac] Remove native/Cocoa preferences. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase switch removal Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/autofill/autofill_text_field_mac.h ('k') | chrome/browser/ui/cocoa/browser_window_cocoa.mm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autofill/autofill_text_field_mac.mm
diff --git a/chrome/browser/autofill/autofill_text_field_mac.mm b/chrome/browser/autofill/autofill_text_field_mac.mm
deleted file mode 100644
index 19aa2f73e91bf94133f49d920db6fa0d18668649..0000000000000000000000000000000000000000
--- a/chrome/browser/autofill/autofill_text_field_mac.mm
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (c) 2011 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/autofill/autofill_text_field_mac.h"
-
-#include "base/sys_string_conversions.h"
-#include "chrome/browser/autofill/credit_card.h"
-
-@implementation AutoFillTextField
-
-- (void)awakeFromNib {
- // Fields tagged with this value in the nib file will be treated as credit
- // card number fields.
- const int kAutoFillCreditCardTag = 22;
-
- if ([self tag] == kAutoFillCreditCardTag) {
- isCreditCardField_ = YES;
-
- // KVO bindings initialize fields prior to |awakeFromNib|. In the credit
- // card field case we need to re-initialize the value to the obfuscated
- // version.
- [self setObjectValue:[self objectValue]];
- }
-}
-
-- (void)setObjectValue:(id<NSCopying>)anObject {
- // -[NSControl setObjectValue:] says that the passed-in object has type
- // |id<NSCopying>|, but this function needs to call the NSObject method
- // -isKindOfClass: on the parameter. In theory, this is not correct, but this
- // is probably a bug in the method signature.
- NSObject<NSCopying>* object = static_cast<NSObject<NSCopying>*>(anObject);
- if (isCreditCardField_ &&
- [object isKindOfClass:[NSString class]]) {
- // Obfuscate the number.
- NSString* string = static_cast<NSString*>(object);
- CreditCard card;
- card.SetInfo(AutofillType(CREDIT_CARD_NUMBER),
- base::SysNSStringToUTF16(string));
- NSString* starredString = base::SysUTF16ToNSString(card.ObfuscatedNumber());
-
- [super setObjectValue:starredString];
- isObfuscated_ = YES;
- obfuscatedValue_.reset([string copy]);
- } else {
- [super setObjectValue:object];
- }
-}
-
-- (id)objectValue {
- if (isObfuscated_) {
- // This should not happen. This field is bound, and its value will only be
- // fetched if it is changed, and since we force selection, that should clear
- // the obfuscation. Nevertheless, we'll be paranoid here since we don't want
- // the obfuscating ***s to end up in the database.
- NOTREACHED();
- return obfuscatedValue_.get();
- } else {
- return [super objectValue];
- }
-}
-
-// |self| is automatically set to be the delegate of the field editor; this
-// method is called by the field editor.
-- (void)textViewDidChangeSelection:(NSNotification *)notification {
- if (isCreditCardField_ && !isBeingSelected_ && isObfuscated_) {
- // Can't edit obfuscated credit card info; force a select-all in that case.
- isBeingSelected_ = YES;
- NSText* editor = [notification object];
- [editor selectAll:self];
- isBeingSelected_ = NO;
- }
-}
-
-// Docs aren't clear, but this is called on the first keypress, not when the
-// field takes focus.
-- (BOOL)textShouldBeginEditing:(NSText*)textObject {
- BOOL should = [super textShouldBeginEditing:textObject];
- // On editing, since everything is selected, the field is now clear.
- isObfuscated_ = !should;
- if (!isObfuscated_)
- obfuscatedValue_.reset();
- return should;
-}
-
-@end
« no previous file with comments | « chrome/browser/autofill/autofill_text_field_mac.h ('k') | chrome/browser/ui/cocoa/browser_window_cocoa.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698