blob: 34e13d8a5632ab63b085c1c576763efb2eff7091 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SYNC_BASE_EXPERIMENTS_H_
#define COMPONENTS_SYNC_BASE_EXPERIMENTS_H_
#include <string>
#include "components/sync/base/model_type.h"
namespace syncer {
const char kFaviconSyncTag[] = "favicon_sync";
const char kPreCommitUpdateAvoidanceTag[] = "pre_commit_update_avoidance";
const char kGCMInvalidationsTag[] = "gcm_invalidations";
// A structure to hold the enable status of experimental sync features.
struct Experiments {
Experiments()
: favicon_sync_limit(200),
// By default GCM channel is enabled:
gcm_invalidations_enabled(true) {}
bool Matches(const Experiments& rhs) {
return (favicon_sync_limit == rhs.favicon_sync_limit &&
gcm_invalidations_enabled == rhs.gcm_invalidations_enabled);
}
// The number of favicons that a client is permitted to sync.
int favicon_sync_limit;
// Enable invalidations over GCM channel.
bool gcm_invalidations_enabled;
};
} // namespace syncer
#endif // COMPONENTS_SYNC_BASE_EXPERIMENTS_H_