Commit 7b23a313 authored by DongJun Kim's avatar DongJun Kim Committed by Commit Bot

Merge PasswordManagerClientHelperDelegate into PasswordManagerClient

Currently, PasswordManagerClient and PasswordManagerClientHelperDelegate
defined a GetPasswordManager().
In case of ChromePMC and IOSChromePMC also both inherit above classes,
so they need to define the override each GetPasswordManager().

This patch merge PasswordManagerClientHelperDelegate into
PasswordManagerClient for removing unnecessary functions.

Bug: 777861
Change-Id: I7c912408bd9704c5a8abbca4c205f89c46ff6cba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1880781
Commit-Queue: DongJun Kim <djmix.kim@samsung.com>
Reviewed-by: default avatarVasilii Sukhanov <vasilii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#710086}
parent 58df3091
......@@ -774,6 +774,18 @@ net::CertStatus ChromePasswordManagerClient::GetMainFrameCertStatus() const {
return entry->GetSSL().cert_status;
}
void ChromePasswordManagerClient::PromptUserToEnableAutosignin() {
#if defined(OS_ANDROID)
// Dialog is deleted by the Java counterpart after user interacts with it.
AutoSigninFirstRunDialogAndroid* auto_signin_first_run_dialog =
new AutoSigninFirstRunDialogAndroid(web_contents());
auto_signin_first_run_dialog->ShowDialog();
#else
PasswordsClientUIDelegateFromWebContents(web_contents())
->OnPromptEnableAutoSignin();
#endif
}
bool ChromePasswordManagerClient::IsIncognito() const {
return web_contents()->GetBrowserContext()->IsOffTheRecord();
}
......@@ -1144,18 +1156,6 @@ bool ChromePasswordManagerClient::CanShowBubbleOnURL(const GURL& url) {
scheme != content::kChromeDevToolsScheme);
}
void ChromePasswordManagerClient::PromptUserToEnableAutosignin() {
#if defined(OS_ANDROID)
// Dialog is deleted by the Java counterpart after user interacts with it.
AutoSigninFirstRunDialogAndroid* auto_signin_first_run_dialog =
new AutoSigninFirstRunDialogAndroid(web_contents());
auto_signin_first_run_dialog->ShowDialog();
#else
PasswordsClientUIDelegateFromWebContents(web_contents())
->OnPromptEnableAutoSignin();
#endif
}
void ChromePasswordManagerClient::ShowManualPasswordGenerationPopup(
base::WeakPtr<password_manager::ContentPasswordManagerDriver> driver,
const base::Optional<
......@@ -1237,11 +1237,6 @@ void ChromePasswordManagerClient::FocusedInputChanged(
#endif // defined(OS_ANDROID)
}
password_manager::PasswordManager*
ChromePasswordManagerClient::GetPasswordManager() {
return &password_manager_;
}
const password_manager::PasswordFeatureManager*
ChromePasswordManagerClient::GetPasswordFeatureManager() const {
return &password_feature_manager_;
......
......@@ -62,7 +62,6 @@ class WebContents;
// ChromePasswordManagerClient implements the PasswordManagerClient interface.
class ChromePasswordManagerClient
: public password_manager::PasswordManagerClient,
public password_manager::PasswordManagerClientHelperDelegate,
public content::WebContentsObserver,
public content::WebContentsUserData<ChromePasswordManagerClient>,
public autofill::mojom::PasswordGenerationDriver,
......@@ -129,6 +128,7 @@ class ChromePasswordManagerClient
password_manager::SyncState GetPasswordSyncState() const override;
bool WasLastNavigationHTTPError() const override;
net::CertStatus GetMainFrameCertStatus() const override;
void PromptUserToEnableAutosignin() override;
bool IsIncognito() const override;
const password_manager::PasswordManager* GetPasswordManager() const override;
const password_manager::PasswordFeatureManager* GetPasswordFeatureManager()
......@@ -273,10 +273,6 @@ class ChromePasswordManagerClient
// without custom sync passphrase.
static bool ShouldAnnotateNavigationEntries(Profile* profile);
// password_manager::PasswordManagerClientHelperDelegate implementation.
void PromptUserToEnableAutosignin() override;
password_manager::PasswordManager* GetPasswordManager() override;
// |ui_data| is empty in case the renderer failed to start manual generation.
// In this case nothing should happen.
void ShowManualPasswordGenerationPopup(
......
......@@ -61,6 +61,8 @@ net::CertStatus PasswordManagerClient::GetMainFrameCertStatus() const {
return 0;
}
void PasswordManagerClient::PromptUserToEnableAutosignin() {}
bool PasswordManagerClient::IsIncognito() const {
return false;
}
......
......@@ -237,6 +237,10 @@ class PasswordManagerClient {
// Obtains the cert status for the main frame.
virtual net::CertStatus GetMainFrameCertStatus() const;
// Shows the dialog where the user can accept or decline the global autosignin
// setting as a first run experience.
virtual void PromptUserToEnableAutosignin();
// If this browsing session should not be persisted.
virtual bool IsIncognito() const;
......
......@@ -12,7 +12,7 @@
namespace password_manager {
PasswordManagerClientHelper::PasswordManagerClientHelper(
PasswordManagerClientHelperDelegate* delegate)
PasswordManagerClient* delegate)
: delegate_(delegate) {
DCHECK(delegate_);
}
......
......@@ -9,29 +9,11 @@
namespace password_manager {
// Delegate class for PasswordManagerClientHelper. A class that wants to use
// PasswordManagerClientHelper must implement this delegate.
class PasswordManagerClientHelperDelegate {
public:
// Shows the dialog where the user can accept or decline the global autosignin
// setting as a first run experience.
virtual void PromptUserToEnableAutosignin() = 0;
// Methods required from PasswordManagerClient implementation:
virtual bool IsIncognito() const = 0;
virtual PrefService* GetPrefs() const = 0;
virtual PasswordManager* GetPasswordManager() = 0;
protected:
virtual ~PasswordManagerClientHelperDelegate() {}
};
// Helper class for PasswordManagerClients. It extracts some common logic for
// ChromePasswordManagerClient and IOSChromePasswordManagerClient.
class PasswordManagerClientHelper {
public:
explicit PasswordManagerClientHelper(
PasswordManagerClientHelperDelegate* delegate);
explicit PasswordManagerClientHelper(PasswordManagerClient* delegate);
~PasswordManagerClientHelper();
// Implementation of PasswordManagerClient::NotifyUserCouldBeAutoSignedIn.
......@@ -67,7 +49,7 @@ class PasswordManagerClientHelper {
// is the case for first run experience, and only for non-incognito mode.
bool ShouldPromptToEnableAutoSignIn() const;
PasswordManagerClientHelperDelegate* delegate_;
PasswordManagerClient* delegate_;
// Set during 'NotifyUserCouldBeAutoSignedIn' in order to store the
// form for potential use during 'NotifySuccessfulLoginWithExistingPassword'.
......
......@@ -69,8 +69,7 @@ using password_manager::CredentialLeakType;
// An iOS implementation of password_manager::PasswordManagerClient.
// TODO(crbug.com/958833): write unit tests for this class.
class IOSChromePasswordManagerClient
: public password_manager::PasswordManagerClient,
public password_manager::PasswordManagerClientHelperDelegate {
: public password_manager::PasswordManagerClient {
public:
explicit IOSChromePasswordManagerClient(
id<PasswordManagerClientDelegate> delegate);
......@@ -100,6 +99,7 @@ class IOSChromePasswordManagerClient
void AutomaticPasswordSave(
std::unique_ptr<password_manager::PasswordFormManagerForUI>
saved_form_manager) override;
void PromptUserToEnableAutosignin() override;
bool IsIncognito() const override;
const password_manager::PasswordManager* GetPasswordManager() const override;
const password_manager::PasswordFeatureManager* GetPasswordFeatureManager()
......@@ -137,10 +137,6 @@ class IOSChromePasswordManagerClient
bool IsNewTabPage() const override;
private:
// password_manager::PasswordManagerClientHelperDelegate implementation.
void PromptUserToEnableAutosignin() override;
password_manager::PasswordManager* GetPasswordManager() override;
__weak id<PasswordManagerClientDelegate> delegate_;
const password_manager::PasswordFeatureManagerImpl password_feature_manager_;
......
......@@ -133,6 +133,11 @@ void IOSChromePasswordManagerClient::AutomaticPasswordSave(
NOTIMPLEMENTED();
}
void IOSChromePasswordManagerClient::PromptUserToEnableAutosignin() {
// TODO(crbug.com/435048): Implement this method.
NOTIMPLEMENTED();
}
bool IOSChromePasswordManagerClient::IsIncognito() const {
return (delegate_.browserState)->IsOffTheRecord();
}
......@@ -253,15 +258,6 @@ IOSChromePasswordManagerClient::GetPasswordRequirementsService() {
delegate_.browserState, ServiceAccessType::EXPLICIT_ACCESS);
}
void IOSChromePasswordManagerClient::PromptUserToEnableAutosignin() {
// TODO(crbug.com/435048): Implement this method.
}
password_manager::PasswordManager*
IOSChromePasswordManagerClient::GetPasswordManager() {
return delegate_.passwordManager;
}
bool IOSChromePasswordManagerClient::IsIsolationForPasswordSitesEnabled()
const {
return false;
......
......@@ -56,8 +56,7 @@ class WebState;
namespace ios_web_view {
// An //ios/web_view implementation of password_manager::PasswordManagerClient.
class WebViewPasswordManagerClient
: public password_manager::PasswordManagerClient,
public password_manager::PasswordManagerClientHelperDelegate {
: public password_manager::PasswordManagerClient {
public:
explicit WebViewPasswordManagerClient(
id<CWVPasswordManagerClientDelegate> delegate);
......@@ -87,6 +86,7 @@ class WebViewPasswordManagerClient
void AutomaticPasswordSave(
std::unique_ptr<password_manager::PasswordFormManagerForUI>
saved_form_manager) override;
void PromptUserToEnableAutosignin() override;
bool IsIncognito() const override;
const password_manager::PasswordManager* GetPasswordManager() const override;
const password_manager::PasswordFeatureManager* GetPasswordFeatureManager()
......@@ -117,10 +117,6 @@ class WebViewPasswordManagerClient
bool IsNewTabPage() const override;
private:
// password_manager::PasswordManagerClientHelperDelegate implementation.
void PromptUserToEnableAutosignin() override;
password_manager::PasswordManager* GetPasswordManager() override;
__weak id<CWVPasswordManagerClientDelegate> delegate_;
const WebViewPasswordFeatureManager password_feature_manager_;
......
......@@ -111,6 +111,11 @@ void WebViewPasswordManagerClient::AutomaticPasswordSave(
NOTIMPLEMENTED();
}
void WebViewPasswordManagerClient::PromptUserToEnableAutosignin() {
// TODO(crbug.com/435048): Implement this method.
NOTIMPLEMENTED();
}
bool WebViewPasswordManagerClient::IsIncognito() const {
return delegate_.browserState->IsOffTheRecord();
}
......@@ -209,15 +214,6 @@ WebViewPasswordManagerClient::GetURLLoaderFactory() {
return nullptr;
}
void WebViewPasswordManagerClient::PromptUserToEnableAutosignin() {
// TODO(crbug.com/435048): Implement this method.
}
password_manager::PasswordManager*
WebViewPasswordManagerClient::GetPasswordManager() {
return delegate_.passwordManager;
}
bool WebViewPasswordManagerClient::IsIsolationForPasswordSitesEnabled() const {
return false;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment