1ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// found in the LICENSE file. 4ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 5ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#ifndef CHROME_BROWSER_SXS_LINUX_H_ 6ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#define CHROME_BROWSER_SXS_LINUX_H_ 7ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 8ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "base/compiler_specific.h" 9ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 10ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace base { 11ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochclass FilePath; 12ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 13ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 14ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace sxs_linux { 15ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 16ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Records channel of the running browser in user data dir. This is needed 17ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// to support a seamless and automatic upgrade from non-side-by-side 18ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// to side-by-side Linux packages (the latter use different default data dirs). 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Must be run on a blocking thread pool. 20ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochvoid AddChannelMarkToUserDataDir(); 21ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 2258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Returns true if user data dir migration has been requested. 2358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)bool ShouldMigrateUserDataDir() WARN_UNUSED_RESULT; 2458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 2558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Migrates user data dir to a side-by-side-compatible one. 2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)// Returns exit code - caller should make the process exit with that code. 2758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)int MigrateUserDataDir() WARN_UNUSED_RESULT; 2858537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) 29ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} // namespace sxs_linux 30ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 31ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#endif // CHROME_BROWSER_SXS_LINUX_H_ 32