| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stdint.h> | 5 #include <stdint.h> |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "content/browser/web_contents/web_contents_impl.h" | 10 #include "content/browser/web_contents/web_contents_impl.h" |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 RenderFrameHost* initial_rfh = | 99 RenderFrameHost* initial_rfh = |
| 100 static_cast<WebContentsImpl*>(shell()->web_contents()) | 100 static_cast<WebContentsImpl*>(shell()->web_contents()) |
| 101 ->GetFrameTree()->root()->current_frame_host(); | 101 ->GetFrameTree()->root()->current_frame_host(); |
| 102 | 102 |
| 103 // Simulate clicking on a same-site link. | 103 // Simulate clicking on a same-site link. |
| 104 { | 104 { |
| 105 TestNavigationObserver observer(shell()->web_contents()); | 105 TestNavigationObserver observer(shell()->web_contents()); |
| 106 GURL url(embedded_test_server()->GetURL("/title2.html")); | 106 GURL url(embedded_test_server()->GetURL("/title2.html")); |
| 107 bool success = false; | 107 bool success = false; |
| 108 EXPECT_TRUE(ExecuteScriptAndExtractBool( | 108 EXPECT_TRUE(ExecuteScriptAndExtractBool( |
| 109 shell()->web_contents(), | 109 shell(), "window.domAutomationController.send(clickSameSiteLink());", |
| 110 "window.domAutomationController.send(clickSameSiteLink());", &success)); | 110 &success)); |
| 111 EXPECT_TRUE(success); | 111 EXPECT_TRUE(success); |
| 112 EXPECT_TRUE(WaitForLoadStop(shell()->web_contents())); | 112 EXPECT_TRUE(WaitForLoadStop(shell()->web_contents())); |
| 113 EXPECT_EQ(url, observer.last_navigation_url()); | 113 EXPECT_EQ(url, observer.last_navigation_url()); |
| 114 EXPECT_TRUE(observer.last_navigation_succeeded()); | 114 EXPECT_TRUE(observer.last_navigation_succeeded()); |
| 115 } | 115 } |
| 116 | 116 |
| 117 // The RenderFrameHost should not have changed. | 117 // The RenderFrameHost should not have changed. |
| 118 EXPECT_EQ(initial_rfh, static_cast<WebContentsImpl*>(shell()->web_contents()) | 118 EXPECT_EQ(initial_rfh, static_cast<WebContentsImpl*>(shell()->web_contents()) |
| 119 ->GetFrameTree()->root()->current_frame_host()); | 119 ->GetFrameTree()->root()->current_frame_host()); |
| 120 } | 120 } |
| (...skipping 17 matching lines...) Expand all Loading... |
| 138 | 138 |
| 139 // Simulate clicking on a cross-site link. | 139 // Simulate clicking on a cross-site link. |
| 140 { | 140 { |
| 141 TestNavigationObserver observer(shell()->web_contents()); | 141 TestNavigationObserver observer(shell()->web_contents()); |
| 142 const char kReplacePortNumber[] = | 142 const char kReplacePortNumber[] = |
| 143 "window.domAutomationController.send(setPortNumber(%d));"; | 143 "window.domAutomationController.send(setPortNumber(%d));"; |
| 144 uint16_t port_number = embedded_test_server()->port(); | 144 uint16_t port_number = embedded_test_server()->port(); |
| 145 GURL url = embedded_test_server()->GetURL("foo.com", "/title2.html"); | 145 GURL url = embedded_test_server()->GetURL("foo.com", "/title2.html"); |
| 146 bool success = false; | 146 bool success = false; |
| 147 EXPECT_TRUE(ExecuteScriptAndExtractBool( | 147 EXPECT_TRUE(ExecuteScriptAndExtractBool( |
| 148 shell()->web_contents(), | 148 shell(), base::StringPrintf(kReplacePortNumber, port_number), |
| 149 base::StringPrintf(kReplacePortNumber, port_number), | |
| 150 &success)); | 149 &success)); |
| 151 success = false; | 150 success = false; |
| 152 EXPECT_TRUE(ExecuteScriptAndExtractBool( | 151 EXPECT_TRUE(ExecuteScriptAndExtractBool( |
| 153 shell()->web_contents(), | 152 shell(), "window.domAutomationController.send(clickCrossSiteLink());", |
| 154 "window.domAutomationController.send(clickCrossSiteLink());", | |
| 155 &success)); | 153 &success)); |
| 156 EXPECT_TRUE(success); | 154 EXPECT_TRUE(success); |
| 157 EXPECT_TRUE(WaitForLoadStop(shell()->web_contents())); | 155 EXPECT_TRUE(WaitForLoadStop(shell()->web_contents())); |
| 158 EXPECT_EQ(url, observer.last_navigation_url()); | 156 EXPECT_EQ(url, observer.last_navigation_url()); |
| 159 EXPECT_TRUE(observer.last_navigation_succeeded()); | 157 EXPECT_TRUE(observer.last_navigation_succeeded()); |
| 160 } | 158 } |
| 161 | 159 |
| 162 // The RenderFrameHost should not have changed unless site-per-process is | 160 // The RenderFrameHost should not have changed unless site-per-process is |
| 163 // enabled. | 161 // enabled. |
| 164 if (AreAllSitesIsolatedForTesting()) { | 162 if (AreAllSitesIsolatedForTesting()) { |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 // Original page shouldn't navigate away. | 265 // Original page shouldn't navigate away. |
| 268 EXPECT_EQ(kUrl, shell()->web_contents()->GetURL()); | 266 EXPECT_EQ(kUrl, shell()->web_contents()->GetURL()); |
| 269 EXPECT_FALSE(shell() | 267 EXPECT_FALSE(shell() |
| 270 ->web_contents() | 268 ->web_contents() |
| 271 ->GetController() | 269 ->GetController() |
| 272 .GetLastCommittedEntry() | 270 .GetLastCommittedEntry() |
| 273 ->IsViewSourceMode()); | 271 ->IsViewSourceMode()); |
| 274 } | 272 } |
| 275 | 273 |
| 276 } // namespace content | 274 } // namespace content |
| OLD | NEW |