| 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 "content/public/browser/resource_dispatcher_host.h" | 5 #include "content/public/browser/resource_dispatcher_host.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 866 ContentBrowserTest::SetUpOnMainThread(); | 866 ContentBrowserTest::SetUpOnMainThread(); |
| 867 | 867 |
| 868 ASSERT_TRUE(embedded_test_server()->Start()); | 868 ASSERT_TRUE(embedded_test_server()->Start()); |
| 869 | 869 |
| 870 delegate_.reset(new RequestDataResourceDispatcherHostDelegate()); | 870 delegate_.reset(new RequestDataResourceDispatcherHostDelegate()); |
| 871 | 871 |
| 872 content::BrowserThread::PostTask( | 872 content::BrowserThread::PostTask( |
| 873 content::BrowserThread::IO, FROM_HERE, | 873 content::BrowserThread::IO, FROM_HERE, |
| 874 base::Bind(&RequestDataResourceDispatcherHostDelegate::SetDelegate, | 874 base::Bind(&RequestDataResourceDispatcherHostDelegate::SetDelegate, |
| 875 base::Unretained(delegate_.get()))); | 875 base::Unretained(delegate_.get()))); |
| 876 host_resolver()->AddRule("*", "127.0.0.1"); |
| 876 } | 877 } |
| 877 | 878 |
| 878 protected: | 879 protected: |
| 879 std::unique_ptr<RequestDataResourceDispatcherHostDelegate> delegate_; | 880 std::unique_ptr<RequestDataResourceDispatcherHostDelegate> delegate_; |
| 880 }; | 881 }; |
| 881 | 882 |
| 882 IN_PROC_BROWSER_TEST_F(RequestDataResourceDispatcherHostBrowserTest, Basic) { | 883 IN_PROC_BROWSER_TEST_F(RequestDataResourceDispatcherHostBrowserTest, Basic) { |
| 883 GURL top_url(embedded_test_server()->GetURL("/page_with_subresources.html")); | 884 GURL top_url(embedded_test_server()->GetURL("/page_with_subresources.html")); |
| 884 url::Origin top_origin(top_url); | 885 url::Origin top_origin(top_url); |
| 885 | 886 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 905 for (const auto& request : delegate_->data()) { | 906 for (const auto& request : delegate_->data()) { |
| 906 SCOPED_TRACE(request->url); | 907 SCOPED_TRACE(request->url); |
| 907 EXPECT_EQ(top_url, request->first_party); | 908 EXPECT_EQ(top_url, request->first_party); |
| 908 EXPECT_EQ(top_origin, request->initiator); | 909 EXPECT_EQ(top_origin, request->initiator); |
| 909 } | 910 } |
| 910 } | 911 } |
| 911 } | 912 } |
| 912 | 913 |
| 913 IN_PROC_BROWSER_TEST_F(RequestDataResourceDispatcherHostBrowserTest, | 914 IN_PROC_BROWSER_TEST_F(RequestDataResourceDispatcherHostBrowserTest, |
| 914 BasicCrossSite) { | 915 BasicCrossSite) { |
| 915 host_resolver()->AddRule("*", "127.0.0.1"); | |
| 916 GURL top_url(embedded_test_server()->GetURL( | 916 GURL top_url(embedded_test_server()->GetURL( |
| 917 "a.com", "/nested_page_with_subresources.html")); | 917 "a.com", "/nested_page_with_subresources.html")); |
| 918 GURL nested_url(embedded_test_server()->GetURL( | 918 GURL nested_url(embedded_test_server()->GetURL( |
| 919 "not-a.com", "/page_with_subresources.html")); | 919 "not-a.com", "/page_with_subresources.html")); |
| 920 url::Origin top_origin(top_url); | 920 url::Origin top_origin(top_url); |
| 921 url::Origin nested_origin(nested_url); | 921 url::Origin nested_origin(nested_url); |
| 922 | 922 |
| 923 NavigateToURLBlockUntilNavigationsComplete(shell(), top_url, 1); | 923 NavigateToURLBlockUntilNavigationsComplete(shell(), top_url, 1); |
| 924 | 924 |
| 925 EXPECT_EQ(9u, delegate_->data().size()); | 925 EXPECT_EQ(9u, delegate_->data().size()); |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1092 if (IsBrowserSideNavigationEnabled()) { | 1092 if (IsBrowserSideNavigationEnabled()) { |
| 1093 EXPECT_FALSE(delegate_->data()[0]->initiator.has_value()); | 1093 EXPECT_FALSE(delegate_->data()[0]->initiator.has_value()); |
| 1094 } else { | 1094 } else { |
| 1095 ASSERT_TRUE(delegate_->data()[0]->initiator.has_value()); | 1095 ASSERT_TRUE(delegate_->data()[0]->initiator.has_value()); |
| 1096 EXPECT_EQ(top_origin, delegate_->data()[0]->initiator); | 1096 EXPECT_EQ(top_origin, delegate_->data()[0]->initiator); |
| 1097 } | 1097 } |
| 1098 } | 1098 } |
| 1099 | 1099 |
| 1100 IN_PROC_BROWSER_TEST_F(RequestDataResourceDispatcherHostBrowserTest, | 1100 IN_PROC_BROWSER_TEST_F(RequestDataResourceDispatcherHostBrowserTest, |
| 1101 CrossOriginNested) { | 1101 CrossOriginNested) { |
| 1102 host_resolver()->AddRule("*", "127.0.0.1"); | |
| 1103 GURL top_url(embedded_test_server()->GetURL( | 1102 GURL top_url(embedded_test_server()->GetURL( |
| 1104 "a.com", "/cross_site_iframe_factory.html?a(b)")); | 1103 "a.com", "/cross_site_iframe_factory.html?a(b)")); |
| 1105 GURL top_js_url( | 1104 GURL top_js_url( |
| 1106 embedded_test_server()->GetURL("a.com", "/tree_parser_util.js")); | 1105 embedded_test_server()->GetURL("a.com", "/tree_parser_util.js")); |
| 1107 GURL nested_url(embedded_test_server()->GetURL( | 1106 GURL nested_url(embedded_test_server()->GetURL( |
| 1108 "b.com", "/cross_site_iframe_factory.html?b()")); | 1107 "b.com", "/cross_site_iframe_factory.html?b()")); |
| 1109 GURL nested_js_url( | 1108 GURL nested_js_url( |
| 1110 embedded_test_server()->GetURL("b.com", "/tree_parser_util.js")); | 1109 embedded_test_server()->GetURL("b.com", "/tree_parser_util.js")); |
| 1111 url::Origin top_origin(top_url); | 1110 url::Origin top_origin(top_url); |
| 1112 url::Origin nested_origin(nested_url); | 1111 url::Origin nested_origin(nested_url); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 1138 EXPECT_EQ(top_origin, delegate_->data()[2]->initiator); | 1137 EXPECT_EQ(top_origin, delegate_->data()[2]->initiator); |
| 1139 | 1138 |
| 1140 // Cross-origin subresource requests have a unique first-party, and an | 1139 // Cross-origin subresource requests have a unique first-party, and an |
| 1141 // initiator that matches the document in which they're embedded. | 1140 // initiator that matches the document in which they're embedded. |
| 1142 EXPECT_EQ(nested_js_url, delegate_->data()[3]->url); | 1141 EXPECT_EQ(nested_js_url, delegate_->data()[3]->url); |
| 1143 EXPECT_EQ(kURLWithUniqueOrigin, delegate_->data()[3]->first_party); | 1142 EXPECT_EQ(kURLWithUniqueOrigin, delegate_->data()[3]->first_party); |
| 1144 EXPECT_EQ(nested_origin, delegate_->data()[3]->initiator); | 1143 EXPECT_EQ(nested_origin, delegate_->data()[3]->initiator); |
| 1145 } | 1144 } |
| 1146 | 1145 |
| 1147 } // namespace content | 1146 } // namespace content |
| OLD | NEW |