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

Unified Diff: sync/tools/sync_client.cc

Issue 17911005: Merge 208347 "Revert 208315 "Make use of InvalidationService"" (Closed) Base URL: svn://svn.chromium.org/chrome/branches/1547/src/
Patch Set: Created 7 years, 6 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
« no previous file with comments | « sync/sync_tests.gypi ('k') | sync/tools/sync_listen_notifications.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/tools/sync_client.cc
===================================================================
--- sync/tools/sync_client.cc (revision 208727)
+++ sync/tools/sync_client.cc (working copy)
@@ -17,7 +17,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/message_loop.h"
-#include "base/rand_util.h"
#include "base/task_runner.h"
#include "base/threading/thread.h"
#include "jingle/notifier/base/notification_method.h"
@@ -41,7 +40,8 @@
#include "sync/js/js_event_details.h"
#include "sync/js/js_event_handler.h"
#include "sync/notifier/invalidation_state_tracker.h"
-#include "sync/notifier/non_blocking_invalidator.h"
+#include "sync/notifier/invalidator.h"
+#include "sync/notifier/invalidator_factory.h"
#include "sync/test/fake_encryptor.h"
#include "sync/tools/null_invalidation_state_tracker.h"
@@ -215,14 +215,15 @@
LOG_IF(INFO, notifier_options.allow_insecure_connection)
<< "Allowing insecure XMPP connections.";
+ if (command_line.HasSwitch(kNotificationMethodSwitch)) {
+ notifier_options.notification_method =
+ notifier::StringToNotificationMethod(
+ command_line.GetSwitchValueASCII(kNotificationMethodSwitch));
+ }
+
return notifier_options;
}
-void StubNetworkTimeUpdateCallback(const base::Time&,
- const base::TimeDelta&,
- const base::TimeDelta&) {
-}
-
int SyncClientMain(int argc, char* argv[]) {
#if defined(OS_MACOSX)
base::mac::ScopedNSAutoreleasePool pool;
@@ -249,6 +250,7 @@
if (credentials.email.empty() || credentials.sync_token.empty()) {
std::printf("Usage: %s --%s=foo@bar.com --%s=token\n"
"[--%s=host:port] [--%s] [--%s]\n"
+ "[--%s=(server|p2p)]\n\n"
"Run chrome and set a breakpoint on\n"
"syncer::SyncManagerImpl::UpdateCredentials() "
"after logging into\n"
@@ -256,7 +258,8 @@
argv[0],
kEmailSwitch, kTokenSwitch, kXmppHostPortSwitch,
kXmppTrySslTcpFirstSwitch,
- kXmppAllowInsecureConnectionSwitch);
+ kXmppAllowInsecureConnectionSwitch,
+ kNotificationMethodSwitch);
return -1;
}
@@ -269,49 +272,18 @@
new MyTestURLRequestContextGetter(io_thread.message_loop_proxy());
const notifier::NotifierOptions& notifier_options =
ParseNotifierOptions(command_line, context_getter);
- const char kClientInfo[] = "standalone_sync_client";
- std::string invalidator_id = base::RandBytesAsString(8);
+ const char kClientInfo[] = "sync_listen_notifications";
NullInvalidationStateTracker null_invalidation_state_tracker;
- scoped_ptr<Invalidator> invalidator(new NonBlockingInvalidator(
- notifier_options,
- invalidator_id,
- null_invalidation_state_tracker.GetAllInvalidationStates(),
- null_invalidation_state_tracker.GetBootstrapData(),
- WeakHandle<InvalidationStateTracker>(
- null_invalidation_state_tracker.AsWeakPtr()),
- kClientInfo));
+ InvalidatorFactory invalidator_factory(
+ notifier_options, kClientInfo,
+ null_invalidation_state_tracker.AsWeakPtr());
// Set up database directory for the syncer.
base::ScopedTempDir database_dir;
CHECK(database_dir.CreateUniqueTempDir());
- // Developers often add types to ModelTypeSet::All() before the server
- // supports them. We need to be explicit about which types we want here.
- ModelTypeSet model_types;
- model_types.Put(BOOKMARKS);
- model_types.Put(PREFERENCES);
- model_types.Put(PASSWORDS);
- model_types.Put(AUTOFILL);
- model_types.Put(THEMES);
- model_types.Put(TYPED_URLS);
- model_types.Put(EXTENSIONS);
- model_types.Put(NIGORI);
- model_types.Put(SEARCH_ENGINES);
- model_types.Put(SESSIONS);
- model_types.Put(APPS);
- model_types.Put(AUTOFILL_PROFILE);
- model_types.Put(APP_SETTINGS);
- model_types.Put(EXTENSION_SETTINGS);
- model_types.Put(APP_NOTIFICATIONS);
- model_types.Put(HISTORY_DELETE_DIRECTIVES);
- model_types.Put(SYNCED_NOTIFICATIONS);
- model_types.Put(DEVICE_INFO);
- model_types.Put(EXPERIMENTS);
- model_types.Put(PRIORITY_PREFERENCES);
- model_types.Put(DICTIONARY);
- model_types.Put(FAVICON_IMAGES);
- model_types.Put(FAVICON_TRACKING);
-
+ // Set up model type parameters.
+ const ModelTypeSet model_types = ModelTypeSet::All();
ModelSafeRoutingInfo routing_info;
for (ModelTypeSet::Iterator it = model_types.First();
it.Good(); it.Inc()) {
@@ -335,10 +307,8 @@
const char kUserAgent[] = "sync_client";
// TODO(akalin): Replace this with just the context getter once
// HttpPostProviderFactory is removed.
- scoped_ptr<HttpPostProviderFactory> post_factory(
- new HttpBridgeFactory(context_getter,
- kUserAgent,
- base::Bind(&StubNetworkTimeUpdateCallback)));
+ scoped_ptr<HttpPostProviderFactory> post_factory(new HttpBridgeFactory(
+ context_getter.get(), kUserAgent, NetworkTimeUpdateCallback()));
// Used only when committing bookmarks, so it's okay to leave this
// as NULL.
ExtensionsActivityMonitor* extensions_activity_monitor = NULL;
@@ -363,7 +333,9 @@
extensions_activity_monitor,
&change_delegate,
credentials,
- invalidator_id,
+ scoped_ptr<Invalidator>(
+ invalidator_factory.CreateInvalidator()),
+ invalidator_factory.GetInvalidatorClientId(),
kRestoredKeyForBootstrapping,
kRestoredKeystoreKeyForBootstrapping,
scoped_ptr<InternalComponentsFactory>(
@@ -373,10 +345,7 @@
&LogUnrecoverableErrorContext, false);
// TODO(akalin): Avoid passing in model parameters multiple times by
// organizing handling of model types.
- invalidator->UpdateCredentials(credentials.email, credentials.sync_token);
- invalidator->RegisterHandler(sync_manager.get());
- invalidator->UpdateRegisteredIds(
- sync_manager.get(), ModelTypeSetToObjectIdSet(model_types));
+ sync_manager->UpdateEnabledTypes(model_types);
sync_manager->StartSyncingNormally(routing_info);
sync_loop.Run();
« no previous file with comments | « sync/sync_tests.gypi ('k') | sync/tools/sync_listen_notifications.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698