|  | // 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 CHROME_BROWSER_INTERSTITIALS_SECURITY_INTERSTITIAL_PAGE_TEST_UTILS_H_ | 
|  | #define CHROME_BROWSER_INTERSTITIALS_SECURITY_INTERSTITIAL_PAGE_TEST_UTILS_H_ | 
|  |  | 
|  | #include <string> | 
|  |  | 
|  | #include "chrome/test/base/in_process_browser_test.h" | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace content { | 
|  | class InterstitialPage; | 
|  | class WebContents; | 
|  | } | 
|  |  | 
|  | class GURL; | 
|  | class SecurityInterstitialPage; | 
|  |  | 
|  | namespace chrome_browser_interstitials { | 
|  |  | 
|  | bool IsInterstitialDisplayingText( | 
|  | const content::InterstitialPage* const interstitial, | 
|  | const std::string& text); | 
|  |  | 
|  | // This class is used for testing the display of IDN names in security | 
|  | // interstitials. | 
|  | class SecurityInterstitialIDNTest : public InProcessBrowserTest { | 
|  | public: | 
|  | // InProcessBrowserTest implementation | 
|  | void SetUpOnMainThread() override; | 
|  |  | 
|  | // Run a test that creates an interstitial with an IDN request URL | 
|  | // and checks that it is properly decoded. | 
|  | testing::AssertionResult VerifyIDNDecoded() const; | 
|  |  | 
|  | protected: | 
|  | virtual SecurityInterstitialPage* CreateInterstitial( | 
|  | content::WebContents* contents, | 
|  | const GURL& request_url) const = 0; | 
|  | }; | 
|  |  | 
|  | }  // namespace chrome_browser_interstitials | 
|  |  | 
|  | #endif  // CHROME_BROWSER_INTERSTITIALS_SECURITY_INTERSTITIAL_PAGE_TEST_UTILS_H_ |