// Copyright 2015 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. #include "mojo/runner/scoped_user_data_dir.h" #include "base/command_line.h" #include "base/logging.h" #include "mojo/runner/switches.h" namespace mojo { namespace runner { ScopedUserDataDir::ScopedUserDataDir() { base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); if (!command_line->HasSwitch(switches::kUseTemporaryUserDataDir)) return; if (command_line->HasSwitch(switches::kUserDataDir)) { // User should not specify a --user-data-dir manually when using // --use-temporary-user-data-dir. The point of the flag is to let the // mojo runner process manage the lifetime of the user data dir. LOG(ERROR) << "Ignoring request to --use-temporary-user-data-dir because " << "--user-data-dir was also specified."; return; } if (!temp_dir_.CreateUniqueTempDir()) { LOG(ERROR) << "Failed to create a temporary user data dir."; return; } command_line->AppendSwitchPath(switches::kUserDataDir, temp_dir_.path()); } ScopedUserDataDir::~ScopedUserDataDir() { } } // namespace runner } // namespace mojo