// Copyright 2013 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 CHROME_COMMON_EXTENSIONS_FEATURES_FEATURE_CHANNEL_H_ #define CHROME_COMMON_EXTENSIONS_FEATURES_FEATURE_CHANNEL_H_ #include "chrome/common/chrome_version_info.h" namespace extensions { // Gets the current channel as seen by the Feature system. chrome::VersionInfo::Channel GetCurrentChannel(); // Sets the current channel as seen by the Feature system. In the browser // process this should be chrome::VersionInfo::GetChannel(), and in the // renderer this will need to come from an IPC. void SetCurrentChannel(chrome::VersionInfo::Channel channel); // Gets the default channel as seen by the Feature system. chrome::VersionInfo::Channel GetDefaultChannel(); // Scoped channel setter. Use for tests. class ScopedCurrentChannel { public: explicit ScopedCurrentChannel(chrome::VersionInfo::Channel channel) : original_channel_(chrome::VersionInfo::CHANNEL_UNKNOWN) { original_channel_ = GetCurrentChannel(); SetCurrentChannel(channel); } ~ScopedCurrentChannel() { SetCurrentChannel(original_channel_); } private: chrome::VersionInfo::Channel original_channel_; }; } // namespace extensions #endif // CHROME_COMMON_EXTENSIONS_FEATURES_FEATURE_CHANNEL_H_