| Index: chrome/browser/sync/engine/syncapi.cc
|
| ===================================================================
|
| --- chrome/browser/sync/engine/syncapi.cc (revision 72686)
|
| +++ chrome/browser/sync/engine/syncapi.cc (working copy)
|
| @@ -41,7 +41,6 @@
|
| #include "chrome/browser/sync/protocol/sync.pb.h"
|
| #include "chrome/browser/sync/protocol/theme_specifics.pb.h"
|
| #include "chrome/browser/sync/protocol/typed_url_specifics.pb.h"
|
| -#include "chrome/browser/sync/sessions/sync_session.h"
|
| #include "chrome/browser/sync/sessions/sync_session_context.h"
|
| #include "chrome/browser/sync/syncable/autofill_migration.h"
|
| #include "chrome/browser/sync/syncable/directory_manager.h"
|
| @@ -84,7 +83,6 @@
|
|
|
| static const int kThreadExitTimeoutMsec = 60000;
|
| static const int kSSLPort = 443;
|
| -static const int kSyncerThreadDelayMsec = 250;
|
|
|
| #if defined(OS_CHROMEOS)
|
| static const int kChromeOSNetworkChangeReactionDelayHackMsec = 5000;
|
| @@ -2195,29 +2193,22 @@
|
|
|
| void SyncManager::SyncInternal::OnIncomingNotification(
|
| const IncomingNotificationData& notification_data) {
|
| - browser_sync::sessions::TypePayloadMap model_types_with_payloads;
|
| + syncable::ModelTypeBitSet model_types;
|
|
|
| // Check if the service url is a sync URL. An empty service URL is
|
| // treated as a legacy sync notification. If we're listening to
|
| // server-issued notifications, no need to check the service_url.
|
| if (notifier_options_.notification_method ==
|
| notifier::NOTIFICATION_SERVER) {
|
| - VLOG(1) << "Sync received server notification from " <<
|
| - notification_data.service_url << ": " <<
|
| + VLOG(1) << "Sync received server notification: " <<
|
| notification_data.service_specific_data;
|
| - syncable::ModelTypeBitSet model_types;
|
| - const std::string& model_type_list = notification_data.service_url;
|
| - const std::string& notification_payload =
|
| - notification_data.service_specific_data;
|
|
|
| - if (!syncable::ModelTypeBitSetFromString(model_type_list, &model_types)) {
|
| + if (!syncable::ModelTypeBitSetFromString(
|
| + notification_data.service_specific_data,
|
| + &model_types)) {
|
| LOG(DFATAL) << "Could not extract model types from server data.";
|
| model_types.set();
|
| }
|
| -
|
| - model_types_with_payloads =
|
| - browser_sync::sessions::ModelTypeBitSetToTypePayloadMap(
|
| - model_types, notification_payload);
|
| } else if (notification_data.service_url.empty() ||
|
| (notification_data.service_url ==
|
| browser_sync::kSyncLegacyServiceUrl) ||
|
| @@ -2225,24 +2216,20 @@
|
| browser_sync::kSyncServiceUrl)) {
|
| VLOG(1) << "Sync received P2P notification.";
|
|
|
| - // Catch for sync integration tests (uses p2p). Just set all enabled
|
| - // datatypes.
|
| - ModelSafeRoutingInfo routes;
|
| - registrar_->GetModelSafeRoutingInfo(&routes);
|
| - model_types_with_payloads =
|
| - browser_sync::sessions::RoutingInfoToTypePayloadMap(routes,
|
| - std::string());
|
| + // Catch for sync integration tests (uses p2p). Just set all datatypes.
|
| + model_types.set();
|
| } else {
|
| LOG(WARNING) << "Notification fron unexpected source: "
|
| << notification_data.service_url;
|
| }
|
|
|
| - if (!model_types_with_payloads.empty()) {
|
| + if (model_types.any()) {
|
| if (syncer_thread()) {
|
| - syncer_thread()->NudgeSyncerWithPayloads(
|
| - kSyncerThreadDelayMsec,
|
| - SyncerThread::kNotification,
|
| - model_types_with_payloads);
|
| + // Introduce a delay to help coalesce initial notifications.
|
| + syncer_thread()->NudgeSyncerWithDataTypes(
|
| + 250,
|
| + SyncerThread::kNotification,
|
| + model_types);
|
| }
|
| allstatus_.IncrementNotificationsReceived();
|
| } else {
|
|
|