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

Side by Side Diff: chrome/browser/password_manager/chrome_password_manager_client.cc

Issue 1762603002: Switch components/password_manager code from IPC messages to Mojo. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Impl done, unit_tests and browser_tests not ready yet Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/password_manager/chrome_password_manager_client.h" 5 #include "chrome/browser/password_manager/chrome_password_manager_client.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 15 matching lines...) Expand all
26 #include "chrome/common/features.h" 26 #include "chrome/common/features.h"
27 #include "chrome/common/url_constants.h" 27 #include "chrome/common/url_constants.h"
28 #include "components/autofill/content/browser/content_autofill_driver.h" 28 #include "components/autofill/content/browser/content_autofill_driver.h"
29 #include "components/autofill/content/browser/content_autofill_driver_factory.h" 29 #include "components/autofill/content/browser/content_autofill_driver_factory.h"
30 #include "components/autofill/content/common/autofill_messages.h" 30 #include "components/autofill/content/common/autofill_messages.h"
31 #include "components/autofill/core/browser/password_generator.h" 31 #include "components/autofill/core/browser/password_generator.h"
32 #include "components/autofill/core/common/password_form.h" 32 #include "components/autofill/core/common/password_form.h"
33 #include "components/browser_sync/browser/profile_sync_service.h" 33 #include "components/browser_sync/browser/profile_sync_service.h"
34 #include "components/password_manager/content/browser/content_password_manager_d river.h" 34 #include "components/password_manager/content/browser/content_password_manager_d river.h"
35 #include "components/password_manager/content/browser/password_manager_internals _service_factory.h" 35 #include "components/password_manager/content/browser/password_manager_internals _service_factory.h"
36 #include "components/password_manager/content/common/credential_manager_messages .h"
37 #include "components/password_manager/core/browser/browser_save_password_progres s_logger.h" 36 #include "components/password_manager/core/browser/browser_save_password_progres s_logger.h"
38 #include "components/password_manager/core/browser/log_manager.h" 37 #include "components/password_manager/core/browser/log_manager.h"
39 #include "components/password_manager/core/browser/log_receiver.h" 38 #include "components/password_manager/core/browser/log_receiver.h"
40 #include "components/password_manager/core/browser/password_bubble_experiment.h" 39 #include "components/password_manager/core/browser/password_bubble_experiment.h"
41 #include "components/password_manager/core/browser/password_form_manager.h" 40 #include "components/password_manager/core/browser/password_form_manager.h"
42 #include "components/password_manager/core/browser/password_manager_internals_se rvice.h" 41 #include "components/password_manager/core/browser/password_manager_internals_se rvice.h"
43 #include "components/password_manager/core/browser/password_manager_metrics_util .h" 42 #include "components/password_manager/core/browser/password_manager_metrics_util .h"
44 #include "components/password_manager/core/browser/password_manager_settings_mig ration_experiment.h" 43 #include "components/password_manager/core/browser/password_manager_settings_mig ration_experiment.h"
45 #include "components/password_manager/core/browser/password_manager_util.h" 44 #include "components/password_manager/core/browser/password_manager_util.h"
46 #include "components/password_manager/core/common/credential_manager_types.h" 45 #include "components/password_manager/core/common/credential_manager_types.h"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 new ChromePasswordManagerClient(contents, autofill_client)); 134 new ChromePasswordManagerClient(contents, autofill_client));
136 } 135 }
137 136
138 ChromePasswordManagerClient::ChromePasswordManagerClient( 137 ChromePasswordManagerClient::ChromePasswordManagerClient(
139 content::WebContents* web_contents, 138 content::WebContents* web_contents,
140 autofill::AutofillClient* autofill_client) 139 autofill::AutofillClient* autofill_client)
141 : content::WebContentsObserver(web_contents), 140 : content::WebContentsObserver(web_contents),
142 profile_(Profile::FromBrowserContext(web_contents->GetBrowserContext())), 141 profile_(Profile::FromBrowserContext(web_contents->GetBrowserContext())),
143 password_manager_(this), 142 password_manager_(this),
144 driver_factory_(nullptr), 143 driver_factory_(nullptr),
145 credential_manager_dispatcher_(web_contents, this), 144 credential_manager_impl_(web_contents, this),
146 observer_(nullptr), 145 observer_(nullptr),
147 credentials_filter_(this, 146 credentials_filter_(this,
148 base::Bind(&GetSyncService, profile_), 147 base::Bind(&GetSyncService, profile_),
149 base::Bind(&GetSigninManager, profile_)) { 148 base::Bind(&GetSigninManager, profile_)) {
150 ContentPasswordManagerDriverFactory::CreateForWebContents(web_contents, this, 149 ContentPasswordManagerDriverFactory::CreateForWebContents(web_contents, this,
151 autofill_client); 150 autofill_client);
152 driver_factory_ = 151 driver_factory_ =
153 ContentPasswordManagerDriverFactory::FromWebContents(web_contents); 152 ContentPasswordManagerDriverFactory::FromWebContents(web_contents);
154 log_manager_ = password_manager::LogManager::Create( 153 log_manager_ = password_manager::LogManager::Create(
155 password_manager::PasswordManagerInternalsServiceFactory:: 154 password_manager::PasswordManagerInternalsServiceFactory::
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 328
330 void ChromePasswordManagerClient::NotifySuccessfulLoginWithExistingPassword( 329 void ChromePasswordManagerClient::NotifySuccessfulLoginWithExistingPassword(
331 const autofill::PasswordForm& form) { 330 const autofill::PasswordForm& form) {
332 if (!possible_auto_sign_in_) 331 if (!possible_auto_sign_in_)
333 return; 332 return;
334 333
335 if (possible_auto_sign_in_->username_value == form.username_value && 334 if (possible_auto_sign_in_->username_value == form.username_value &&
336 possible_auto_sign_in_->password_value == form.password_value && 335 possible_auto_sign_in_->password_value == form.password_value &&
337 possible_auto_sign_in_->origin == form.origin) { 336 possible_auto_sign_in_->origin == form.origin) {
338 PromptUserToEnableAutosigninIfNecessary(); 337 PromptUserToEnableAutosigninIfNecessary();
339 if (form.skip_zero_click && 338 if (form.skip_zero_click && credential_manager_impl_.IsZeroClickAllowed() &&
340 credential_manager_dispatcher_.IsZeroClickAllowed() &&
341 GetPasswordStore()) { 339 GetPasswordStore()) {
342 autofill::PasswordForm update(form); 340 autofill::PasswordForm update(form);
343 update.skip_zero_click = false; 341 update.skip_zero_click = false;
344 GetPasswordStore()->UpdateLogin(update); 342 GetPasswordStore()->UpdateLogin(update);
345 } 343 }
346 } 344 }
347 possible_auto_sign_in_.reset(); 345 possible_auto_sign_in_.reset();
348 } 346 }
349 347
350 void ChromePasswordManagerClient::AutomaticPasswordSave( 348 void ChromePasswordManagerClient::AutomaticPasswordSave(
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 610
613 const password_manager::CredentialsFilter* 611 const password_manager::CredentialsFilter*
614 ChromePasswordManagerClient::GetStoreResultFilter() const { 612 ChromePasswordManagerClient::GetStoreResultFilter() const {
615 return &credentials_filter_; 613 return &credentials_filter_;
616 } 614 }
617 615
618 const password_manager::LogManager* ChromePasswordManagerClient::GetLogManager() 616 const password_manager::LogManager* ChromePasswordManagerClient::GetLogManager()
619 const { 617 const {
620 return log_manager_.get(); 618 return log_manager_.get();
621 } 619 }
620
621 // static
622 void ChromePasswordManagerClient::BindCredentialManager(
623 content::RenderFrameHost* render_frame_host,
624 password_manager::mojom::CredentialManagerRequest request) {
625 content::WebContents* web_contents =
626 content::WebContents::FromRenderFrameHost(render_frame_host);
627 if (!web_contents) {
628 NOTREACHED();
629 return;
vabr (Chromium) 2016/03/09 16:26:29 The code style says: "do not handle DCHECK() failu
leonhsl(Using Gerrit) 2016/03/10 06:42:41 Done.
630 }
631
632 ChromePasswordManagerClient* instance =
633 ChromePasswordManagerClient::FromWebContents(web_contents);
634 // ChromePasswordManagerClient instance should have been created already.
vabr (Chromium) 2016/03/09 16:26:29 nit: You can drop the comment, the DCHECK says ess
leonhsl(Using Gerrit) 2016/03/10 06:42:41 Done.
635 DCHECK(instance);
636 instance->credential_manager_impl_.BindRequest(std::move(request));
637 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698