diff options
Diffstat (limited to 'chromium/content/browser/frame_host/navigator_impl.cc')
-rw-r--r-- | chromium/content/browser/frame_host/navigator_impl.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/chromium/content/browser/frame_host/navigator_impl.cc b/chromium/content/browser/frame_host/navigator_impl.cc index 2acedd76a19..1ba044c8b21 100644 --- a/chromium/content/browser/frame_host/navigator_impl.cc +++ b/chromium/content/browser/frame_host/navigator_impl.cc @@ -263,6 +263,16 @@ bool NavigatorImpl::NavigateToEntry( dest_referrer = Referrer(); } + // Don't attempt to navigate if the virtual URL is non-empty and invalid. + if (frame_tree_node->IsMainFrame()) { + const GURL& virtual_url = entry.GetVirtualURL(); + if (!virtual_url.is_valid() && !virtual_url.is_empty()) { + LOG(WARNING) << "Refusing to load for invalid virtual URL: " + << virtual_url.possibly_invalid_spec(); + return false; + } + } + // Don't attempt to navigate to non-empty invalid URLs. if (!dest_url.is_valid() && !dest_url.is_empty()) { LOG(WARNING) << "Refusing to load invalid URL: " |