blob: e76455305f114110e8bb099fa3ddfa655bb8b9ae [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.
#include "ios/chrome/test/ios_chrome_scoped_testing_chrome_browser_provider.h"
#include "base/logging.h"
#import "ios/public/provider/chrome/browser/chrome_browser_provider.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
IOSChromeScopedTestingChromeBrowserProvider::
IOSChromeScopedTestingChromeBrowserProvider(
std::unique_ptr<ios::ChromeBrowserProvider> chrome_browser_provider)
: chrome_browser_provider_(std::move(chrome_browser_provider)),
original_chrome_browser_provider_(ios::GetChromeBrowserProvider()) {
ios::SetChromeBrowserProvider(chrome_browser_provider_.get());
}
IOSChromeScopedTestingChromeBrowserProvider::
~IOSChromeScopedTestingChromeBrowserProvider() {
DCHECK_EQ(chrome_browser_provider_.get(), ios::GetChromeBrowserProvider());
ios::SetChromeBrowserProvider(original_chrome_browser_provider_);
}