diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/chrome/renderer/previews | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/chrome/renderer/previews')
-rw-r--r-- | chromium/chrome/renderer/previews/resource_loading_hints_agent.cc | 43 | ||||
-rw-r--r-- | chromium/chrome/renderer/previews/resource_loading_hints_agent.h | 13 |
2 files changed, 51 insertions, 5 deletions
diff --git a/chromium/chrome/renderer/previews/resource_loading_hints_agent.cc b/chromium/chrome/renderer/previews/resource_loading_hints_agent.cc index 5e0737dc806..154008b2061 100644 --- a/chromium/chrome/renderer/previews/resource_loading_hints_agent.cc +++ b/chromium/chrome/renderer/previews/resource_loading_hints_agent.cc @@ -7,6 +7,7 @@ #include <vector> #include "base/metrics/histogram_macros.h" +#include "base/metrics/histogram_macros_local.h" #include "content/public/renderer/render_frame.h" #include "third_party/blink/public/platform/web_loading_hints_provider.h" #include "third_party/blink/public/platform/web_string.h" @@ -38,8 +39,6 @@ ResourceLoadingHintsAgent::ResourceLoadingHintsAgent( content::RenderFrameObserverTracker<ResourceLoadingHintsAgent>( render_frame) { DCHECK(render_frame); - DCHECK(IsMainFrame()); - associated_interfaces->AddInterface(base::BindRepeating( &ResourceLoadingHintsAgent::SetReceiver, base::Unretained(this))); } @@ -51,17 +50,23 @@ GURL ResourceLoadingHintsAgent::GetDocumentURL() const { void ResourceLoadingHintsAgent::DidStartNavigation( const GURL& url, base::Optional<blink::WebNavigationType> navigation_type) { + if (!IsMainFrame()) + return; subresource_redirect_hints_agent_.DidStartNavigation(); } void ResourceLoadingHintsAgent::ReadyToCommitNavigation( blink::WebDocumentLoader* document_loader) { + if (!IsMainFrame()) + return; + subresource_redirect_hints_agent_.ReadyToCommitNavigation( render_frame()->GetRoutingID()); } void ResourceLoadingHintsAgent::DidCreateNewDocument() { - DCHECK(IsMainFrame()); + if (!IsMainFrame()) + return; if (!GetDocumentURL().SchemeIsHTTPOrHTTPS()) return; @@ -101,7 +106,8 @@ bool ResourceLoadingHintsAgent::IsMainFrame() const { void ResourceLoadingHintsAgent::SetResourceLoadingHints( blink::mojom::PreviewsResourceLoadingHintsPtr resource_loading_hints) { - DCHECK(IsMainFrame()); + if (!IsMainFrame()) + return; UMA_HISTOGRAM_COUNTS_100( "ResourceLoadingHints.CountBlockedSubresourcePatterns", @@ -117,8 +123,37 @@ void ResourceLoadingHintsAgent::SetResourceLoadingHints( void ResourceLoadingHintsAgent::SetCompressPublicImagesHints( blink::mojom::CompressPublicImagesHintsPtr images_hints) { + if (!IsMainFrame()) + return; subresource_redirect_hints_agent_.SetCompressPublicImagesHints( std::move(images_hints)); } +void ResourceLoadingHintsAgent::NotifyHttpsImageCompressionFetchFailed( + base::TimeDelta retry_after) { + if (!subresource_redirect_service_remote_) { + render_frame()->GetRemoteAssociatedInterfaces()->GetInterface( + &subresource_redirect_service_remote_); + } + subresource_redirect_service_remote_->NotifyCompressedImageFetchFailed( + retry_after); +} + +void ResourceLoadingHintsAgent::SetLiteVideoHint( + blink::mojom::LiteVideoHintPtr lite_video_hint) { + auto* lite_video_hint_agent = + lite_video::LiteVideoHintAgent::Get(render_frame()); + if (lite_video_hint_agent) + lite_video_hint_agent->SetLiteVideoHint(std::move(lite_video_hint)); +} + +void ResourceLoadingHintsAgent::StopThrottlingMediaRequests() { + auto* lite_video_hint_agent = + lite_video::LiteVideoHintAgent::Get(render_frame()); + if (lite_video_hint_agent) { + LOCAL_HISTOGRAM_BOOLEAN("LiteVideo.HintsAgent.StopThrottling", true); + lite_video_hint_agent->StopThrottling(); + } +} + } // namespace previews diff --git a/chromium/chrome/renderer/previews/resource_loading_hints_agent.h b/chromium/chrome/renderer/previews/resource_loading_hints_agent.h index 85fdc2b4d88..370b2789d54 100644 --- a/chromium/chrome/renderer/previews/resource_loading_hints_agent.h +++ b/chromium/chrome/renderer/previews/resource_loading_hints_agent.h @@ -8,9 +8,10 @@ #include <memory> #include "base/bind.h" -#include "base/logging.h" #include "base/macros.h" #include "base/optional.h" +#include "chrome/common/subresource_redirect_service.mojom.h" +#include "chrome/renderer/lite_video/lite_video_hint_agent.h" #include "chrome/renderer/subresource_redirect/subresource_redirect_hints_agent.h" #include "content/public/renderer/render_frame_observer.h" #include "content/public/renderer/render_frame_observer_tracker.h" @@ -44,6 +45,9 @@ class ResourceLoadingHintsAgent return subresource_redirect_hints_agent_; } + // Notifies the browser process that https image compression fetch had failed. + void NotifyHttpsImageCompressionFetchFailed(base::TimeDelta retry_after); + private: // content::RenderFrameObserver: void DidStartNavigation( @@ -61,6 +65,9 @@ class ResourceLoadingHintsAgent resource_loading_hints) override; void SetCompressPublicImagesHints( blink::mojom::CompressPublicImagesHintsPtr images_hints) override; + void SetLiteVideoHint( + blink::mojom::LiteVideoHintPtr lite_video_hint) override; + void StopThrottlingMediaRequests() override; void SetReceiver( mojo::PendingAssociatedReceiver< @@ -74,6 +81,10 @@ class ResourceLoadingHintsAgent mojo::AssociatedReceiver<blink::mojom::PreviewsResourceLoadingHintsReceiver> receiver_{this}; + mojo::AssociatedRemote< + subresource_redirect::mojom::SubresourceRedirectService> + subresource_redirect_service_remote_; + subresource_redirect::SubresourceRedirectHintsAgent subresource_redirect_hints_agent_; |