Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / common / extensions / features / feature_channel.h
blob9108dd47596e37ce57989ce987476b6867ed60e9
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_COMMON_EXTENSIONS_FEATURES_FEATURE_CHANNEL_H_
6 #define CHROME_COMMON_EXTENSIONS_FEATURES_FEATURE_CHANNEL_H_
8 #include "base/macros.h"
10 namespace version_info {
11 enum class Channel;
14 namespace extensions {
16 // Gets the current channel as seen by the Feature system.
17 version_info::Channel GetCurrentChannel();
19 // Sets the current channel as seen by the Feature system. In the browser
20 // process this should be chrome::GetChannel(), and in the renderer this will
21 // need to come from an IPC.
22 void SetCurrentChannel(version_info::Channel channel);
24 // Gets the default channel as seen by the Feature system.
25 version_info::Channel GetDefaultChannel();
27 // Scoped channel setter. Use for tests.
28 class ScopedCurrentChannel {
29 public:
30 explicit ScopedCurrentChannel(version_info::Channel channel);
31 ~ScopedCurrentChannel();
33 private:
34 version_info::Channel original_channel_;
36 DISALLOW_COPY_AND_ASSIGN(ScopedCurrentChannel);
39 } // namespace extensions
41 #endif // CHROME_COMMON_EXTENSIONS_FEATURES_FEATURE_CHANNEL_H_