diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-05-20 09:47:09 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-07 11:15:42 +0000 |
commit | 189d4fd8fad9e3c776873be51938cd31a42b6177 (patch) | |
tree | 6497caeff5e383937996768766ab3bb2081a40b2 /chromium/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h | |
parent | 8bc75099d364490b22f43a7ce366b366c08f4164 (diff) | |
download | qtwebengine-chromium-189d4fd8fad9e3c776873be51938cd31a42b6177.tar.gz |
BASELINE: Update Chromium to 90.0.4430.221
Change-Id: Iff4d9d18d2fcf1a576f3b1f453010f744a232920
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h')
-rw-r--r-- | chromium/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/chromium/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h b/chromium/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h index 327e6812aba..7bfb1e03b7a 100644 --- a/chromium/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h +++ b/chromium/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h @@ -43,6 +43,7 @@ #include "third_party/blink/renderer/platform/loader/fetch/resource_load_scheduler.h" #include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h" #include "third_party/blink/renderer/platform/mojo/heap_mojo_wrapper_mode.h" +#include "third_party/blink/renderer/platform/mojo/mojo_binding_context.h" #include "third_party/blink/renderer/platform/platform_export.h" #include "third_party/blink/renderer/platform/timer.h" #include "third_party/blink/renderer/platform/wtf/hash_map.h" @@ -52,6 +53,7 @@ namespace blink { enum class ResourceType : uint8_t; +class BackForwardCacheLoaderHelper; class DetachableConsoleLogger; class DetachableUseCounter; class DetachableResourceFetcherProperties; @@ -64,6 +66,7 @@ class ResourceError; class ResourceLoadObserver; class ResourceTimingInfo; class SubresourceWebBundle; +class WebBackForwardCacheLoaderHelper; class WebCodeCacheLoader; struct ResourceFetcherInit; struct ResourceLoaderOptions; @@ -99,8 +102,8 @@ class PLATFORM_EXPORT ResourceFetcher const ResourceRequest&, const ResourceLoaderOptions&, scoped_refptr<base::SingleThreadTaskRunner> freezable_task_runner, - scoped_refptr<base::SingleThreadTaskRunner> - unfreezable_task_runner) = 0; + scoped_refptr<base::SingleThreadTaskRunner> unfreezable_task_runner, + WebBackForwardCacheLoaderHelper) = 0; // Create a code cache loader to fetch data from code caches. virtual std::unique_ptr<WebCodeCacheLoader> CreateCodeCacheLoader() = 0; @@ -174,11 +177,13 @@ class PLATFORM_EXPORT ResourceFetcher base::OnceCallback<void(int)>); using DocumentResourceMap = HeapHashMap<String, WeakMember<Resource>>; + // Note: This function is defined for devtools. Do not use this function in + // non-inspector/non-tent-only contexts. const DocumentResourceMap& AllResources() const { return cached_resources_map_; } - enum class LoadBlockingPolicy { + enum class ImageLoadBlockingPolicy { kDefault, kForceNonBlockingLoad, }; @@ -189,7 +194,10 @@ class PLATFORM_EXPORT ResourceFetcher // call this method explicitly on cases such as ResourceNeedsLoad() returning // false. bool StartLoad(Resource*); - bool StartLoad(Resource*, ResourceRequestBody, LoadBlockingPolicy); + bool StartLoad(Resource*, + ResourceRequestBody, + ImageLoadBlockingPolicy, + RenderBlockingBehavior); void SetAutoLoadImages(bool); void SetImagesEnabled(bool); @@ -305,8 +313,12 @@ class PLATFORM_EXPORT ResourceFetcher void AddSubresourceWebBundle(SubresourceWebBundle& subresource_web_bundle); void RemoveSubresourceWebBundle(SubresourceWebBundle& subresource_web_bundle); + void AttachWebBundleTokenIfNeeded(ResourceRequest&) const; + bool ShouldBeLoadedFromWebBundle(const KURL&) const; - void EvictFromBackForwardCache(mojom::RendererEvictionReason reason); + BackForwardCacheLoaderHelper* GetBackForwardCacheLoaderHelper() { + return back_forward_cache_loader_helper_; + } private: friend class ResourceCacheValidationSuppressor; @@ -341,8 +353,8 @@ class PLATFORM_EXPORT ResourceFetcher const ResourceFactory&, WebScopedVirtualTimePauser& virtual_time_pauser); - Resource* ResourceForStaticData(const FetchParameters&, - const ResourceFactory&); + Resource* CreateResourceForStaticData(const FetchParameters&, + const ResourceFactory&); Resource* ResourceForBlockedRequest(const FetchParameters&, const ResourceFactory&, ResourceRequestBlockedReason, @@ -394,7 +406,8 @@ class PLATFORM_EXPORT ResourceFetcher void DidLoadResourceFromMemoryCache(Resource*, const ResourceRequest&, - bool is_static_data); + bool is_static_data, + RenderBlockingBehavior); bool ResourceNeedsLoad(Resource*, const FetchParameters&, RevalidationPolicy); @@ -406,7 +419,8 @@ class PLATFORM_EXPORT ResourceFetcher RevalidationPolicy, const FetchParameters&, const ResourceFactory&, - bool is_static_data) const; + bool is_static_data, + bool same_top_frame_site_resource_cached) const; void ScheduleStaleRevalidate(Resource* stale_resource); void RevalidateStaleResource(Resource* stale_resource); @@ -422,6 +436,7 @@ class PLATFORM_EXPORT ResourceFetcher const Member<DetachableConsoleLogger> console_logger_; Member<LoaderFactory> loader_factory_; const Member<ResourceLoadScheduler> scheduler_; + Member<BackForwardCacheLoaderHelper> back_forward_cache_loader_helper_; DocumentResourceMap cached_resources_map_; @@ -437,7 +452,7 @@ class PLATFORM_EXPORT ResourceFetcher HeapVector<Member<Resource>> matched_preloads_; Member<MHTMLArchive> archive_; - TaskRunnerTimer<ResourceFetcher> resource_timing_report_timer_; + HeapTaskRunnerTimer<ResourceFetcher> resource_timing_report_timer_; TaskHandle unused_preloads_timer_; @@ -529,7 +544,8 @@ struct PLATFORM_EXPORT ResourceFetcherInit final { scoped_refptr<base::SingleThreadTaskRunner> freezable_task_runner, scoped_refptr<base::SingleThreadTaskRunner> unfreezable_task_runner, ResourceFetcher::LoaderFactory* loader_factory, - ContextLifecycleNotifier* context_lifecycle_notifier); + ContextLifecycleNotifier* context_lifecycle_notifier, + BackForwardCacheLoaderHelper* back_forward_cache_loader_helper = nullptr); DetachableResourceFetcherProperties* const properties; FetchContext* const context; @@ -546,6 +562,7 @@ struct PLATFORM_EXPORT ResourceFetcherInit final { ResourceLoadScheduler::ThrottleOptionOverride throttle_option_override = ResourceLoadScheduler::ThrottleOptionOverride::kNone; LoadingBehaviorObserver* loading_behavior_observer = nullptr; + BackForwardCacheLoaderHelper* back_forward_cache_loader_helper = nullptr; DISALLOW_COPY_AND_ASSIGN(ResourceFetcherInit); }; |