Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / common / extensions / features / feature_channel.h
blobe915aac07fed32843062344c497fbcf8ece56f75
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 "chrome/common/chrome_version_info.h"
10 namespace extensions {
12 // Gets the current channel as seen by the Feature system.
13 chrome::VersionInfo::Channel GetCurrentChannel();
15 // Sets the current channel as seen by the Feature system. In the browser
16 // process this should be chrome::VersionInfo::GetChannel(), and in the
17 // renderer this will need to come from an IPC.
18 void SetCurrentChannel(chrome::VersionInfo::Channel channel);
20 // Gets the default channel as seen by the Feature system.
21 chrome::VersionInfo::Channel GetDefaultChannel();
23 // Scoped channel setter. Use for tests.
24 class ScopedCurrentChannel {
25 public:
26 explicit ScopedCurrentChannel(chrome::VersionInfo::Channel channel)
27 : original_channel_(chrome::VersionInfo::CHANNEL_UNKNOWN) {
28 original_channel_ = GetCurrentChannel();
29 SetCurrentChannel(channel);
32 ~ScopedCurrentChannel() {
33 SetCurrentChannel(original_channel_);
36 private:
37 chrome::VersionInfo::Channel original_channel_;
40 } // namespace extensions
42 #endif // CHROME_COMMON_EXTENSIONS_FEATURES_FEATURE_CHANNEL_H_