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

Side by Side Diff: chrome/browser/password_manager/password_syncable_service.h

Issue 27233003: [Sync] Implementation of model association for passwords using sync API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: For review. Created 7 years, 2 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_SYNCABLE_SERVICE_H__ 5 #ifndef CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_SYNCABLE_SERVICE_H__
6 #define CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_SYNCABLE_SERVICE_H__ 6 #define CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_SYNCABLE_SERVICE_H__
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 13 matching lines...) Expand all
24 } // namespace syncer 24 } // namespace syncer
25 25
26 class PasswordStore; 26 class PasswordStore;
27 27
28 class PasswordSyncableService : public syncer::SyncableService { 28 class PasswordSyncableService : public syncer::SyncableService {
29 public: 29 public:
30 explicit PasswordSyncableService(PasswordStore* password_store); 30 explicit PasswordSyncableService(PasswordStore* password_store);
31 virtual ~PasswordSyncableService(); 31 virtual ~PasswordSyncableService();
32 32
33 typedef std::vector<autofill::PasswordForm*> PasswordVector; 33 typedef std::vector<autofill::PasswordForm*> PasswordVector;
34 typedef std::map<std::string,
35 std::pair<syncer::SyncChange::SyncChangeType,
36 std::vector<autofill::PasswordForm*>::iterator > >
37 PasswordEntryMap;
34 38
35 // syncer::SyncableServiceImplementations 39 // syncer::SyncableServiceImplementations
36 virtual syncer::SyncMergeResult MergeDataAndStartSyncing( 40 virtual syncer::SyncMergeResult MergeDataAndStartSyncing(
37 syncer::ModelType type, 41 syncer::ModelType type,
38 const syncer::SyncDataList& initial_sync_data, 42 const syncer::SyncDataList& initial_sync_data,
39 scoped_ptr<syncer::SyncChangeProcessor> sync_processor, 43 scoped_ptr<syncer::SyncChangeProcessor> sync_processor,
40 scoped_ptr<syncer::SyncErrorFactory> error_handler) OVERRIDE; 44 scoped_ptr<syncer::SyncErrorFactory> error_handler) OVERRIDE;
41 virtual void StopSyncing(syncer::ModelType type) OVERRIDE; 45 virtual void StopSyncing(syncer::ModelType type) OVERRIDE;
42 virtual syncer::SyncDataList GetAllSyncData( 46 virtual syncer::SyncDataList GetAllSyncData(
43 syncer::ModelType type) const OVERRIDE; 47 syncer::ModelType type) const OVERRIDE;
44 virtual syncer::SyncError ProcessSyncChanges( 48 virtual syncer::SyncError ProcessSyncChanges(
45 const tracked_objects::Location& from_here, 49 const tracked_objects::Location& from_here,
46 const syncer::SyncChangeList& change_list) OVERRIDE; 50 const syncer::SyncChangeList& change_list) OVERRIDE;
47 51
48 // Static 52 // Static
49 static std::string MakeTag(const autofill::PasswordForm& password); 53 static std::string MakeTag(const autofill::PasswordForm& password);
50 // Static 54 // Static
51 static std::string MakeTag(const sync_pb::PasswordSpecificsData& password); 55 static std::string MakeTag(const sync_pb::PasswordSpecificsData& password);
52 // Static 56 // Static
53 static std::string MakeTag(const std::string& origin_url, 57 static std::string MakeTag(const std::string& origin_url,
54 const std::string& username_element, 58 const std::string& username_element,
55 const std::string& username_value, 59 const std::string& username_value,
56 const std::string& password_element, 60 const std::string& password_element,
57 const std::string& signon_realm); 61 const std::string& signon_realm);
62 // Static
Nicolas Zea 2013/10/15 22:04:10 Rebase onto your other patch?
lipalani1 2013/10/18 23:33:03 Done.
63 static syncer::SyncData PasswordSyncableService::CreateSyncData(
64 const autofill::PasswordForm& password);
65 // Static
66 static void ExtractPasswordFromSpecifics(
67 const sync_pb::PasswordSpecificsData& password,
68 autofill::PasswordForm* new_password);
58 69
59 private: 70 private:
60 bool PasswordSyncableService::WriteToPasswordStore( 71 bool PasswordSyncableService::WriteToPasswordStore(
61 PasswordVector* new_entries, 72 PasswordVector* new_entries,
62 PasswordVector* udpated_entries); 73 PasswordVector* udpated_entries);
63 74
64 syncer::SyncData PasswordSyncableService::CreateSyncData( 75 void CreateOrUpdateEntry(
65 const autofill::PasswordForm& password); 76 const syncer::SyncData& data,
77 PasswordEntryMap* loaded_data,
78 std::vector<autofill::PasswordForm*>* new_entries,
79 std::vector<autofill::PasswordForm*>* udpated_entries);
80
81 // Virtual so tests can override.
82 virtual void NotifyPasswordStore();
66 83
67 scoped_ptr<syncer::SyncErrorFactory> sync_error_factory_; 84 scoped_ptr<syncer::SyncErrorFactory> sync_error_factory_;
68 scoped_ptr<syncer::SyncChangeProcessor> sync_processor_; 85 scoped_ptr<syncer::SyncChangeProcessor> sync_processor_;
69 scoped_refptr<PasswordStore> password_store_; 86 scoped_refptr<PasswordStore> password_store_;
70 }; 87 };
71 88
72 #endif // CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_SYNCABLE_SERVICE_H__ 89 #endif // CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_SYNCABLE_SERVICE_H__
73 90
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698