64 lines
3.1 KiB
Diff
64 lines
3.1 KiB
Diff
|
From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001
|
|||
|
From: Jose Dapena Paz <jose.dapena@lge.com>
|
|||
|
Date: Tue, 11 Jun 2019 16:56:27 +0000
|
|||
|
Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace
|
|||
|
|
|||
|
GCC does not allow friendship declaration to anonymous namespace as done with Job
|
|||
|
object in the CertNetFetcherImpl. This fix removes the friend declaration, and just
|
|||
|
makes RemoveJob method public, that was the only reason to make Job a friend.
|
|||
|
|
|||
|
Error was:
|
|||
|
./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’:
|
|||
|
../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context
|
|||
|
delete_this = parent_->RemoveJob(this);
|
|||
|
^
|
|||
|
../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here
|
|||
|
std::unique_ptr<Job> RemoveJob(Job* job);
|
|||
|
^~~~~~~~~
|
|||
|
../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’:
|
|||
|
../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context
|
|||
|
std::unique_ptr<Job> delete_this = parent_->RemoveJob(this);
|
|||
|
^
|
|||
|
../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here
|
|||
|
std::unique_ptr<Job> RemoveJob(Job* job);
|
|||
|
^~~~~~~~~
|
|||
|
|
|||
|
Bug: 819294
|
|||
|
Change-Id: I3609f4558e570741395366de6a4cd40577d91450
|
|||
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783
|
|||
|
Commit-Queue: Eric Roman <eroman@chromium.org>
|
|||
|
Reviewed-by: Eric Roman <eroman@chromium.org>
|
|||
|
Cr-Commit-Position: refs/heads/master@{#668015}
|
|||
|
---
|
|||
|
|
|||
|
diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc
|
|||
|
index 11a1166..349c656 100644
|
|||
|
--- a/net/cert_net/cert_net_fetcher_impl.cc
|
|||
|
+++ b/net/cert_net/cert_net_fetcher_impl.cc
|
|||
|
@@ -135,21 +135,19 @@
|
|||
|
void Fetch(std::unique_ptr<RequestParams> request_params,
|
|||
|
scoped_refptr<RequestCore> request);
|
|||
|
|
|||
|
+ // Removes |job| from the in progress jobs and transfers ownership to the
|
|||
|
+ // caller.
|
|||
|
+ std::unique_ptr<Job> RemoveJob(Job* job);
|
|||
|
+
|
|||
|
// Cancels outstanding jobs, which stops network requests and signals the
|
|||
|
// corresponding RequestCores that the requests have completed.
|
|||
|
void Shutdown();
|
|||
|
|
|||
|
private:
|
|||
|
- friend class Job;
|
|||
|
-
|
|||
|
// Finds a job with a matching RequestPararms or returns nullptr if there was
|
|||
|
// no match.
|
|||
|
Job* FindJob(const RequestParams& params);
|
|||
|
|
|||
|
- // Removes |job| from the in progress jobs and transfers ownership to the
|
|||
|
- // caller.
|
|||
|
- std::unique_ptr<Job> RemoveJob(Job* job);
|
|||
|
-
|
|||
|
// The in-progress jobs. This set does not contain the job which is actively
|
|||
|
// invoking callbacks (OnJobCompleted).
|
|||
|
JobSet jobs_;
|