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

Unified Diff: ios/chrome/browser/passwords/password_generation_agent.mm

Issue 2933873002: [ObjC ARC] Converts ios/chrome/browser/passwords:passwords to ARC. (Closed)
Patch Set: fix names and nil assignments. Created 3 years, 6 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
Index: ios/chrome/browser/passwords/password_generation_agent.mm
diff --git a/ios/chrome/browser/passwords/password_generation_agent.mm b/ios/chrome/browser/passwords/password_generation_agent.mm
index 71d198d475d6e697dd7a5f5d57a8a89f62b240ca..67671677d07eeb5e1f7dfb59827b3b2c9ee849c7 100644
--- a/ios/chrome/browser/passwords/password_generation_agent.mm
+++ b/ios/chrome/browser/passwords/password_generation_agent.mm
@@ -6,10 +6,8 @@
#include <stddef.h>
-#import "base/ios/weak_nsobject.h"
#include "base/mac/foundation_util.h"
#include "base/mac/scoped_block.h"
-#include "base/mac/scoped_nsobject.h"
#include "base/strings/sys_string_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "components/autofill/core/browser/password_generator.h"
@@ -31,6 +29,10 @@
#include "ui/base/l10n/l10n_util.h"
#include "url/gurl.h"
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
namespace {
// Target length of generated passwords.
@@ -133,10 +135,10 @@ bool IsTextField(const autofill::FormFieldData& field) {
std::unique_ptr<autofill::FormFieldData> _passwordGenerationField;
// Wrapper for suggestion JavaScript. Used for form navigation.
- base::scoped_nsobject<JsSuggestionManager> _JSSuggestionManager;
+ JsSuggestionManager* _suggestionManager;
// Wrapper for passwords JavaScript. Used for form filling.
- base::scoped_nsobject<JsPasswordManager> _JSPasswordManager;
+ JsPasswordManager* _javaScriptPasswordManager;
// Driver that is passed to PasswordManager when a password is generated.
password_manager::PasswordManagerDriver* _passwordManagerDriver;
@@ -146,14 +148,13 @@ bool IsTextField(const autofill::FormFieldData& field) {
// Callback to update the custom keyboard accessory view. Will be non-nil when
// this PasswordGenerationAgent controls the keyboard accessory view.
- base::mac::ScopedBlock<AccessoryViewReadyCompletion>
- _accessoryViewReadyCompletion;
+ AccessoryViewReadyCompletion _accessoryViewReadyCompletion;
// The delegate for controlling the password generation UI.
- base::scoped_nsprotocol<id<PasswordsUiDelegate>> _passwords_ui_delegate;
+ id<PasswordsUiDelegate> _passwords_ui_delegate;
// The password that was generated and accepted by the user.
- base::scoped_nsobject<NSString> _generatedPassword;
+ NSString* _generatedPassword;
}
- (instancetype)init {
@@ -162,32 +163,32 @@ bool IsTextField(const autofill::FormFieldData& field) {
}
- (instancetype)
- initWithWebState:(web::WebState*)webState
- passwordManager:(password_manager::PasswordManager*)passwordManager
- passwordManagerDriver:(password_manager::PasswordManagerDriver*)driver
- passwordsUiDelegate:(id<PasswordsUiDelegate>)UIDelegate {
- JsPasswordManager* JSPasswordManager =
+ initWithWebState:(web::WebState*)webState
+ passwordManager:(password_manager::PasswordManager*)passwordManager
+passwordManagerDriver:(password_manager::PasswordManagerDriver*)driver
+ passwordsUiDelegate:(id<PasswordsUiDelegate>)delegate {
+ JsPasswordManager* javaScriptPasswordManager =
base::mac::ObjCCast<JsPasswordManager>([webState->GetJSInjectionReceiver()
instanceOfClass:[JsPasswordManager class]]);
- JsSuggestionManager* JSSuggestionManager =
+ JsSuggestionManager* suggestionManager =
base::mac::ObjCCast<JsSuggestionManager>(
[webState->GetJSInjectionReceiver()
instanceOfClass:[JsSuggestionManager class]]);
return [self initWithWebState:webState
passwordManager:passwordManager
passwordManagerDriver:driver
- JSPasswordManager:JSPasswordManager
- JSSuggestionManager:JSSuggestionManager
- passwordsUiDelegate:UIDelegate];
+ JSPasswordManager:javaScriptPasswordManager
+ JSSuggestionManager:suggestionManager
+ passwordsUiDelegate:delegate];
}
- (instancetype)
- initWithWebState:(web::WebState*)webState
- passwordManager:(password_manager::PasswordManager*)passwordManager
- passwordManagerDriver:(password_manager::PasswordManagerDriver*)driver
- JSPasswordManager:(JsPasswordManager*)JSPasswordManager
- JSSuggestionManager:(JsSuggestionManager*)JSSuggestionManager
- passwordsUiDelegate:(id<PasswordsUiDelegate>)UIDelegate {
+ initWithWebState:(web::WebState*)webState
+ passwordManager:(password_manager::PasswordManager*)passwordManager
+passwordManagerDriver:(password_manager::PasswordManagerDriver*)driver
+ JSPasswordManager:(JsPasswordManager*)javaScriptPasswordManager
+ JSSuggestionManager:(JsSuggestionManager*)suggestionManager
+ passwordsUiDelegate:(id<PasswordsUiDelegate>)delegate {
DCHECK([NSThread isMainThread]);
DCHECK(webState);
DCHECK_EQ([self class], [PasswordGenerationAgent class]);
@@ -195,18 +196,17 @@ bool IsTextField(const autofill::FormFieldData& field) {
if (self) {
_passwordManager = passwordManager;
_passwordManagerDriver = driver;
- _JSPasswordManager.reset([JSPasswordManager retain]);
- _JSSuggestionManager.reset([JSSuggestionManager retain]);
+ _javaScriptPasswordManager = javaScriptPasswordManager;
+ _suggestionManager = suggestionManager;
_webStateObserverBridge.reset(
new web::WebStateObserverBridge(webState, self));
- _passwords_ui_delegate.reset([UIDelegate retain]);
+ _passwords_ui_delegate = delegate;
}
return self;
}
- (void)dealloc {
DCHECK([NSThread isMainThread]);
- [super dealloc];
}
- (autofill::PasswordForm*)possibleAccountCreationForm {
@@ -227,7 +227,7 @@ bool IsTextField(const autofill::FormFieldData& field) {
_possibleAccountCreationForm.reset();
_passwordFields.clear();
_passwordGenerationField.reset();
- _generatedPassword.reset();
+ _generatedPassword = nil;
}
- (BOOL)formHasGAIARealm:(const autofill::PasswordForm&)form {
@@ -325,10 +325,9 @@ bool IsTextField(const autofill::FormFieldData& field) {
- (UIView*)currentAccessoryView {
return [_generatedPassword length] > 0
- ? [[[PasswordGenerationEditView alloc]
- initWithPassword:_generatedPassword] autorelease]
- : [[[PasswordGenerationOfferView alloc] initWithDelegate:self]
- autorelease];
+ ? [[PasswordGenerationEditView alloc]
+ initWithPassword:_generatedPassword]
+ : [[PasswordGenerationOfferView alloc] initWithDelegate:self];
}
#pragma mark -
@@ -348,35 +347,33 @@ bool IsTextField(const autofill::FormFieldData& field) {
- (void)acceptPasswordGeneration:(id)sender {
[self hideAlert];
- base::WeakNSObject<PasswordGenerationAgent> weakSelf(self);
+ __weak PasswordGenerationAgent* weakSelf = self;
id completionHandler = ^(BOOL success) {
if (!success)
return;
- base::scoped_nsobject<PasswordGenerationAgent> strongSelf(
- [weakSelf retain]);
+ PasswordGenerationAgent* strongSelf = weakSelf;
if (!strongSelf)
return;
- if (strongSelf.get()->_passwordManager) {
+ if (strongSelf->_passwordManager) {
// Might be null in tests.
- strongSelf.get()->_passwordManager->SetHasGeneratedPasswordForForm(
- strongSelf.get()->_passwordManagerDriver,
- *strongSelf.get()->_possibleAccountCreationForm, true);
+ strongSelf->_passwordManager->SetHasGeneratedPasswordForForm(
+ strongSelf->_passwordManagerDriver,
+ *strongSelf->_possibleAccountCreationForm, true);
}
- if (strongSelf.get()->_accessoryViewReadyCompletion) {
- strongSelf.get()->_accessoryViewReadyCompletion.get()(
+ if (strongSelf->_accessoryViewReadyCompletion) {
+ strongSelf->_accessoryViewReadyCompletion(
[strongSelf currentAccessoryView], strongSelf);
}
};
- [_JSPasswordManager fillPasswordForm:[self passwordGenerationFormName]
- withGeneratedPassword:_generatedPassword
- completionHandler:completionHandler];
+ [_javaScriptPasswordManager fillPasswordForm:[self passwordGenerationFormName]
+ withGeneratedPassword:_generatedPassword
+ completionHandler:completionHandler];
}
- (void)showSavedPasswords:(id)sender {
[self hideAlert];
- base::scoped_nsobject<GenericChromeCommand> command(
- [[GenericChromeCommand alloc]
- initWithTag:IDC_SHOW_SAVE_PASSWORDS_SETTINGS]);
+ GenericChromeCommand* command = [[GenericChromeCommand alloc]
+ initWithTag:IDC_SHOW_SAVE_PASSWORDS_SETTINGS];
[command executeOnMainWindow];
}
@@ -384,8 +381,8 @@ bool IsTextField(const autofill::FormFieldData& field) {
#pragma mark PasswordGenerationOfferDelegate
- (void)generatePassword {
- _generatedPassword.reset([base::SysUTF8ToNSString(
- autofill::PasswordGenerator(kGeneratedPasswordLength).Generate()) copy]);
+ _generatedPassword = [base::SysUTF8ToNSString(
+ autofill::PasswordGenerator(kGeneratedPasswordLength).Generate()) copy];
[_passwords_ui_delegate showGenerationAlertWithPassword:_generatedPassword
andPromptDelegate:self];
}
@@ -423,21 +420,21 @@ bool IsTextField(const autofill::FormFieldData& field) {
(AccessoryViewReadyCompletion)accessoryViewUpdateBlock {
DCHECK(!_accessoryViewReadyCompletion);
if ([_generatedPassword length] > 0)
- _generatedPassword.reset([base::SysUTF8ToNSString(value) copy]);
+ _generatedPassword = [base::SysUTF8ToNSString(value) copy];
accessoryViewUpdateBlock([self currentAccessoryView], self);
- _accessoryViewReadyCompletion.reset([accessoryViewUpdateBlock copy]);
+ _accessoryViewReadyCompletion = [accessoryViewUpdateBlock copy];
}
- (void)inputAccessoryViewControllerDidReset:
(FormInputAccessoryViewController*)controller {
[self hideAlert];
DCHECK(_accessoryViewReadyCompletion);
- _accessoryViewReadyCompletion.reset();
+ _accessoryViewReadyCompletion = nil;
}
- (void)resizeAccessoryView {
DCHECK(_accessoryViewReadyCompletion);
- _accessoryViewReadyCompletion.get()([self currentAccessoryView], self);
+ _accessoryViewReadyCompletion([self currentAccessoryView], self);
}
- (BOOL)getLogKeyboardAccessoryMetrics {

Powered by Google App Engine
This is Rietveld 408576698