OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/bind_helpers.h" | 6 #include "base/bind_helpers.h" |
| 7 #include "base/callback.h" |
7 #include "base/command_line.h" | 8 #include "base/command_line.h" |
8 #include "base/prefs/pref_service.h" | 9 #include "base/prefs/pref_service.h" |
9 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
10 #include "base/strings/stringprintf.h" | 11 #include "base/strings/stringprintf.h" |
11 #include "base/strings/utf_string_conversions.h" | 12 #include "base/strings/utf_string_conversions.h" |
12 #include "base/time/time.h" | 13 #include "base/time/time.h" |
13 #include "chrome/app/chrome_command_ids.h" | 14 #include "chrome/app/chrome_command_ids.h" |
14 #include "chrome/browser/chrome_notification_types.h" | 15 #include "chrome/browser/chrome_notification_types.h" |
| 16 #include "chrome/browser/interstitials/security_interstitial_page_test_utils.h" |
15 #include "chrome/browser/profiles/profile.h" | 17 #include "chrome/browser/profiles/profile.h" |
16 #include "chrome/browser/ssl/ssl_blocking_page.h" | 18 #include "chrome/browser/ssl/ssl_blocking_page.h" |
17 #include "chrome/browser/ui/browser.h" | 19 #include "chrome/browser/ui/browser.h" |
18 #include "chrome/browser/ui/browser_commands.h" | 20 #include "chrome/browser/ui/browser_commands.h" |
19 #include "chrome/browser/ui/browser_navigator.h" | 21 #include "chrome/browser/ui/browser_navigator.h" |
20 #include "chrome/browser/ui/browser_tabstrip.h" | 22 #include "chrome/browser/ui/browser_tabstrip.h" |
21 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 23 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
22 #include "chrome/common/chrome_paths.h" | 24 #include "chrome/common/chrome_paths.h" |
23 #include "chrome/common/chrome_switches.h" | 25 #include "chrome/common/chrome_switches.h" |
24 #include "chrome/common/pref_names.h" | 26 #include "chrome/common/pref_names.h" |
(...skipping 12 matching lines...) Expand all Loading... |
37 #include "content/public/browser/web_contents.h" | 39 #include "content/public/browser/web_contents.h" |
38 #include "content/public/browser/web_contents_observer.h" | 40 #include "content/public/browser/web_contents_observer.h" |
39 #include "content/public/common/security_style.h" | 41 #include "content/public/common/security_style.h" |
40 #include "content/public/common/ssl_status.h" | 42 #include "content/public/common/ssl_status.h" |
41 #include "content/public/test/browser_test_utils.h" | 43 #include "content/public/test/browser_test_utils.h" |
42 #include "content/public/test/download_test_observer.h" | 44 #include "content/public/test/download_test_observer.h" |
43 #include "content/public/test/test_renderer_host.h" | 45 #include "content/public/test/test_renderer_host.h" |
44 #include "net/base/net_errors.h" | 46 #include "net/base/net_errors.h" |
45 #include "net/base/test_data_directory.h" | 47 #include "net/base/test_data_directory.h" |
46 #include "net/cert/cert_status_flags.h" | 48 #include "net/cert/cert_status_flags.h" |
| 49 #include "net/cert/x509_certificate.h" |
| 50 #include "net/ssl/ssl_info.h" |
47 #include "net/test/spawned_test_server/spawned_test_server.h" | 51 #include "net/test/spawned_test_server/spawned_test_server.h" |
48 | 52 |
49 #if defined(USE_NSS) | 53 #if defined(USE_NSS) |
50 #include "chrome/browser/net/nss_context.h" | 54 #include "chrome/browser/net/nss_context.h" |
51 #include "net/base/crypto_module.h" | 55 #include "net/base/crypto_module.h" |
52 #include "net/cert/nss_cert_database.h" | 56 #include "net/cert/nss_cert_database.h" |
53 #endif // defined(USE_NSS) | 57 #endif // defined(USE_NSS) |
54 | 58 |
55 using base::ASCIIToUTF16; | 59 using base::ASCIIToUTF16; |
| 60 using chrome_browser_interstitials::SecurityInterstitialIDNTest; |
56 using content::InterstitialPage; | 61 using content::InterstitialPage; |
57 using content::NavigationController; | 62 using content::NavigationController; |
58 using content::NavigationEntry; | 63 using content::NavigationEntry; |
59 using content::SSLStatus; | 64 using content::SSLStatus; |
60 using content::WebContents; | 65 using content::WebContents; |
61 using web_modal::WebContentsModalDialogManager; | 66 using web_modal::WebContentsModalDialogManager; |
62 | 67 |
63 const base::FilePath::CharType kDocRoot[] = | 68 const base::FilePath::CharType kDocRoot[] = |
64 FILE_PATH_LITERAL("chrome/test/data"); | 69 FILE_PATH_LITERAL("chrome/test/data"); |
65 | 70 |
(...skipping 1855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1921 ui::PAGE_TRANSITION_TYPED); | 1926 ui::PAGE_TRANSITION_TYPED); |
1922 EXPECT_EQ(2, browser()->tab_strip_model()->count()); | 1927 EXPECT_EQ(2, browser()->tab_strip_model()->count()); |
1923 EXPECT_EQ(0, browser()->tab_strip_model()->active_index()); | 1928 EXPECT_EQ(0, browser()->tab_strip_model()->active_index()); |
1924 EXPECT_EQ(tab, browser()->tab_strip_model()->GetWebContentsAt(1)); | 1929 EXPECT_EQ(tab, browser()->tab_strip_model()->GetWebContentsAt(1)); |
1925 EXPECT_FALSE(tab->GetRenderWidgetHostView()->IsShowing()); | 1930 EXPECT_FALSE(tab->GetRenderWidgetHostView()->IsShowing()); |
1926 | 1931 |
1927 browser()->tab_strip_model()->ActivateTabAt(1, true); | 1932 browser()->tab_strip_model()->ActivateTabAt(1, true); |
1928 EXPECT_TRUE(tab->GetRenderWidgetHostView()->IsShowing()); | 1933 EXPECT_TRUE(tab->GetRenderWidgetHostView()->IsShowing()); |
1929 } | 1934 } |
1930 | 1935 |
| 1936 class SSLBlockingPageIDNTest : public SecurityInterstitialIDNTest { |
| 1937 protected: |
| 1938 // SecurityInterstitialIDNTest implementation |
| 1939 SecurityInterstitialPage* CreateInterstitial( |
| 1940 content::WebContents* contents, |
| 1941 const GURL& request_url) const override { |
| 1942 net::SSLInfo ssl_info; |
| 1943 ssl_info.cert = new net::X509Certificate( |
| 1944 request_url.host(), "CA", base::Time::Max(), base::Time::Max()); |
| 1945 return new SSLBlockingPage( |
| 1946 contents, net::ERR_CERT_CONTAINS_ERRORS, ssl_info, request_url, 0, |
| 1947 base::Time::NowFromSystemTime(), base::Callback<void(bool)>()); |
| 1948 } |
| 1949 }; |
| 1950 |
| 1951 IN_PROC_BROWSER_TEST_F(SSLBlockingPageIDNTest, SSLBlockingPageDecodesIDN) { |
| 1952 EXPECT_TRUE(VerifyIDNDecoded()); |
| 1953 } |
| 1954 |
1931 // TODO(jcampan): more tests to do below. | 1955 // TODO(jcampan): more tests to do below. |
1932 | 1956 |
1933 // Visit a page over https that contains a frame with a redirect. | 1957 // Visit a page over https that contains a frame with a redirect. |
1934 | 1958 |
1935 // XMLHttpRequest insecure content in synchronous mode. | 1959 // XMLHttpRequest insecure content in synchronous mode. |
1936 | 1960 |
1937 // XMLHttpRequest insecure content in asynchronous mode. | 1961 // XMLHttpRequest insecure content in asynchronous mode. |
1938 | 1962 |
1939 // XMLHttpRequest over bad ssl in synchronous mode. | 1963 // XMLHttpRequest over bad ssl in synchronous mode. |
1940 | 1964 |
1941 // XMLHttpRequest over OK ssl in synchronous mode. | 1965 // XMLHttpRequest over OK ssl in synchronous mode. |
OLD | NEW |