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

Side by Side Diff: chrome/browser/sync/internal_api/sync_manager.cc

Issue 7719011: Move some files from sync/engine to internal_api (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Created 9 years, 4 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/sync/internal_api/sync_manager.h" 5 #include "chrome/browser/sync/internal_api/sync_manager.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
11 #include "base/json/json_writer.h" 11 #include "base/json/json_writer.h"
12 #include "base/string_number_conversions.h" 12 #include "base/string_number_conversions.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "chrome/browser/sync/engine/all_status.h" 14 #include "chrome/browser/sync/engine/all_status.h"
15 #include "chrome/browser/sync/engine/change_reorder_buffer.h"
16 #include "chrome/browser/sync/engine/net/server_connection_manager.h" 15 #include "chrome/browser/sync/engine/net/server_connection_manager.h"
17 #include "chrome/browser/sync/engine/net/syncapi_server_connection_manager.h"
18 #include "chrome/browser/sync/engine/nigori_util.h" 16 #include "chrome/browser/sync/engine/nigori_util.h"
19 #include "chrome/browser/sync/engine/syncapi_internal.h" 17 #include "chrome/browser/sync/engine/syncapi_internal.h"
20 #include "chrome/browser/sync/engine/syncer_types.h" 18 #include "chrome/browser/sync/engine/syncer_types.h"
21 #include "chrome/browser/sync/engine/sync_scheduler.h" 19 #include "chrome/browser/sync/engine/sync_scheduler.h"
22 #include "chrome/browser/sync/internal_api/base_node.h" 20 #include "chrome/browser/sync/internal_api/base_node.h"
21 #include "chrome/browser/sync/internal_api/change_reorder_buffer.h"
22 #include "chrome/browser/sync/internal_api/configure_reason.h"
23 #include "chrome/browser/sync/internal_api/read_node.h" 23 #include "chrome/browser/sync/internal_api/read_node.h"
24 #include "chrome/browser/sync/internal_api/read_transaction.h" 24 #include "chrome/browser/sync/internal_api/read_transaction.h"
25 #include "chrome/browser/sync/internal_api/syncapi_server_connection_manager.h"
25 #include "chrome/browser/sync/internal_api/user_share.h" 26 #include "chrome/browser/sync/internal_api/user_share.h"
26 #include "chrome/browser/sync/internal_api/write_node.h" 27 #include "chrome/browser/sync/internal_api/write_node.h"
27 #include "chrome/browser/sync/internal_api/write_transaction.h" 28 #include "chrome/browser/sync/internal_api/write_transaction.h"
28 #include "chrome/browser/sync/js/js_arg_list.h" 29 #include "chrome/browser/sync/js/js_arg_list.h"
29 #include "chrome/browser/sync/js/js_backend.h" 30 #include "chrome/browser/sync/js/js_backend.h"
30 #include "chrome/browser/sync/js/js_event_details.h" 31 #include "chrome/browser/sync/js/js_event_details.h"
31 #include "chrome/browser/sync/js/js_event_handler.h" 32 #include "chrome/browser/sync/js/js_event_handler.h"
32 #include "chrome/browser/sync/js/js_reply_handler.h" 33 #include "chrome/browser/sync/js/js_reply_handler.h"
33 #include "chrome/browser/sync/js/js_sync_manager_observer.h" 34 #include "chrome/browser/sync/js/js_sync_manager_observer.h"
34 #include "chrome/browser/sync/js/js_transaction_observer.h" 35 #include "chrome/browser/sync/js/js_transaction_observer.h"
35 #include "chrome/browser/sync/notifier/sync_notifier.h" 36 #include "chrome/browser/sync/notifier/sync_notifier.h"
36 #include "chrome/browser/sync/notifier/sync_notifier_observer.h" 37 #include "chrome/browser/sync/notifier/sync_notifier_observer.h"
37 #include "chrome/browser/sync/protocol/proto_value_conversions.h" 38 #include "chrome/browser/sync/protocol/proto_value_conversions.h"
39 #include "chrome/browser/sync/protocol/sync.pb.h"
38 #include "chrome/browser/sync/syncable/directory_change_delegate.h" 40 #include "chrome/browser/sync/syncable/directory_change_delegate.h"
39 #include "chrome/browser/sync/syncable/directory_manager.h" 41 #include "chrome/browser/sync/syncable/directory_manager.h"
40 #include "chrome/browser/sync/syncable/model_type.h" 42 #include "chrome/browser/sync/syncable/model_type.h"
41 #include "chrome/browser/sync/syncable/syncable.h" 43 #include "chrome/browser/sync/syncable/syncable.h"
42 #include "chrome/browser/sync/util/cryptographer.h" 44 #include "chrome/browser/sync/util/cryptographer.h"
43 #include "chrome/browser/sync/weak_handle.h" 45 #include "chrome/browser/sync/weak_handle.h"
44 #include "net/base/network_change_notifier.h" 46 #include "net/base/network_change_notifier.h"
45 47
46 using std::string; 48 using std::string;
47 using std::vector; 49 using std::vector;
(...skipping 19 matching lines...) Expand all
67 using browser_sync::SyncEngineEventListener; 69 using browser_sync::SyncEngineEventListener;
68 using browser_sync::SyncScheduler; 70 using browser_sync::SyncScheduler;
69 using browser_sync::Syncer; 71 using browser_sync::Syncer;
70 using browser_sync::WeakHandle; 72 using browser_sync::WeakHandle;
71 using browser_sync::sessions::SyncSessionContext; 73 using browser_sync::sessions::SyncSessionContext;
72 using syncable::DirectoryManager; 74 using syncable::DirectoryManager;
73 using syncable::EntryKernelMutationSet; 75 using syncable::EntryKernelMutationSet;
74 using syncable::ModelType; 76 using syncable::ModelType;
75 using syncable::ModelTypeBitSet; 77 using syncable::ModelTypeBitSet;
76 using syncable::SPECIFICS; 78 using syncable::SPECIFICS;
79 using sync_pb::GetUpdatesCallerInfo;
77 80
78 typedef GoogleServiceAuthError AuthError; 81 typedef GoogleServiceAuthError AuthError;
79 82
80 namespace { 83 namespace {
81 84
82 static const int kSyncSchedulerDelayMsec = 250; 85 static const int kSyncSchedulerDelayMsec = 250;
83 86
84 #if defined(OS_CHROMEOS) 87 #if defined(OS_CHROMEOS)
85 static const int kChromeOSNetworkChangeReactionDelayHackMsec = 5000; 88 static const int kChromeOSNetworkChangeReactionDelayHackMsec = 5000;
86 #endif // OS_CHROMEOS 89 #endif // OS_CHROMEOS
87 90
91 GetUpdatesCallerInfo::GetUpdatesSource GetSourceFromReason(
92 sync_api::ConfigureReason reason) {
93 switch (reason) {
94 case sync_api::CONFIGURE_REASON_RECONFIGURATION:
95 return GetUpdatesCallerInfo::RECONFIGURATION;
96 case sync_api::CONFIGURE_REASON_MIGRATION:
97 return GetUpdatesCallerInfo::MIGRATION;
98 case sync_api::CONFIGURE_REASON_NEW_CLIENT:
99 return GetUpdatesCallerInfo::NEW_CLIENT;
100 case sync_api::CONFIGURE_REASON_NEWLY_ENABLED_DATA_TYPE:
101 return GetUpdatesCallerInfo::NEWLY_SUPPORTED_DATATYPE;
102 default:
103 NOTREACHED();
104 }
105
106 return GetUpdatesCallerInfo::UNKNOWN;
107 }
108
88 } // namespace 109 } // namespace
89 110
90 namespace sync_api { 111 namespace sync_api {
91 112
92 SyncManager::ChangeRecord::ChangeRecord() 113 SyncManager::ChangeRecord::ChangeRecord()
93 : id(kInvalidId), action(ACTION_ADD) {} 114 : id(kInvalidId), action(ACTION_ADD) {}
94 115
95 SyncManager::ChangeRecord::~ChangeRecord() {} 116 SyncManager::ChangeRecord::~ChangeRecord() {}
96 117
97 DictionaryValue* SyncManager::ChangeRecord::ToValue( 118 DictionaryValue* SyncManager::ChangeRecord::ToValue(
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 711
691 void SyncManager::RequestConfig(const syncable::ModelTypeBitSet& types, 712 void SyncManager::RequestConfig(const syncable::ModelTypeBitSet& types,
692 ConfigureReason reason) { 713 ConfigureReason reason) {
693 if (!data_->scheduler()) { 714 if (!data_->scheduler()) {
694 LOG(INFO) 715 LOG(INFO)
695 << "SyncManager::RequestConfig: bailing out because scheduler is " 716 << "SyncManager::RequestConfig: bailing out because scheduler is "
696 << "null"; 717 << "null";
697 return; 718 return;
698 } 719 }
699 StartConfigurationMode(NULL); 720 StartConfigurationMode(NULL);
700 data_->scheduler()->ScheduleConfig(types, reason); 721 data_->scheduler()->ScheduleConfig(types, GetSourceFromReason(reason));
701 } 722 }
702 723
703 void SyncManager::StartConfigurationMode(ModeChangeCallback* callback) { 724 void SyncManager::StartConfigurationMode(ModeChangeCallback* callback) {
704 if (!data_->scheduler()) { 725 if (!data_->scheduler()) {
705 LOG(INFO) 726 LOG(INFO)
706 << "SyncManager::StartConfigurationMode: could not start " 727 << "SyncManager::StartConfigurationMode: could not start "
707 << "configuration mode because because scheduler is null"; 728 << "configuration mode because because scheduler is null";
708 return; 729 return;
709 } 730 }
710 data_->scheduler()->Start( 731 data_->scheduler()->Start(
(...skipping 1328 matching lines...) Expand 10 before | Expand all | Expand 10 after
2039 2060
2040 for (syncable::ModelTypeSet::const_iterator i = types.begin(); 2061 for (syncable::ModelTypeSet::const_iterator i = types.begin();
2041 i != types.end(); ++i) { 2062 i != types.end(); ++i) {
2042 if (!lookup->initial_sync_ended_for_type(*i)) 2063 if (!lookup->initial_sync_ended_for_type(*i))
2043 return false; 2064 return false;
2044 } 2065 }
2045 return true; 2066 return true;
2046 } 2067 }
2047 2068
2048 } // namespace sync_api 2069 } // namespace sync_api
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698