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

Side by Side Diff: components/sync/driver/glue/sync_backend_host_core.h

Issue 2568743004: [Sync] Stop deleting LevelDB files when deleting Directory (Closed)
Patch Set: Updated for Max's comments. Created 3 years, 12 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 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 COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_CORE_H_ 5 #ifndef COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_CORE_H_
6 #define COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_CORE_H_ 6 #define COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_CORE_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 21 matching lines...) Expand all
32 class SyncBackendHostImpl; 32 class SyncBackendHostImpl;
33 33
34 class SyncBackendHostCore 34 class SyncBackendHostCore
35 : public base::RefCountedThreadSafe<SyncBackendHostCore>, 35 : public base::RefCountedThreadSafe<SyncBackendHostCore>,
36 public base::trace_event::MemoryDumpProvider, 36 public base::trace_event::MemoryDumpProvider,
37 public SyncEncryptionHandler::Observer, 37 public SyncEncryptionHandler::Observer,
38 public SyncManager::Observer, 38 public SyncManager::Observer,
39 public TypeDebugInfoObserver { 39 public TypeDebugInfoObserver {
40 public: 40 public:
41 SyncBackendHostCore(const std::string& name, 41 SyncBackendHostCore(const std::string& name,
42 const base::FilePath& sync_data_folder_path, 42 const base::FilePath& sync_data_folder,
43 const base::WeakPtr<SyncBackendHostImpl>& backend); 43 const base::WeakPtr<SyncBackendHostImpl>& backend);
44 44
45 // MemoryDumpProvider implementation. 45 // MemoryDumpProvider implementation.
46 bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args, 46 bool OnMemoryDump(const base::trace_event::MemoryDumpArgs& args,
47 base::trace_event::ProcessMemoryDump* pmd) override; 47 base::trace_event::ProcessMemoryDump* pmd) override;
48 48
49 // SyncManager::Observer implementation. The Core just acts like an air 49 // SyncManager::Observer implementation. The Core just acts like an air
50 // traffic controller here, forwarding incoming messages to appropriate 50 // traffic controller here, forwarding incoming messages to appropriate
51 // landing threads. 51 // landing threads.
52 void OnSyncCycleCompleted(const SyncCycleSnapshot& snapshot) override; 52 void OnSyncCycleCompleted(const SyncCycleSnapshot& snapshot) override;
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
166 void DisableProtocolEventForwarding(); 166 void DisableProtocolEventForwarding();
167 167
168 // Enables the forwarding of directory type debug counters to the 168 // Enables the forwarding of directory type debug counters to the
169 // SyncEngineHost. Also requests that updates to all counters be emitted right 169 // SyncEngineHost. Also requests that updates to all counters be emitted right
170 // away to initialize any new listeners' states. 170 // away to initialize any new listeners' states.
171 void EnableDirectoryTypeDebugInfoForwarding(); 171 void EnableDirectoryTypeDebugInfoForwarding();
172 172
173 // Disables forwarding of directory type debug counters. 173 // Disables forwarding of directory type debug counters.
174 void DisableDirectoryTypeDebugInfoForwarding(); 174 void DisableDirectoryTypeDebugInfoForwarding();
175 175
176 // Delete the sync data folder to cleanup backend data. Happens the first
177 // time sync is enabled for a user (to prevent accidentally reusing old
178 // sync databases), as well as shutdown when you're no longer syncing.
179 void DeleteSyncDataFolder();
180
181 // Tell the sync manager to persist its state by writing to disk. 176 // Tell the sync manager to persist its state by writing to disk.
182 // Called on the sync thread, both by a timer and, on Android, when the 177 // Called on the sync thread, both by a timer and, on Android, when the
183 // application is backgrounded. 178 // application is backgrounded.
184 void SaveChanges(); 179 void SaveChanges();
185 180
186 void DoClearServerData( 181 void DoClearServerData(
187 const SyncManager::ClearServerDataCallback& frontend_callback); 182 const SyncManager::ClearServerDataCallback& frontend_callback);
188 183
189 // Notify the syncer that the cookie jar has changed. 184 // Notify the syncer that the cookie jar has changed.
190 void DoOnCookieJarChanged(bool account_mismatch, bool empty_jar); 185 void DoOnCookieJarChanged(bool account_mismatch, bool empty_jar);
191 186
192 private: 187 private:
193 friend class base::RefCountedThreadSafe<SyncBackendHostCore>; 188 friend class base::RefCountedThreadSafe<SyncBackendHostCore>;
194 189
195 ~SyncBackendHostCore() override; 190 ~SyncBackendHostCore() override;
196 191
197 // Invoked when initialization of syncapi is complete and we can start 192 // Invoked when initialization of syncapi is complete and we can start
198 // our timer. 193 // our timer.
199 // This must be called from the thread on which SaveChanges is intended to 194 // This must be called from the thread on which SaveChanges is intended to
200 // be run on; the host's |registrar_->sync_thread()|. 195 // be run on; the host's |registrar_->sync_thread()|.
201 void StartSavingChanges(); 196 void StartSavingChanges();
202 197
203 void ClearServerDataDone(const base::Closure& frontend_callback); 198 void ClearServerDataDone(const base::Closure& frontend_callback);
204 199
205 // Name used for debugging. 200 // Name used for debugging.
206 const std::string name_; 201 const std::string name_;
207 202
208 // Path of the folder that stores the sync data files. 203 // Path of the folder that stores the sync data files.
209 const base::FilePath sync_data_folder_path_; 204 const base::FilePath sync_data_folder_;
210 205
211 // Our parent SyncBackendHostImpl. 206 // Our parent SyncBackendHostImpl.
212 WeakHandle<SyncBackendHostImpl> host_; 207 WeakHandle<SyncBackendHostImpl> host_;
213 208
214 // Non-null only between calls to DoInitialize() and DoShutdown(). 209 // Non-null only between calls to DoInitialize() and DoShutdown().
215 std::unique_ptr<SyncBackendRegistrar> registrar_; 210 std::unique_ptr<SyncBackendRegistrar> registrar_;
216 211
217 // The timer used to periodically call SaveChanges. 212 // The timer used to periodically call SaveChanges.
218 std::unique_ptr<base::RepeatingTimer> save_changes_timer_; 213 std::unique_ptr<base::RepeatingTimer> save_changes_timer_;
219 214
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 base::ThreadChecker thread_checker_; 248 base::ThreadChecker thread_checker_;
254 249
255 base::WeakPtrFactory<SyncBackendHostCore> weak_ptr_factory_; 250 base::WeakPtrFactory<SyncBackendHostCore> weak_ptr_factory_;
256 251
257 DISALLOW_COPY_AND_ASSIGN(SyncBackendHostCore); 252 DISALLOW_COPY_AND_ASSIGN(SyncBackendHostCore);
258 }; 253 };
259 254
260 } // namespace syncer 255 } // namespace syncer
261 256
262 #endif // COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_CORE_H_ 257 #endif // COMPONENTS_SYNC_DRIVER_GLUE_SYNC_BACKEND_HOST_CORE_H_
OLDNEW
« no previous file with comments | « components/browser_sync/profile_sync_service.cc ('k') | components/sync/driver/glue/sync_backend_host_core.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698