Index: content/browser/frame_host/navigator_impl.cc |
diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc |
index 44bc5a8b9974266b3aa6a3b9dee813cdb8a177f1..c995d44c04032b05027019301ffd75ff006c1fdf 100644 |
--- a/content/browser/frame_host/navigator_impl.cc |
+++ b/content/browser/frame_host/navigator_impl.cc |
@@ -491,8 +491,12 @@ void NavigatorImpl::DidNavigate( |
params.transition | ui::PAGE_TRANSITION_FORWARD_BACK); |
} |
- delegate_->DidCommitProvisionalLoad(render_frame_host, |
- params.url, |
+ NavigationEntryImpl* entry = controller_->GetLastCommittedEntry(); |
+ bool use_virtual_url = |
+ entry->GetVirtualURL().is_valid() && entry->GetURL().is_valid() && |
+ entry->GetDataURLWithBaseURL().SchemeIs(url::kDataScheme); |
+ GURL url = use_virtual_url ? entry->GetVirtualURL() : params.url; |
+ delegate_->DidCommitProvisionalLoad(render_frame_host, url, |
transition_type); |
render_frame_host->navigation_handle()->DidCommitNavigation( |
is_navigation_within_page, render_frame_host); |