Chromium Code Reviews| Index: content/browser/frame_host/navigation_controller_impl.cc |
| diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc |
| index 979b26c1dc5603b12adb1edc1907ea5a08cc41aa..41f299463a7d693bcbeb391e7936688204e46fe2 100644 |
| --- a/content/browser/frame_host/navigation_controller_impl.cc |
| +++ b/content/browser/frame_host/navigation_controller_impl.cc |
| @@ -165,11 +165,15 @@ NavigationEntry* NavigationController::CreateNavigationEntry( |
| bool is_renderer_initiated, |
| const std::string& extra_headers, |
| BrowserContext* browser_context) { |
| + // Fix up the given URL before letting it be rewritten, so that any minor |
| + // cleanup (e.g., removing leading dots) will not lead to a virtual URL. |
| + GURL dest_url = GetContentClient()->browser()->FixupURL(url); |
|
msw
2015/02/17 22:51:38
Why can't this just call url_fixer::FixupURL direc
Charlie Reis
2015/02/17 22:57:27
content/ can't depend on components/.
msw
2015/02/17 23:06:41
Acknowledged.
|
| + |
| // Allow the browser URL handler to rewrite the URL. This will, for example, |
| // remove "view-source:" from the beginning of the URL to get the URL that |
| // will actually be loaded. This real URL won't be shown to the user, just |
| // used internally. |
| - GURL loaded_url(url); |
| + GURL loaded_url(dest_url); |
| bool reverse_on_redirect = false; |
| BrowserURLHandlerImpl::GetInstance()->RewriteURLIfNecessary( |
| &loaded_url, browser_context, &reverse_on_redirect); |
| @@ -183,8 +187,8 @@ NavigationEntry* NavigationController::CreateNavigationEntry( |
| base::string16(), |
| transition, |
| is_renderer_initiated); |
| - entry->SetVirtualURL(url); |
| - entry->set_user_typed_url(url); |
| + entry->SetVirtualURL(dest_url); |
| + entry->set_user_typed_url(dest_url); |
| entry->set_update_virtual_url_with_url(reverse_on_redirect); |
| entry->set_extra_headers(extra_headers); |
| return entry; |