chromium/ios/web/public/test/scoped_testing_web_client.mm

// Copyright 2015 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#import "ios/web/public/test/scoped_testing_web_client.h"

#import "base/check_op.h"
#import "ios/web/public/web_client.h"

namespace web {

ScopedTestingWebClient::ScopedTestingWebClient(
    std::unique_ptr<WebClient> web_client)
    : web_client_(std::move(web_client)), original_web_client_(GetWebClient()) {
  SetWebClient(web_client_.get());
}

ScopedTestingWebClient::~ScopedTestingWebClient() {
  DCHECK_EQ(GetWebClient(), web_client_.get());
  SetWebClient(original_web_client_);
}

WebClient* ScopedTestingWebClient::Get() {
  return web_client_.get();
}

}  // namespace web