| Index: chrome/installer/setup/persistent_histogram_storage.h
|
| diff --git a/chrome/test/base/mojo_test_connector.h b/chrome/installer/setup/persistent_histogram_storage.h
|
| similarity index 15%
|
| copy from chrome/test/base/mojo_test_connector.h
|
| copy to chrome/installer/setup/persistent_histogram_storage.h
|
| index bf295f1cb800041a48441fc8110454c48b201c07..db0871e7a6e08fe53c826acb61523aa029958813 100644
|
| --- a/chrome/test/base/mojo_test_connector.h
|
| +++ b/chrome/installer/setup/persistent_histogram_storage.h
|
| @@ -2,56 +2,44 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_TEST_BASE_MOJO_TEST_CONNECTOR_H_
|
| -#define CHROME_TEST_BASE_MOJO_TEST_CONNECTOR_H_
|
| -
|
| -#include <memory>
|
| +#ifndef CHROME_INSTALLER_SETUP_PERSISTENT_HISTOGRAM_STORAGE_H_
|
| +#define CHROME_INSTALLER_SETUP_PERSISTENT_HISTOGRAM_STORAGE_H_
|
|
|
| +#include "base/files/file_path.h"
|
| #include "base/macros.h"
|
| -#include "base/process/process_handle.h"
|
| -#include "base/test/launcher/test_launcher.h"
|
| -#include "services/shell/background/background_shell.h"
|
| -#include "services/shell/public/interfaces/service.mojom.h"
|
| -
|
| -namespace base {
|
| -class CommandLine;
|
| -}
|
| -
|
| -namespace content {
|
| -class TestState;
|
| -}
|
| -
|
| -// MojoTestConnector in responsible for providing the necessary wiring for
|
| -// test processes to get a mojo channel passed to them. To use this class
|
| -// call PrepareForTest() prior to launching each test. It is expected
|
| -// PrepareForTest() is called from content::TestLauncherDelegate::PreRunTest().
|
| -class MojoTestConnector {
|
| - public:
|
| - // Switch added to command line of each test.
|
| - static const char kTestSwitch[];
|
|
|
| - // Command line switch added to all apps that are expected to be provided by
|
| - // browser_tests.
|
| - static const char kMashApp[];
|
| +namespace installer {
|
|
|
| - MojoTestConnector();
|
| - ~MojoTestConnector();
|
| +// When a PersistentHistogramStorage is destructed, histograms recorded during
|
| +// its lifetime are persisted in the directory set by set_storage_dir().
|
| +// Histograms are not persisted if set_storage_dir() has not been called or if
|
| +// the storage directory does not exist on destruction.
|
| +// PersistentHistogramStorage should be instantiated as early as possible in the
|
| +// process lifetime and should never be instantiated again. Persisted histograms
|
| +// will eventually be reported by the browser process.
|
| +class PersistentHistogramStorage {
|
| + public:
|
| + PersistentHistogramStorage();
|
| + ~PersistentHistogramStorage();
|
|
|
| - // Initializes the background thread the Shell runs on.
|
| - shell::mojom::ServiceRequest Init();
|
| + // Sets |storage_dir| as the directory in which histograms will be persisted
|
| + // when this PersistentHistogramStorage is destructed.
|
| + void set_storage_dir(const base::FilePath& storage_dir) {
|
| + storage_dir_ = storage_dir;
|
| + }
|
|
|
| - std::unique_ptr<content::TestState> PrepareForTest(
|
| - base::CommandLine* command_line,
|
| - base::TestLauncher::LaunchOptions* test_launch_options);
|
| + // Returns a directory in which setup histograms must be persisted to be
|
| + // reported by a product installed in |target_path|. Should be used as
|
| + // argument to set_storage_dir().
|
| + static base::FilePath GetReportedStorageDir(
|
| + const base::FilePath& target_path);
|
|
|
| private:
|
| - class NativeRunnerDelegateImpl;
|
| + base::FilePath storage_dir_;
|
|
|
| - std::unique_ptr<NativeRunnerDelegateImpl> native_runner_delegate_;
|
| -
|
| - shell::BackgroundShell background_shell_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MojoTestConnector);
|
| + DISALLOW_COPY_AND_ASSIGN(PersistentHistogramStorage);
|
| };
|
|
|
| -#endif // CHROME_TEST_BASE_MOJO_TEST_CONNECTOR_H_
|
| +} // namespace installer
|
| +
|
| +#endif // CHROME_INSTALLER_SETUP_PERSISTENT_HISTOGRAM_STORAGE_H_
|
|
|