| Index: content/browser/web_contents/web_contents_impl_browsertest.cc
|
| diff --git a/content/browser/web_contents/web_contents_impl_browsertest.cc b/content/browser/web_contents/web_contents_impl_browsertest.cc
|
| index a0a9c40fe13677bfb6ab8d825940b17f9698095c..532cf018ff75835e539d3dc92fd89b18181a7961 100644
|
| --- a/content/browser/web_contents/web_contents_impl_browsertest.cc
|
| +++ b/content/browser/web_contents/web_contents_impl_browsertest.cc
|
| @@ -189,6 +189,60 @@ class LoadingStateChangedDelegate : public WebContentsDelegate {
|
| int loadingStateToDifferentDocumentCount_;
|
| };
|
|
|
| +// See: http://crbug.com/298193
|
| +#if defined(OS_WIN) || defined(OS_LINUX)
|
| +#define MAYBE_DidStopLoadingDetails DISABLED_DidStopLoadingDetails
|
| +#else
|
| +#define MAYBE_DidStopLoadingDetails DidStopLoadingDetails
|
| +#endif
|
| +
|
| +// Test that DidStopLoading includes the correct URL in the details.
|
| +IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest,
|
| + MAYBE_DidStopLoadingDetails) {
|
| + ASSERT_TRUE(embedded_test_server()->Start());
|
| +
|
| + LoadStopNotificationObserver load_observer(
|
| + &shell()->web_contents()->GetController());
|
| + NavigateToURL(shell(), embedded_test_server()->GetURL("/title1.html"));
|
| + load_observer.Wait();
|
| +
|
| + EXPECT_EQ("/title1.html", load_observer.url_.path());
|
| + EXPECT_EQ(0, load_observer.session_index_);
|
| + EXPECT_EQ(&shell()->web_contents()->GetController(),
|
| + load_observer.controller_);
|
| +}
|
| +
|
| +// See: http://crbug.com/298193
|
| +#if defined(OS_WIN) || defined(OS_LINUX)
|
| +#define MAYBE_DidStopLoadingDetailsWithPending \
|
| + DISABLED_DidStopLoadingDetailsWithPending
|
| +#else
|
| +#define MAYBE_DidStopLoadingDetailsWithPending DidStopLoadingDetailsWithPending
|
| +#endif
|
| +
|
| +// Test that DidStopLoading includes the correct URL in the details when a
|
| +// pending entry is present.
|
| +IN_PROC_BROWSER_TEST_F(WebContentsImplBrowserTest,
|
| + MAYBE_DidStopLoadingDetailsWithPending) {
|
| + ASSERT_TRUE(embedded_test_server()->Start());
|
| + GURL url("data:text/html,<div>test</div>");
|
| +
|
| + // Listen for the first load to stop.
|
| + LoadStopNotificationObserver load_observer(
|
| + &shell()->web_contents()->GetController());
|
| + // Start a new pending navigation as soon as the first load commits.
|
| + // We will hear a DidStopLoading from the first load as the new load
|
| + // is started.
|
| + NavigateOnCommitObserver commit_observer(
|
| + shell(), embedded_test_server()->GetURL("/title2.html"));
|
| + NavigateToURL(shell(), url);
|
| + load_observer.Wait();
|
| +
|
| + EXPECT_EQ(url, load_observer.url_);
|
| + EXPECT_EQ(0, load_observer.session_index_);
|
| + EXPECT_EQ(&shell()->web_contents()->GetController(),
|
| + load_observer.controller_);
|
| +}
|
| // Test that a renderer-initiated navigation to an invalid URL does not leave
|
| // around a pending entry that could be used in a URL spoof. We test this in
|
| // a browser test because our unit test framework incorrectly calls
|
|
|