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
3 // found in the LICENSE file.
6 #include "content/browser/frame_host/navigation_controller_impl.h"
7 #include "content/browser/frame_host/navigation_entry_impl.h"
8 #include "content/public/browser/web_contents.h"
9 #include "content/public/test/content_browser_test.h"
10 #include "content/public/test/content_browser_test_utils.h"
11 #include "content/shell/browser/shell.h"
15 class NavigationControllerBrowserTest
: public ContentBrowserTest
{
18 IN_PROC_BROWSER_TEST_F(NavigationControllerBrowserTest
, LoadDataWithBaseURL
) {
19 const GURL
base_url("http://baseurl");
20 const GURL
history_url("http://historyurl");
21 const std::string data
= "<html><body>foo</body></html>";
23 const NavigationController
& controller
=
24 shell()->web_contents()->GetController();
25 // load data. Blocks until it is done.
26 content::LoadDataWithBaseURL(shell(), history_url
, data
, base_url
);
28 // We should use history_url instead of the base_url as the original url of
29 // this navigation entry, because base_url is only used for resolving relative
30 // paths in the data, or enforcing same origin policy.
31 EXPECT_EQ(controller
.GetVisibleEntry()->GetOriginalRequestURL(), history_url
);
33 } // namespace content