mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium version 80.0.3987.0 (#722274)
This commit is contained in:
committed by
Marshall Greenblatt
parent
ed39922f85
commit
71768ea6c3
@@ -146,7 +146,8 @@ void LoadCookies(content::BrowserContext* browser_context,
|
||||
CEF_REQUIRE_IOT();
|
||||
|
||||
if ((request.load_flags & net::LOAD_DO_NOT_SEND_COOKIES) ||
|
||||
request.credentials_mode == network::mojom::CredentialsMode::kOmit) {
|
||||
request.credentials_mode == network::mojom::CredentialsMode::kOmit ||
|
||||
request.url.IsAboutBlank()) {
|
||||
// Continue immediately without loading cookies.
|
||||
std::move(done_callback).Run(0, {});
|
||||
return;
|
||||
@@ -174,7 +175,7 @@ void SaveCookies(content::BrowserContext* browser_context,
|
||||
CEF_REQUIRE_IOT();
|
||||
|
||||
if (request.credentials_mode == network::mojom::CredentialsMode::kOmit ||
|
||||
!head.headers ||
|
||||
request.url.IsAboutBlank() || !head.headers ||
|
||||
!head.headers->HasHeader(net_service::kHTTPSetCookieHeaderName)) {
|
||||
// Continue immediately without saving cookies.
|
||||
std::move(done_callback).Run(0, {});
|
||||
|
@@ -122,9 +122,9 @@ class InterceptedRequest : public network::mojom::URLLoader,
|
||||
uint32_t options,
|
||||
const network::ResourceRequest& request,
|
||||
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
|
||||
network::mojom::URLLoaderRequest loader_request,
|
||||
network::mojom::URLLoaderClientPtr client,
|
||||
network::mojom::URLLoaderFactoryPtr target_factory);
|
||||
mojo::PendingReceiver<network::mojom::URLLoader> loader_receiver,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderClient> client,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory);
|
||||
~InterceptedRequest() override;
|
||||
|
||||
// Restart the request. This happens on initial start and after redirect.
|
||||
@@ -312,15 +312,15 @@ InterceptedRequest::InterceptedRequest(
|
||||
uint32_t options,
|
||||
const network::ResourceRequest& request,
|
||||
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
|
||||
network::mojom::URLLoaderRequest loader_request,
|
||||
network::mojom::URLLoaderClientPtr client,
|
||||
network::mojom::URLLoaderFactoryPtr target_factory)
|
||||
mojo::PendingReceiver<network::mojom::URLLoader> loader_receiver,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderClient> client,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory)
|
||||
: factory_(factory),
|
||||
id_(id),
|
||||
options_(options),
|
||||
request_(request),
|
||||
traffic_annotation_(traffic_annotation),
|
||||
proxied_loader_binding_(this, std::move(loader_request)),
|
||||
proxied_loader_binding_(this, std::move(loader_receiver)),
|
||||
target_client_(std::move(client)),
|
||||
proxied_client_binding_(this),
|
||||
target_factory_(std::move(target_factory)),
|
||||
@@ -685,7 +685,7 @@ void InterceptedRequest::ContinueAfterIntercept() {
|
||||
uint32_t options = options_ | network::mojom::kURLLoadOptionUseHeaderClient;
|
||||
target_factory_->CreateLoaderAndStart(
|
||||
mojo::MakeRequest(&target_loader_), id_.routing_id(), id_.request_id(),
|
||||
options, request_, std::move(proxied_client), traffic_annotation_);
|
||||
options, request_, proxied_client.PassInterface(), traffic_annotation_);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1117,13 +1117,13 @@ void ProxyURLLoaderFactory::CreateProxy(
|
||||
// static
|
||||
ProxyURLLoaderFactory* ProxyURLLoaderFactory::CreateProxy(
|
||||
content::WebContents::Getter web_contents_getter,
|
||||
network::mojom::URLLoaderFactoryRequest loader_request,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> loader_receiver,
|
||||
std::unique_ptr<InterceptedRequestHandler> request_handler) {
|
||||
CEF_REQUIRE_IOT();
|
||||
DCHECK(request_handler);
|
||||
|
||||
auto proxy = new ProxyURLLoaderFactory(
|
||||
std::move(loader_request), nullptr,
|
||||
std::move(loader_receiver), nullptr,
|
||||
mojo::PendingReceiver<network::mojom::TrustedURLLoaderHeaderClient>(),
|
||||
std::move(request_handler));
|
||||
CEF_POST_TASK(CEF_UIT,
|
||||
@@ -1133,12 +1133,12 @@ ProxyURLLoaderFactory* ProxyURLLoaderFactory::CreateProxy(
|
||||
}
|
||||
|
||||
void ProxyURLLoaderFactory::CreateLoaderAndStart(
|
||||
network::mojom::URLLoaderRequest loader,
|
||||
mojo::PendingReceiver<network::mojom::URLLoader> receiver,
|
||||
int32_t routing_id,
|
||||
int32_t request_id,
|
||||
uint32_t options,
|
||||
const network::ResourceRequest& request,
|
||||
network::mojom::URLLoaderClientPtr client,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderClient> client,
|
||||
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation) {
|
||||
CEF_REQUIRE_IOT();
|
||||
if (!CONTEXT_STATE_VALID()) {
|
||||
@@ -1150,18 +1150,19 @@ void ProxyURLLoaderFactory::CreateLoaderAndStart(
|
||||
if (pass_through) {
|
||||
// This is the so-called pass-through, no-op option.
|
||||
target_factory_->CreateLoaderAndStart(
|
||||
std::move(loader), routing_id, request_id, options, request,
|
||||
std::move(receiver), routing_id, request_id, options, request,
|
||||
std::move(client), traffic_annotation);
|
||||
return;
|
||||
}
|
||||
|
||||
network::mojom::URLLoaderFactoryPtr target_factory_clone;
|
||||
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory_clone;
|
||||
if (target_factory_)
|
||||
target_factory_->Clone(MakeRequest(&target_factory_clone));
|
||||
target_factory_->Clone(
|
||||
target_factory_clone.InitWithNewPipeAndPassReceiver());
|
||||
|
||||
InterceptedRequest* req = new InterceptedRequest(
|
||||
this, RequestId(request_id, routing_id), options, request,
|
||||
traffic_annotation, std::move(loader), std::move(client),
|
||||
traffic_annotation, std::move(receiver), std::move(client),
|
||||
std::move(target_factory_clone));
|
||||
requests_.insert(std::make_pair(request_id, base::WrapUnique(req)));
|
||||
req->Restart();
|
||||
|
@@ -148,18 +148,19 @@ class ProxyURLLoaderFactory
|
||||
// Create a proxy object on the IO thread.
|
||||
static ProxyURLLoaderFactory* CreateProxy(
|
||||
content::WebContents::Getter web_contents_getter,
|
||||
network::mojom::URLLoaderFactoryRequest loader_request,
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> loader_request,
|
||||
std::unique_ptr<InterceptedRequestHandler> request_handler);
|
||||
|
||||
// mojom::URLLoaderFactory methods:
|
||||
void CreateLoaderAndStart(network::mojom::URLLoaderRequest loader,
|
||||
int32_t routing_id,
|
||||
int32_t request_id,
|
||||
uint32_t options,
|
||||
const network::ResourceRequest& request,
|
||||
network::mojom::URLLoaderClientPtr client,
|
||||
const net::MutableNetworkTrafficAnnotationTag&
|
||||
traffic_annotation) override;
|
||||
void CreateLoaderAndStart(
|
||||
mojo::PendingReceiver<network::mojom::URLLoader> receiver,
|
||||
int32_t routing_id,
|
||||
int32_t request_id,
|
||||
uint32_t options,
|
||||
const network::ResourceRequest& request,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderClient> client,
|
||||
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation)
|
||||
override;
|
||||
void Clone(
|
||||
mojo::PendingReceiver<network::mojom::URLLoaderFactory> factory) override;
|
||||
|
||||
|
@@ -668,7 +668,7 @@ void StreamReaderURLLoader::HeadersComplete(int orig_status_code,
|
||||
void StreamReaderURLLoader::ContinueWithResponseHeaders(
|
||||
int32_t result,
|
||||
const base::Optional<std::string>& headers,
|
||||
const GURL& redirect_url) {
|
||||
const base::Optional<GURL>& redirect_url) {
|
||||
if (result != net::OK) {
|
||||
RequestComplete(result);
|
||||
return;
|
||||
@@ -687,13 +687,13 @@ void StreamReaderURLLoader::ContinueWithResponseHeaders(
|
||||
DCHECK(client_.is_bound());
|
||||
|
||||
std::string location;
|
||||
if (!redirect_url.is_empty() ||
|
||||
pending_response_.headers->IsRedirect(&location)) {
|
||||
const auto has_redirect_url = redirect_url && !redirect_url->is_empty();
|
||||
if (has_redirect_url || pending_response_.headers->IsRedirect(&location)) {
|
||||
pending_response_.encoded_data_length = header_length_;
|
||||
pending_response_.content_length = pending_response_.encoded_body_length =
|
||||
0;
|
||||
const GURL new_location =
|
||||
redirect_url.is_empty() ? request_.url.Resolve(location) : redirect_url;
|
||||
has_redirect_url ? *redirect_url : request_.url.Resolve(location);
|
||||
client_->OnReceiveRedirect(
|
||||
MakeRedirectInfo(request_, pending_response_.headers.get(),
|
||||
new_location,
|
||||
|
@@ -190,7 +190,7 @@ class StreamReaderURLLoader : public network::mojom::URLLoader {
|
||||
void HeadersComplete(int status_code, int64_t expected_content_length);
|
||||
void ContinueWithResponseHeaders(int32_t result,
|
||||
const base::Optional<std::string>& headers,
|
||||
const GURL& redirect_url);
|
||||
const base::Optional<GURL>& redirect_url);
|
||||
|
||||
void SendBody();
|
||||
void ReadMore();
|
||||
|
@@ -62,8 +62,9 @@ scoped_refptr<URLLoaderFactoryGetter> URLLoaderFactoryGetter::Create(
|
||||
should_proxy |= CefContentBrowserClient::Get()->WillCreateURLLoaderFactory(
|
||||
browser_context, render_frame_host, render_process_id,
|
||||
content::ContentBrowserClient::URLLoaderFactoryType::kDocumentSubResource,
|
||||
url::Origin(), &maybe_proxy_factory_request, nullptr /* header_client */,
|
||||
nullptr /* bypass_redirect_checks */);
|
||||
url::Origin(), base::nullopt /* navigation_id */,
|
||||
&maybe_proxy_factory_request, nullptr /* header_client */,
|
||||
nullptr /* bypass_redirect_checks */, nullptr /* factory_override */);
|
||||
|
||||
// If anyone above indicated that they care about proxying, pass the
|
||||
// intermediate pipe along to the URLLoaderFactoryGetter.
|
||||
@@ -107,7 +108,7 @@ URLLoaderFactoryGetter::GetURLLoaderFactory() {
|
||||
}
|
||||
|
||||
URLLoaderFactoryGetter::URLLoaderFactoryGetter(
|
||||
std::unique_ptr<network::SharedURLLoaderFactoryInfo> loader_factory_info,
|
||||
std::unique_ptr<network::PendingSharedURLLoaderFactory> loader_factory_info,
|
||||
network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info,
|
||||
network::mojom::URLLoaderFactoryRequest proxy_factory_request)
|
||||
: loader_factory_info_(std::move(loader_factory_info)),
|
||||
|
@@ -19,7 +19,7 @@ class RenderFrameHost;
|
||||
|
||||
namespace network {
|
||||
class SharedURLLoaderFactory;
|
||||
class SharedURLLoaderFactoryInfo;
|
||||
class PendingSharedURLLoaderFactory;
|
||||
} // namespace network
|
||||
|
||||
namespace net_service {
|
||||
@@ -49,14 +49,15 @@ class URLLoaderFactoryGetter
|
||||
friend struct URLLoaderFactoryGetterDeleter;
|
||||
|
||||
URLLoaderFactoryGetter(
|
||||
std::unique_ptr<network::SharedURLLoaderFactoryInfo> loader_factory_info,
|
||||
std::unique_ptr<network::PendingSharedURLLoaderFactory>
|
||||
loader_factory_info,
|
||||
network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info,
|
||||
network::mojom::URLLoaderFactoryRequest proxy_factory_request);
|
||||
~URLLoaderFactoryGetter();
|
||||
|
||||
void DeleteOnCorrectThread() const;
|
||||
|
||||
std::unique_ptr<network::SharedURLLoaderFactoryInfo> loader_factory_info_;
|
||||
std::unique_ptr<network::PendingSharedURLLoaderFactory> loader_factory_info_;
|
||||
scoped_refptr<network::SharedURLLoaderFactory> lazy_factory_;
|
||||
network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info_;
|
||||
network::mojom::URLLoaderFactoryRequest proxy_factory_request_;
|
||||
|
Reference in New Issue
Block a user