Revert "FrameHost::SubresourceResponseStarted: s/ url / origin_of_final_url /."
This CL reverts r716451 (also minimally/partially reverting r724034 as
required). The revert is needed because r716451 caused every blob load
(blobs see no certificate errors) to call RevokeUserAllowExceptions.
Bug: 1049625, 973885
Tbr: Nasko Oskov <[email protected]>
Tbr: Charlie Harrison <[email protected]>
Tbr: Alex Ilin <[email protected]>
No-Tree-Checks: true
Change-Id: Ie592ae6bc79820eea2230244f0abd890e279be4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2047355
Commit-Queue: John Budorick <[email protected]>
Reviewed-by: Alex Moshchuk <[email protected]>
Cr-Commit-Position: refs/heads/master@{#740011}
diff --git a/chrome/browser/predictors/loading_data_collector.cc b/chrome/browser/predictors/loading_data_collector.cc
index 2ce99ba..f1ca5be 100644
--- a/chrome/browser/predictors/loading_data_collector.cc
+++ b/chrome/browser/predictors/loading_data_collector.cc
@@ -107,7 +107,7 @@
UpdateOrAddToOrigins(redirect_info->origin_of_new_url,
redirect_info->network_info);
}
- UpdateOrAddToOrigins(resource_load_info.origin_of_final_url,
+ UpdateOrAddToOrigins(url::Origin::Create(resource_load_info.final_url),
resource_load_info.network_info);
}
@@ -236,7 +236,7 @@
bool LoadingDataCollector::ShouldRecordResourceLoad(
const NavigationID& navigation_id,
const blink::mojom::ResourceLoadInfo& resource_load_info) const {
- const GURL& url = resource_load_info.origin_of_final_url.GetURL();
+ const GURL& url = resource_load_info.final_url;
if (!url.is_valid() || !url.SchemeIsHTTPOrHTTPS())
return false;
diff --git a/chrome/browser/predictors/loading_predictor_tab_helper.cc b/chrome/browser/predictors/loading_predictor_tab_helper.cc
index 1db9e46..ad4e3e2 100644
--- a/chrome/browser/predictors/loading_predictor_tab_helper.cc
+++ b/chrome/browser/predictors/loading_predictor_tab_helper.cc
@@ -141,7 +141,7 @@
blink::mojom::ResourceLoadInfo resource_load_info;
resource_load_info.original_url = url;
- resource_load_info.origin_of_final_url = url::Origin::Create(url);
+ resource_load_info.final_url = url;
resource_load_info.mime_type = mime_type;
resource_load_info.resource_type = resource_type;
resource_load_info.method = "GET";
diff --git a/chrome/browser/predictors/loading_test_util.cc b/chrome/browser/predictors/loading_test_util.cc
index 9fbf14f..3cab4d3 100644
--- a/chrome/browser/predictors/loading_test_util.cc
+++ b/chrome/browser/predictors/loading_test_util.cc
@@ -107,7 +107,7 @@
blink::mojom::ResourceType resource_type,
bool always_access_network) {
auto resource_load_info = blink::mojom::ResourceLoadInfo::New();
- resource_load_info->origin_of_final_url = url::Origin::Create(GURL(url));
+ resource_load_info->final_url = GURL(url);
resource_load_info->original_url = GURL(url);
resource_load_info->method = "GET";
resource_load_info->resource_type = resource_type;
@@ -129,8 +129,7 @@
const std::vector<std::string>& redirect_chain,
blink::mojom::ResourceType resource_type) {
auto resource_load_info = blink::mojom::ResourceLoadInfo::New();
- resource_load_info->origin_of_final_url =
- url::Origin::Create(GURL(redirect_chain.back()));
+ resource_load_info->final_url = GURL(redirect_chain.back());
resource_load_info->original_url = GURL(redirect_chain.front());
resource_load_info->method = "GET";
resource_load_info->resource_type = resource_type;
diff --git a/components/page_load_metrics/browser/metrics_web_contents_observer.cc b/components/page_load_metrics/browser/metrics_web_contents_observer.cc
index dee2ebc..68d3a48 100644
--- a/components/page_load_metrics/browser/metrics_web_contents_observer.cc
+++ b/components/page_load_metrics/browser/metrics_web_contents_observer.cc
@@ -308,10 +308,8 @@
content::RenderFrameHost* render_frame_host,
const content::GlobalRequestID& request_id,
const blink::mojom::ResourceLoadInfo& resource_load_info) {
- if (resource_load_info.origin_of_final_url.scheme() != url::kHttpScheme &&
- resource_load_info.origin_of_final_url.scheme() != url::kHttpsScheme) {
+ if (!resource_load_info.final_url.SchemeIsHTTPOrHTTPS())
return;
- }
PageLoadTracker* tracker = GetTrackerOrNullForRequest(
request_id, render_frame_host, resource_load_info.resource_type,
@@ -330,7 +328,7 @@
const blink::mojom::CommonNetworkInfoPtr& network_info =
resource_load_info.network_info;
ExtraRequestCompleteInfo extra_request_complete_info(
- resource_load_info.origin_of_final_url,
+ url::Origin::Create(resource_load_info.final_url),
network_info->remote_endpoint.value(),
render_frame_host->GetFrameTreeNodeId(), resource_load_info.was_cached,
resource_load_info.raw_body_bytes, original_content_length,
diff --git a/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc b/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc
index c361e5b8..05147f8 100644
--- a/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc
+++ b/components/page_load_metrics/browser/metrics_web_contents_observer_unittest.cc
@@ -51,7 +51,7 @@
blink::mojom::ResourceType resource_type) {
blink::mojom::ResourceLoadInfoPtr resource_load_info =
blink::mojom::ResourceLoadInfo::New();
- resource_load_info->origin_of_final_url = url::Origin::Create(url);
+ resource_load_info->final_url = url;
resource_load_info->original_url = url;
resource_load_info->resource_type = resource_type;
resource_load_info->was_cached = false;
diff --git a/components/page_load_metrics/browser/observers/page_load_metrics_observer_tester.cc b/components/page_load_metrics/browser/observers/page_load_metrics_observer_tester.cc
index 6c4bab8..b6a0e92f 100644
--- a/components/page_load_metrics/browser/observers/page_load_metrics_observer_tester.cc
+++ b/components/page_load_metrics/browser/observers/page_load_metrics_observer_tester.cc
@@ -226,7 +226,7 @@
}
blink::mojom::ResourceLoadInfo resource_load_info;
- resource_load_info.origin_of_final_url = info.origin_of_final_url;
+ resource_load_info.final_url = info.origin_of_final_url.GetURL();
resource_load_info.was_cached = info.was_cached;
resource_load_info.raw_body_bytes = info.raw_body_bytes;
resource_load_info.total_received_bytes =
diff --git a/components/page_load_metrics/browser/page_load_metrics_observer.h b/components/page_load_metrics/browser/page_load_metrics_observer.h
index 0d109d26..98cc97d 100644
--- a/components/page_load_metrics/browser/page_load_metrics_observer.h
+++ b/components/page_load_metrics/browser/page_load_metrics_observer.h
@@ -118,7 +118,7 @@
// The origin of the final URL for the request (final = after redirects).
//
// The full URL is not available, because in some cases the path and query
- // may be sanitized away - see https://crbug.com/973885.
+ // be sanitized away - see https://crbug.com/973885.
const url::Origin origin_of_final_url;
// The host (IP address) and port for the request.
diff --git a/components/page_load_metrics/renderer/metrics_render_frame_observer.cc b/components/page_load_metrics/renderer/metrics_render_frame_observer.cc
index d5ab746..c494722 100644
--- a/components/page_load_metrics/renderer/metrics_render_frame_observer.cc
+++ b/components/page_load_metrics/renderer/metrics_render_frame_observer.cc
@@ -121,7 +121,7 @@
}
void MetricsRenderFrameObserver::DidStartResponse(
- const url::Origin& origin_of_final_response_url,
+ const GURL& response_url,
int request_id,
const network::mojom::URLResponseHead& response_head,
blink::mojom::ResourceType resource_type,
@@ -133,12 +133,10 @@
// case. There should be a guarantee that DidStartProvisionalLoad be called
// before DidStartResponse for the frame request.
provisional_frame_resource_data_use_->DidStartResponse(
- origin_of_final_response_url, request_id, response_head, resource_type,
- previews_state);
+ response_url, request_id, response_head, resource_type, previews_state);
} else if (page_timing_metrics_sender_) {
page_timing_metrics_sender_->DidStartResponse(
- origin_of_final_response_url, request_id, response_head, resource_type,
- previews_state);
+ response_url, request_id, response_head, resource_type, previews_state);
UpdateResourceMetadata(request_id);
}
}
diff --git a/components/page_load_metrics/renderer/metrics_render_frame_observer.h b/components/page_load_metrics/renderer/metrics_render_frame_observer.h
index 836dffb1..d015ddf 100644
--- a/components/page_load_metrics/renderer/metrics_render_frame_observer.h
+++ b/components/page_load_metrics/renderer/metrics_render_frame_observer.h
@@ -51,7 +51,7 @@
void DidObserveLayoutShift(double score, bool after_input_or_scroll) override;
void DidObserveLazyLoadBehavior(
blink::WebLocalFrameClient::LazyLoadBehavior lazy_load_behavior) override;
- void DidStartResponse(const url::Origin& origin_of_final_response_url,
+ void DidStartResponse(const GURL& response_url,
int request_id,
const network::mojom::URLResponseHead& response_head,
blink::mojom::ResourceType resource_type,
diff --git a/components/page_load_metrics/renderer/page_resource_data_use.cc b/components/page_load_metrics/renderer/page_resource_data_use.cc
index d79fb14..14353e71 100644
--- a/components/page_load_metrics/renderer/page_resource_data_use.cc
+++ b/components/page_load_metrics/renderer/page_resource_data_use.cc
@@ -10,7 +10,6 @@
#include "services/network/public/mojom/url_response_head.mojom.h"
#include "third_party/blink/public/platform/web_url.h"
#include "url/gurl.h"
-#include "url/origin.h"
namespace page_load_metrics {
@@ -88,7 +87,7 @@
PageResourceDataUse::~PageResourceDataUse() = default;
void PageResourceDataUse::DidStartResponse(
- const url::Origin& origin_of_final_response_url,
+ const GURL& response_url,
int resource_id,
const network::mojom::URLResponseHead& response_head,
blink::mojom::ResourceType resource_type,
@@ -111,11 +110,11 @@
mime_type_ = response_head.mime_type;
if (response_head.was_fetched_via_cache)
cache_type_ = mojom::CacheType::kHttp;
+ is_secure_scheme_ = response_url.SchemeIsCryptographic();
is_primary_frame_resource_ =
resource_type == blink::mojom::ResourceType::kMainFrame ||
resource_type == blink::mojom::ResourceType::kSubFrame;
- origin_ = origin_of_final_response_url;
- is_secure_scheme_ = GURL::SchemeIsCryptographic(origin_.scheme());
+ origin_ = url::Origin::Create(response_url);
}
void PageResourceDataUse::DidReceiveTransferSizeUpdate(
diff --git a/components/page_load_metrics/renderer/page_resource_data_use.h b/components/page_load_metrics/renderer/page_resource_data_use.h
index 0ab0143..d1aad5e 100644
--- a/components/page_load_metrics/renderer/page_resource_data_use.h
+++ b/components/page_load_metrics/renderer/page_resource_data_use.h
@@ -28,7 +28,7 @@
PageResourceDataUse(const PageResourceDataUse& other);
~PageResourceDataUse();
- void DidStartResponse(const url::Origin& origin_of_final_response_url,
+ void DidStartResponse(const GURL& response_url,
int resource_id,
const network::mojom::URLResponseHead& response_head,
blink::mojom::ResourceType resource_type,
diff --git a/components/page_load_metrics/renderer/page_timing_metrics_sender.cc b/components/page_load_metrics/renderer/page_timing_metrics_sender.cc
index b40b2f21..a0f14ab 100644
--- a/components/page_load_metrics/renderer/page_timing_metrics_sender.cc
+++ b/components/page_load_metrics/renderer/page_timing_metrics_sender.cc
@@ -123,7 +123,7 @@
}
void PageTimingMetricsSender::DidStartResponse(
- const url::Origin& origin_of_final_response_url,
+ const GURL& response_url,
int resource_id,
const network::mojom::URLResponseHead& response_head,
blink::mojom::ResourceType resource_type,
@@ -133,9 +133,8 @@
auto resource_it = page_resource_data_use_.emplace(
std::piecewise_construct, std::forward_as_tuple(resource_id),
std::forward_as_tuple(std::make_unique<PageResourceDataUse>()));
- resource_it.first->second->DidStartResponse(origin_of_final_response_url,
- resource_id, response_head,
- resource_type, previews_state);
+ resource_it.first->second->DidStartResponse(
+ response_url, resource_id, response_head, resource_type, previews_state);
}
void PageTimingMetricsSender::DidReceiveTransferSizeUpdate(
diff --git a/components/page_load_metrics/renderer/page_timing_metrics_sender.h b/components/page_load_metrics/renderer/page_timing_metrics_sender.h
index 022c13e..b7aa5b78 100644
--- a/components/page_load_metrics/renderer/page_timing_metrics_sender.h
+++ b/components/page_load_metrics/renderer/page_timing_metrics_sender.h
@@ -53,7 +53,7 @@
void DidObserveLazyLoadBehavior(
blink::WebLocalFrameClient::LazyLoadBehavior lazy_load_behavior);
- void DidStartResponse(const url::Origin& origin_of_final_response_url,
+ void DidStartResponse(const GURL& response_url,
int resource_id,
const network::mojom::URLResponseHead& response_head,
blink::mojom::ResourceType resource_type,
diff --git a/content/browser/frame_host/render_frame_host_delegate.h b/content/browser/frame_host/render_frame_host_delegate.h
index 5d07589..125045d 100644
--- a/content/browser/frame_host/render_frame_host_delegate.h
+++ b/content/browser/frame_host/render_frame_host_delegate.h
@@ -433,9 +433,8 @@
virtual bool IsBeingDestroyed();
// Notifies that the render frame started loading a subresource.
- virtual void SubresourceResponseStarted(
- const url::Origin& origin_of_final_response_url,
- net::CertStatus cert_status) {}
+ virtual void SubresourceResponseStarted(const GURL& url,
+ net::CertStatus cert_status) {}
// Notifies that the render finished loading a subresource for the frame
// associated with |render_frame_host|.
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index 4f756d8..d06304b 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -4824,10 +4824,9 @@
}
void RenderFrameHostImpl::SubresourceResponseStarted(
- const url::Origin& origin_of_final_response_url,
+ const GURL& url,
net::CertStatus cert_status) {
- delegate_->SubresourceResponseStarted(origin_of_final_response_url,
- cert_status);
+ delegate_->SubresourceResponseStarted(url, cert_status);
}
void RenderFrameHostImpl::ResourceLoadComplete(
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
index 9a0c14dc..74ec2d1 100644
--- a/content/browser/frame_host/render_frame_host_impl.h
+++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -1627,9 +1627,8 @@
mojo::PendingAssociatedRemote<mojom::NavigationClient> navigation_client,
mojo::PendingRemote<blink::mojom::NavigationInitiator>
navigation_initiator) override;
- void SubresourceResponseStarted(
- const url::Origin& origin_of_final_response_url,
- net::CertStatus cert_status) override;
+ void SubresourceResponseStarted(const GURL& url,
+ net::CertStatus cert_status) override;
void ResourceLoadComplete(
blink::mojom::ResourceLoadInfoPtr resource_load_info) override;
void DidChangeName(const std::string& name,
diff --git a/content/browser/ssl/ssl_manager.cc b/content/browser/ssl/ssl_manager.cc
index e68ce312..3195a33 100644
--- a/content/browser/ssl/ssl_manager.cc
+++ b/content/browser/ssl/ssl_manager.cc
@@ -312,19 +312,16 @@
OnCertErrorInternal(std::move(handler));
}
-void SSLManager::DidStartResourceResponse(
- const url::Origin& origin_of_final_response_url,
- bool has_certificate_errors) {
- const std::string& scheme = origin_of_final_response_url.scheme();
- const std::string& host = origin_of_final_response_url.host();
-
- if (!GURL::SchemeIsCryptographic(scheme) || has_certificate_errors)
+void SSLManager::DidStartResourceResponse(const GURL& url,
+ bool has_certificate_errors) {
+ if (!url.SchemeIsCryptographic() || has_certificate_errors)
return;
// If the scheme is https: or wss and the cert did not have any errors, revoke
// any previous decisions that have occurred.
- if (!ssl_host_state_delegate_ || !ssl_host_state_delegate_->HasAllowException(
- host, controller_->GetWebContents())) {
+ if (!ssl_host_state_delegate_ ||
+ !ssl_host_state_delegate_->HasAllowException(
+ url.host(), controller_->GetWebContents())) {
return;
}
@@ -332,7 +329,7 @@
// clear out any exceptions that were made by the user for bad
// certificates. This intentionally does not apply to cached resources
// (see https://crbug.com/634553 for an explanation).
- ssl_host_state_delegate_->RevokeUserAllowExceptions(host);
+ ssl_host_state_delegate_->RevokeUserAllowExceptions(url.host());
}
void SSLManager::OnCertErrorInternal(std::unique_ptr<SSLErrorHandler> handler) {
diff --git a/content/browser/ssl/ssl_manager.h b/content/browser/ssl/ssl_manager.h
index 669dc03a..fdf7eac 100644
--- a/content/browser/ssl/ssl_manager.h
+++ b/content/browser/ssl/ssl_manager.h
@@ -64,8 +64,7 @@
NavigationControllerImpl* controller() { return controller_; }
void DidCommitProvisionalLoad(const LoadCommittedDetails& details);
- void DidStartResourceResponse(const url::Origin& origin_of_final_response_url,
- bool has_certificate_errors);
+ void DidStartResourceResponse(const GURL& url, bool has_certificate_errors);
// The following methods are called when a page includes insecure
// content. These methods update the SSLStatus on the NavigationEntry
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 975a63c..2ffa3da7 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -4476,7 +4476,7 @@
if (navigation_handle->IsInMainFrame() &&
navigation_handle->GetNetErrorCode() == net::OK) {
controller_.ssl_manager()->DidStartResourceResponse(
- url::Origin::Create(navigation_handle->GetURL()),
+ navigation_handle->GetURL(),
navigation_handle->GetSSLInfo().has_value()
? net::IsCertStatusError(
navigation_handle->GetSSLInfo()->cert_status)
@@ -4830,11 +4830,9 @@
// AddNewContents method call.
}
-void WebContentsImpl::SubresourceResponseStarted(
- const url::Origin& origin_of_final_response_url,
- net::CertStatus cert_status) {
- controller_.ssl_manager()->DidStartResourceResponse(
- origin_of_final_response_url, cert_status);
+void WebContentsImpl::SubresourceResponseStarted(const GURL& url,
+ net::CertStatus cert_status) {
+ controller_.ssl_manager()->DidStartResourceResponse(url, cert_status);
SetNotWaitingForResponse();
}
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 63ad3ce..cd039f4 100644
--- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h
@@ -647,9 +647,8 @@
base::android::ScopedJavaLocalRef<jobject> GetJavaRenderFrameHostDelegate()
override;
#endif
- void SubresourceResponseStarted(
- const url::Origin& origin_of_final_response_url,
- net::CertStatus cert_status) override;
+ void SubresourceResponseStarted(const GURL& url,
+ net::CertStatus cert_status) override;
void ResourceLoadComplete(
RenderFrameHost* render_frame_host,
const GlobalRequestID& request_id,
diff --git a/content/browser/web_contents/web_contents_impl_browsertest.cc b/content/browser/web_contents/web_contents_impl_browsertest.cc
index 62cb386..1a9e325 100644
--- a/content/browser/web_contents/web_contents_impl_browsertest.cc
+++ b/content/browser/web_contents/web_contents_impl_browsertest.cc
@@ -834,8 +834,7 @@
ASSERT_EQ(2U, observer.resource_load_infos().size());
const blink::mojom::ResourceLoadInfoPtr& page_load_info =
observer.resource_load_infos()[0];
- EXPECT_EQ(url::Origin::Create(page_destination_url),
- page_load_info->origin_of_final_url);
+ EXPECT_EQ(page_destination_url, page_load_info->final_url);
EXPECT_EQ(page_original_url, page_load_info->original_url);
GURL image_destination_url(embedded_test_server()->GetURL("/blank.jpg"));
@@ -843,8 +842,7 @@
embedded_test_server()->GetURL("/server-redirect?blank.jpg"));
const blink::mojom::ResourceLoadInfoPtr& image_load_info =
observer.resource_load_infos()[1];
- EXPECT_EQ(url::Origin::Create(image_destination_url),
- image_load_info->origin_of_final_url);
+ EXPECT_EQ(image_destination_url, image_load_info->final_url);
EXPECT_EQ(image_original_url, image_load_info->original_url);
}
@@ -921,8 +919,7 @@
NavigateToURL(shell(), start_url, target_url /* expected_commit_url */));
ASSERT_EQ(1U, observer.resource_load_infos().size());
- EXPECT_EQ(url::Origin::Create(target_url),
- observer.resource_load_infos()[0]->origin_of_final_url);
+ EXPECT_EQ(target_url, observer.resource_load_infos()[0]->final_url);
ASSERT_EQ(2U, observer.resource_load_infos()[0]->redirect_info_chain.size());
EXPECT_EQ(url::Origin::Create(intermediate_url),
@@ -955,8 +952,7 @@
EXPECT_TRUE(NavigateToURL(shell(), url));
ASSERT_EQ(2U, observer.resource_load_infos().size());
EXPECT_EQ(url, observer.resource_load_infos()[0]->original_url);
- EXPECT_EQ(url::Origin::Create(url),
- observer.resource_load_infos()[0]->origin_of_final_url);
+ EXPECT_EQ(url, observer.resource_load_infos()[0]->final_url);
EXPECT_TRUE(observer.resource_is_associated_with_main_frame()[0]);
EXPECT_TRUE(observer.resource_is_associated_with_main_frame()[1]);
observer.Reset();
@@ -966,10 +962,9 @@
EXPECT_TRUE(NavigateToURL(shell(), data_url));
ASSERT_EQ(3U, observer.resource_load_infos().size());
EXPECT_EQ(data_url, observer.resource_load_infos()[0]->original_url);
- EXPECT_TRUE(observer.resource_load_infos()[0]->origin_of_final_url.opaque());
+ EXPECT_EQ(data_url, observer.resource_load_infos()[0]->final_url);
EXPECT_EQ(url, observer.resource_load_infos()[1]->original_url);
- EXPECT_EQ(url::Origin::Create(url),
- observer.resource_load_infos()[1]->origin_of_final_url);
+ EXPECT_EQ(url, observer.resource_load_infos()[1]->final_url);
EXPECT_TRUE(observer.resource_is_associated_with_main_frame()[0]);
EXPECT_FALSE(observer.resource_is_associated_with_main_frame()[1]);
EXPECT_FALSE(observer.resource_is_associated_with_main_frame()[2]);
diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index ad40ee5..8209cc3 100644
--- a/content/common/frame.mojom
+++ b/content/common/frame.mojom
@@ -428,17 +428,9 @@
pending_remote<blink.mojom.NavigationInitiator>? navigation_initiator);
// Sent when a subresource response has started.
- //
- // |origin_of_final_response_url| is the origin of the final (after all
- // redirects) URL of the subresource response. The full URL is not
- // available, because in some cases the path and query may be sanitized away
- // - see https://crbug.com/973885.
- //
// |cert_status| is the bitmask of status info of the SSL certificate. (see
// net/cert/cert_status_flags.h).
- SubresourceResponseStarted(
- url.mojom.Origin origin_of_final_response_url,
- uint32 cert_status);
+ SubresourceResponseStarted(url.mojom.Url url, uint32 cert_status);
// Sent when a resource load finished, successfully or not.
ResourceLoadComplete(blink.mojom.ResourceLoadInfo url_load_info);
diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h
index 5612176e..b09355c 100644
--- a/content/public/renderer/render_frame_observer.h
+++ b/content/public/renderer/render_frame_observer.h
@@ -189,7 +189,7 @@
// |previews_state| is the PreviewsState if the request is a sub-resource. For
// Document resources, |previews_state| should be reported as PREVIEWS_OFF.
virtual void DidStartResponse(
- const url::Origin& origin_of_final_response_url,
+ const GURL& response_url,
int request_id,
const network::mojom::URLResponseHead& response_head,
blink::mojom::ResourceType resource_type,
diff --git a/content/renderer/loader/resource_load_stats.cc b/content/renderer/loader/resource_load_stats.cc
index dcc995a..d994acce 100644
--- a/content/renderer/loader/resource_load_stats.cc
+++ b/content/renderer/loader/resource_load_stats.cc
@@ -44,7 +44,7 @@
void ResourceResponseReceived(int render_frame_id,
int request_id,
- const url::Origin& origin_of_final_response_url,
+ const GURL& response_url,
network::mojom::URLResponseHeadPtr response_head,
blink::mojom::ResourceType resource_type,
PreviewsState previews_state) {
@@ -53,11 +53,10 @@
return;
if (!blink::IsResourceTypeFrame(resource_type)) {
frame->GetFrameHost()->SubresourceResponseStarted(
- origin_of_final_response_url, response_head->cert_status);
+ response_url, response_head->cert_status);
}
- frame->DidStartResponse(origin_of_final_response_url, request_id,
- std::move(response_head), resource_type,
- previews_state);
+ frame->DidStartResponse(response_url, request_id, std::move(response_head),
+ resource_type, previews_state);
}
void ResourceTransferSizeUpdated(int render_frame_id,
@@ -112,7 +111,7 @@
auto resource_load_info = blink::mojom::ResourceLoadInfo::New();
resource_load_info->method = http_method;
resource_load_info->original_url = request_url;
- resource_load_info->origin_of_final_url = url::Origin::Create(request_url);
+ resource_load_info->final_url = request_url;
resource_load_info->resource_type = resource_type;
resource_load_info->request_id = request_id;
resource_load_info->referrer = referrer;
@@ -126,8 +125,7 @@
blink::mojom::ResourceLoadInfo* resource_load_info,
const net::RedirectInfo& redirect_info,
network::mojom::URLResponseHeadPtr redirect_response) {
- resource_load_info->origin_of_final_url =
- url::Origin::Create(redirect_info.new_url);
+ resource_load_info->final_url = redirect_info.new_url;
resource_load_info->method = redirect_info.new_method;
resource_load_info->referrer = GURL(redirect_info.new_referrer);
blink::mojom::RedirectInfoPtr net_redirect_info =
@@ -177,7 +175,7 @@
return;
if (task_runner->BelongsToCurrentThread()) {
ResourceResponseReceived(render_frame_id, resource_load_info->request_id,
- resource_load_info->origin_of_final_url,
+ resource_load_info->final_url,
std::move(response_head),
resource_load_info->resource_type, previews_state);
return;
@@ -192,8 +190,7 @@
FROM_HERE,
base::BindOnce(ResourceResponseReceived, render_frame_id,
resource_load_info->request_id,
- resource_load_info->origin_of_final_url,
- std::move(response_head),
+ resource_load_info->final_url, std::move(response_head),
resource_load_info->resource_type, previews_state));
}
@@ -219,7 +216,7 @@
int render_frame_id,
blink::mojom::ResourceLoadInfoPtr resource_load_info,
const network::URLLoaderCompletionStatus& status) {
- RecordLoadHistograms(resource_load_info->origin_of_final_url,
+ RecordLoadHistograms(url::Origin::Create(resource_load_info->final_url),
resource_load_info->resource_type, status.error_code);
resource_load_info->was_cached = status.exists_in_cache;
@@ -244,7 +241,7 @@
int render_frame_id,
blink::mojom::ResourceLoadInfoPtr resource_load_info,
int net_error) {
- RecordLoadHistograms(resource_load_info->origin_of_final_url,
+ RecordLoadHistograms(url::Origin::Create(resource_load_info->final_url),
resource_load_info->resource_type, net_error);
auto task_runner = RenderThreadImpl::DeprecatedGetMainTaskRunner();
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index a0636a0..0ed1dba 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -4928,15 +4928,14 @@
}
void RenderFrameImpl::DidStartResponse(
- const url::Origin& origin_of_final_response_url,
+ const GURL& response_url,
int request_id,
network::mojom::URLResponseHeadPtr response_head,
blink::mojom::ResourceType resource_type,
PreviewsState previews_state) {
- for (auto& observer : observers_) {
- observer.DidStartResponse(origin_of_final_response_url, request_id,
- *response_head, resource_type, previews_state);
- }
+ for (auto& observer : observers_)
+ observer.DidStartResponse(response_url, request_id, *response_head,
+ resource_type, previews_state);
}
void RenderFrameImpl::DidCompleteResponse(
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index a1a014b..0d03e04c0 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -902,7 +902,7 @@
// browser.
void OnDroppedNavigation();
- void DidStartResponse(const url::Origin& origin_of_final_response_url,
+ void DidStartResponse(const GURL& response_url,
int request_id,
network::mojom::URLResponseHeadPtr response_head,
blink::mojom::ResourceType resource_type,
diff --git a/content/test/test_render_frame.cc b/content/test/test_render_frame.cc
index 49f48cf..1b853ee 100644
--- a/content/test/test_render_frame.cc
+++ b/content/test/test_render_frame.cc
@@ -146,9 +146,8 @@
mojo::PendingAssociatedRemote<mojom::NavigationClient>,
mojo::PendingRemote<blink::mojom::NavigationInitiator>) override {}
- void SubresourceResponseStarted(
- const url::Origin& origin_of_final_response_url,
- net::CertStatus cert_status) override {}
+ void SubresourceResponseStarted(const GURL& url,
+ net::CertStatus cert_status) override {}
void ResourceLoadComplete(
blink::mojom::ResourceLoadInfoPtr resource_load_info) override {}
diff --git a/third_party/blink/public/mojom/loader/resource_load_info.mojom b/third_party/blink/public/mojom/loader/resource_load_info.mojom
index 85fdccf..5b7d75c 100644
--- a/third_party/blink/public/mojom/loader/resource_load_info.mojom
+++ b/third_party/blink/public/mojom/loader/resource_load_info.mojom
@@ -72,18 +72,14 @@
// An ID that uniquely identifies this request.
int64 request_id;
- // The origin of the final URL of the response (final = after all redirects).
- //
- // The full URL is not available, because in some cases the path and query
- // may be sanitized away - see https://crbug.com/973885.
- url.mojom.Origin origin_of_final_url;
+ // The final URL of the response (final = after all redirects).
+ url.mojom.Url final_url;
// The response referrer.
url.mojom.Url referrer;
- // The original URL is the URL used to initialize the subresource request, and
- // it may differ from "final url" (see |origin_of_final_url|) if the request
- // was redirected.
+ // The original URL is the URL used to initialize the subresource request,
+ // and it may differ from the |final_url| if the request was redirected.
url.mojom.Url original_url;
// The request method used to fetch this response.