Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(275)

Side by Side Diff: content/browser/frame_host/navigation_handle_impl_browsertest.cc

Issue 2889003002: Change NavigationEntry to use virtual URL in error pages for blocked navigations (Closed)
Patch Set: Add a test for reload. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/memory/weak_ptr.h" 5 #include "base/memory/weak_ptr.h"
6 #include "content/browser/frame_host/navigation_handle_impl.h" 6 #include "content/browser/frame_host/navigation_handle_impl.h"
7 #include "content/browser/web_contents/web_contents_impl.h" 7 #include "content/browser/web_contents/web_contents_impl.h"
8 #include "content/public/browser/web_contents.h" 8 #include "content/public/browser/web_contents.h"
9 #include "content/public/browser/web_contents_observer.h" 9 #include "content/public/browser/web_contents_observer.h"
10 #include "content/public/common/browser_side_navigation_policy.h" 10 #include "content/public/common/browser_side_navigation_policy.h"
(...skipping 1176 matching lines...) Expand 10 before | Expand all | Expand 10 after
1187 ExecuteScript(shell(), base::StringPrintf("location.href = '%s'", 1187 ExecuteScript(shell(), base::StringPrintf("location.href = '%s'",
1188 blocked_url.spec().c_str()))); 1188 blocked_url.spec().c_str())));
1189 navigation_observer.Wait(); 1189 navigation_observer.Wait();
1190 EXPECT_TRUE(observer.has_committed()); 1190 EXPECT_TRUE(observer.has_committed());
1191 EXPECT_TRUE(observer.is_error()); 1191 EXPECT_TRUE(observer.is_error());
1192 EXPECT_EQ(site_instance, 1192 EXPECT_EQ(site_instance,
1193 shell()->web_contents()->GetMainFrame()->GetSiteInstance()); 1193 shell()->web_contents()->GetMainFrame()->GetSiteInstance());
1194 } 1194 }
1195 1195
1196 { 1196 {
1197 // Reloading the page should not transfer processes. 1197 // Reloading the blocked document should load about:blank and not transfer
1198 NavigationHandleObserver observer(shell()->web_contents(), blocked_url); 1198 // processes.
1199 GURL about_blank_url(url::kAboutBlankURL);
1200 NavigationHandleObserver observer(shell()->web_contents(), about_blank_url);
1199 TestNavigationObserver navigation_observer(shell()->web_contents(), 1); 1201 TestNavigationObserver navigation_observer(shell()->web_contents(), 1);
1200 1202
1201 shell()->Reload(); 1203 shell()->Reload();
1202 navigation_observer.Wait(); 1204 navigation_observer.Wait();
1203 EXPECT_TRUE(observer.has_committed()); 1205 EXPECT_TRUE(observer.has_committed());
1204 EXPECT_TRUE(observer.is_error()); 1206 EXPECT_FALSE(observer.is_error());
1205 EXPECT_EQ(site_instance, 1207 EXPECT_EQ(site_instance,
1206 shell()->web_contents()->GetMainFrame()->GetSiteInstance()); 1208 shell()->web_contents()->GetMainFrame()->GetSiteInstance());
1207 } 1209 }
1208 1210
1209 installer.reset(); 1211 installer.reset();
1210 1212
1211 { 1213 {
1212 // With the throttle uninstalled, going back should return to |start_url| in 1214 // With the throttle uninstalled, going back should return to |start_url| in
1213 // the same process, and clear the error page. 1215 // the same process, and clear the error page.
1214 NavigationHandleObserver observer(shell()->web_contents(), start_url); 1216 NavigationHandleObserver observer(shell()->web_contents(), start_url);
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1270 NavigationHandleObserver observer(shell()->web_contents(), error_url); 1272 NavigationHandleObserver observer(shell()->web_contents(), error_url);
1271 EXPECT_FALSE(NavigateToURL(shell(), error_url)); 1273 EXPECT_FALSE(NavigateToURL(shell(), error_url));
1272 EXPECT_TRUE(observer.has_committed()); 1274 EXPECT_TRUE(observer.has_committed());
1273 EXPECT_TRUE(observer.is_error()); 1275 EXPECT_TRUE(observer.is_error());
1274 EXPECT_NE(site_instance, 1276 EXPECT_NE(site_instance,
1275 shell()->web_contents()->GetMainFrame()->GetSiteInstance()); 1277 shell()->web_contents()->GetMainFrame()->GetSiteInstance());
1276 } 1278 }
1277 } 1279 }
1278 1280
1279 } // namespace content 1281 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698