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

Unified Diff: chrome/browser/password_manager/password_form_manager_win.cc

Issue 114057: Re-land the password store work from bug 8205, with changes that should fix b... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 7 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: chrome/browser/password_manager/password_form_manager_win.cc
===================================================================
--- chrome/browser/password_manager/password_form_manager_win.cc (revision 17245)
+++ chrome/browser/password_manager/password_form_manager_win.cc (working copy)
@@ -1,77 +0,0 @@
-// Copyright (c) 2009 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.
-
-#include "chrome/browser/password_manager/password_form_manager.h"
-
-#include "base/string_util.h"
-#include "chrome/browser/password_manager/ie7_password.h"
-#include "chrome/browser/password_manager/password_manager.h"
-#include "chrome/browser/profile.h"
-
-void PasswordFormManager::FetchMatchingIE7LoginFromWebDatabase() {
- DCHECK_EQ(state_, PRE_MATCHING_PHASE);
- DCHECK(!pending_login_query_);
- state_ = MATCHING_PHASE;
- WebDataService* web_data_service =
- profile_->GetWebDataService(Profile::EXPLICIT_ACCESS);
- if (!web_data_service) {
- NOTREACHED();
- return;
- }
-
- IE7PasswordInfo info;
- std::wstring url = ASCIIToWide(observed_form_.origin.spec());
- info.url_hash = ie7_password::GetUrlHash(url);
- pending_login_query_ = web_data_service->GetIE7Login(info, this);
-}
-
-void PasswordFormManager::OnIE7RequestDone(WebDataService::Handle h,
- const WDTypedResult* result) {
- // Get the result from the database into a usable form.
- const WDResult<IE7PasswordInfo>* r =
- static_cast<const WDResult<IE7PasswordInfo>*>(result);
- IE7PasswordInfo result_value = r->GetValue();
-
- state_ = POST_MATCHING_PHASE;
-
- if (!result_value.encrypted_data.empty()) {
- // We got a result.
- // Delete the entry. If it's good we will add it to the real saved password
- // table.
- WebDataService* web_data_service =
- profile_->GetWebDataService(Profile::EXPLICIT_ACCESS);
- if (!web_data_service) {
- NOTREACHED();
- return;
- }
- web_data_service->RemoveIE7Login(result_value);
-
- std::wstring username;
- std::wstring password;
- std::wstring url = ASCIIToWide(observed_form_.origin.spec());
- if (!ie7_password::DecryptPassword(url, result_value.encrypted_data,
- &username, &password)) {
- return;
- }
-
- PasswordForm* auto_fill = new PasswordForm(observed_form_);
- auto_fill->username_value = username;
- auto_fill->password_value = password;
- auto_fill->preferred = true;
- auto_fill->ssl_valid = observed_form_.origin.SchemeIsSecure();
- auto_fill->date_created = result_value.date_created;
- // Add this PasswordForm to the saved password table.
- web_data_service->AddLogin(*auto_fill);
-
- if (IgnoreResult(*auto_fill)) {
- delete auto_fill;
- return;
- }
-
- best_matches_[auto_fill->username_value] = auto_fill;
- preferred_match_ = auto_fill;
- password_manager_->Autofill(observed_form_, best_matches_,
- preferred_match_);
- }
-}
« no previous file with comments | « chrome/browser/password_manager/password_form_manager.cc ('k') | chrome/browser/password_manager/password_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698