chrome_version_info_posix.cc revision f2477e01787aa58f445919b809d89e252beef54f
1// Copyright (c) 2011 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. 4 5#include "chrome/common/chrome_version_info.h" 6 7#include "build/build_config.h" 8 9namespace chrome { 10 11// static 12std::string VersionInfo::GetVersionStringModifier() { 13 char* env = getenv("CHROME_VERSION_EXTRA"); 14 if (!env) { 15 std::string modifier; 16#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) 17 modifier = "aura"; 18#endif 19 return modifier; 20 } 21 std::string modifier(env); 22 23#if defined(GOOGLE_CHROME_BUILD) 24 // Only ever return "", "unknown", "dev" or "beta" in a branded build. 25 if (modifier == "unstable") // linux version of "dev" 26 modifier = "dev"; 27 if (modifier == "stable") { 28 modifier = ""; 29 } else if ((modifier == "dev") || (modifier == "beta")) { 30 // do nothing. 31 } else { 32 modifier = "unknown"; 33 } 34#endif 35 36#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) 37 modifier += " aura"; 38#endif 39 40 return modifier; 41} 42 43// static 44VersionInfo::Channel VersionInfo::GetChannel() { 45#if defined(GOOGLE_CHROME_BUILD) 46 std::string channel = GetVersionStringModifier(); 47 if (channel.empty()) { 48 return CHANNEL_STABLE; 49 } else if (channel == "beta") { 50 return CHANNEL_BETA; 51 } else if (channel == "dev") { 52 return CHANNEL_DEV; 53 } else if (channel == "canary") { 54 return CHANNEL_CANARY; 55 } 56#endif 57 58 return CHANNEL_UNKNOWN; 59} 60 61} // namespace chrome 62