// Copyright 2014 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 "content/test/content_browser_sanity_checker.h" #include "base/bind.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/test/web_contents_observer_sanity_checker.h" namespace content { namespace { bool g_sanity_checks_already_enabled = false; } ContentBrowserSanityChecker::ContentBrowserSanityChecker() { CHECK(!g_sanity_checks_already_enabled) << "Tried to enable ContentBrowserSanityChecker, but it's already been " << "enabled."; g_sanity_checks_already_enabled = true; creation_hook_ = base::Bind(&ContentBrowserSanityChecker::OnWebContentsCreated, base::Unretained(this)); WebContentsImpl::FriendZone::AddCreatedCallbackForTesting(creation_hook_); } ContentBrowserSanityChecker::~ContentBrowserSanityChecker() { WebContentsImpl::FriendZone::RemoveCreatedCallbackForTesting(creation_hook_); g_sanity_checks_already_enabled = false; } void ContentBrowserSanityChecker::OnWebContentsCreated( WebContents* web_contents) { WebContentsObserverSanityChecker::Enable(web_contents); } } // namespace content