chromium/components/sync/base/command_line_switches.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_SYNC_BASE_COMMAND_LINE_SWITCHES_H_
#define COMPONENTS_SYNC_BASE_COMMAND_LINE_SWITCHES_H_

namespace syncer {

// Disables syncing browser data to a Google Account.
inline constexpr char kDisableSync[] =;

// Allows overriding the deferred init fallback timeout.
inline constexpr char kSyncDeferredStartupTimeoutSeconds[] =;

// Controls whether the initial state of the "Capture Specifics" flag on
// chrome://sync-internals is enabled.
inline constexpr char kSyncIncludeSpecificsInProtocolLog[] =;

// Controls the number of ProtocolEvents that are buffered, and thus can be
// displayed on newly-opened chrome://sync-internals tabs.
inline constexpr char kSyncProtocolLogBufferSize[] =;

// Overrides the default server used for profile sync.
inline constexpr char kSyncServiceURL[] =;

// This flag causes sync to retry very quickly (see polling_constants.h) the
// when it encounters an error, as the first step towards exponential backoff.
inline constexpr char kSyncShortInitialRetryOverride[] =;
// This flag significantly shortens the delay between nudge cycles. Its primary
// purpose is to speed up integration tests. The normal delay allows coalescing
// and prevention of server overload, so don't use this unless you're really
// sure that it's what you want.
inline constexpr char kSyncShortNudgeDelayForTest[] =;

// Returns whether sync is allowed to run based on command-line switches.
// Profile::IsSyncAllowed() is probably a better signal than this function.
// This function can be called from any thread, and the implementation doesn't
// assume it's running on the UI thread.
bool IsSyncAllowedByFlag();

}  // namespace syncer

#endif  // COMPONENTS_SYNC_BASE_COMMAND_LINE_SWITCHES_H_