mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Fix PDF extension loading of large files (fixes issue #2905)
The PDF extension will send Range requests when loading large PDF files. For these cross-origin requests to be allowed (from extension origin to PDF origin) the CORB checks in URLLoader must be disabled.
This commit is contained in:
@@ -102,6 +102,7 @@
|
|||||||
#include "extensions/browser/extensions_browser_client.h"
|
#include "extensions/browser/extensions_browser_client.h"
|
||||||
#include "extensions/browser/guest_view/extensions_guest_view_message_filter.h"
|
#include "extensions/browser/guest_view/extensions_guest_view_message_filter.h"
|
||||||
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
|
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
|
||||||
|
#include "extensions/browser/url_loader_factory_manager.h"
|
||||||
#include "extensions/common/constants.h"
|
#include "extensions/common/constants.h"
|
||||||
#include "extensions/common/switches.h"
|
#include "extensions/common/switches.h"
|
||||||
#include "mojo/public/cpp/bindings/remote.h"
|
#include "mojo/public/cpp/bindings/remote.h"
|
||||||
@@ -626,6 +627,17 @@ bool CefContentBrowserClient::DoesSiteRequireDedicatedProcess(
|
|||||||
return extension != nullptr;
|
return extension != nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CefContentBrowserClient::OverrideURLLoaderFactoryParams(
|
||||||
|
content::BrowserContext* browser_context,
|
||||||
|
const url::Origin& origin,
|
||||||
|
bool is_for_isolated_world,
|
||||||
|
network::mojom::URLLoaderFactoryParams* factory_params) {
|
||||||
|
if (extensions::ExtensionsEnabled()) {
|
||||||
|
extensions::URLLoaderFactoryManager::OverrideURLLoaderFactoryParams(
|
||||||
|
browser_context, origin, is_for_isolated_world, factory_params);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CefContentBrowserClient::GetAdditionalWebUISchemes(
|
void CefContentBrowserClient::GetAdditionalWebUISchemes(
|
||||||
std::vector<std::string>* additional_schemes) {
|
std::vector<std::string>* additional_schemes) {
|
||||||
// Any schemes listed here are treated as WebUI schemes but do not get WebUI
|
// Any schemes listed here are treated as WebUI schemes but do not get WebUI
|
||||||
|
@@ -46,6 +46,11 @@ class CefContentBrowserClient : public content::ContentBrowserClient {
|
|||||||
const GURL& effective_url) override;
|
const GURL& effective_url) override;
|
||||||
bool DoesSiteRequireDedicatedProcess(content::BrowserContext* browser_context,
|
bool DoesSiteRequireDedicatedProcess(content::BrowserContext* browser_context,
|
||||||
const GURL& effective_site_url) override;
|
const GURL& effective_site_url) override;
|
||||||
|
void OverrideURLLoaderFactoryParams(
|
||||||
|
content::BrowserContext* browser_context,
|
||||||
|
const url::Origin& origin,
|
||||||
|
bool is_for_isolated_world,
|
||||||
|
network::mojom::URLLoaderFactoryParams* factory_params) override;
|
||||||
void GetAdditionalWebUISchemes(
|
void GetAdditionalWebUISchemes(
|
||||||
std::vector<std::string>* additional_schemes) override;
|
std::vector<std::string>* additional_schemes) override;
|
||||||
void GetAdditionalViewSourceSchemes(
|
void GetAdditionalViewSourceSchemes(
|
||||||
|
Reference in New Issue
Block a user