blob: 18b57e586498e2791a5af6d7437cc4f838f32d4a [file] [log] [blame]
// 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.
#ifndef IOS_CHROME_TEST_IOS_CHROME_SCOPED_TESTING_CHROME_BROWSER_PROVIDER_H_
#define IOS_CHROME_TEST_IOS_CHROME_SCOPED_TESTING_CHROME_BROWSER_PROVIDER_H_
#include <memory>
#include "base/macros.h"
namespace ios {
class ChromeBrowserProvider;
}
// Helper class to temporarily set up a ChromeBrowserProvider and restore
// the previous one on teardown.
class IOSChromeScopedTestingChromeBrowserProvider {
public:
explicit IOSChromeScopedTestingChromeBrowserProvider(
std::unique_ptr<ios::ChromeBrowserProvider> chrome_browser_provider);
~IOSChromeScopedTestingChromeBrowserProvider();
private:
std::unique_ptr<ios::ChromeBrowserProvider> chrome_browser_provider_;
ios::ChromeBrowserProvider* original_chrome_browser_provider_;
DISALLOW_COPY_AND_ASSIGN(IOSChromeScopedTestingChromeBrowserProvider);
};
#endif // IOS_CHROME_TEST_IOS_CHROME_SCOPED_TESTING_CHROME_BROWSER_PROVIDER_H_