summaryrefslogtreecommitdiffstats
path: root/src/core/profile_io_data_qt.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/profile_io_data_qt.h')
-rw-r--r--src/core/profile_io_data_qt.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/core/profile_io_data_qt.h b/src/core/profile_io_data_qt.h
index 2d4706bf4..edb2fd3b5 100644
--- a/src/core/profile_io_data_qt.h
+++ b/src/core/profile_io_data_qt.h
@@ -43,6 +43,7 @@
#include "profile_adapter.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/custom_handlers/protocol_handler_registry.h"
+#include "extensions/buildflags/buildflags.h"
#include "services/proxy_resolver/public/mojom/proxy_resolver.mojom.h"
#include <QtCore/QString>
@@ -50,6 +51,7 @@
#include <QtCore/QMutex>
namespace net {
+class ClientCertStore;
class DhcpPacFileFetcherFactory;
class HttpAuthPreferences;
class HttpNetworkSession;
@@ -61,8 +63,13 @@ class URLRequestJobFactoryImpl;
class TransportSecurityPersister;
}
+namespace extensions {
+class ExtensionSystemQt;
+}
+
namespace QtWebEngineCore {
+class ClientCertificateStoreData;
class ProfileQt;
// ProfileIOData contains data that lives on the IOthread
@@ -75,8 +82,13 @@ public:
ProfileIODataQt(ProfileQt *profile); // runs on ui thread
virtual ~ProfileIODataQt();
+ QPointer<ProfileAdapter> profileAdapter();
content::ResourceContext *resourceContext();
net::URLRequestContext *urlRequestContext();
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+ extensions::ExtensionSystemQt* GetExtensionSystem();
+#endif // BUILDFLAG(ENABLE_EXTENSIONS)
+
void initializeOnIOThread();
void initializeOnUIThread(); // runs on ui thread
void shutdownOnUIThread(); // runs on ui thread
@@ -91,10 +103,12 @@ public:
void regenerateJobFactory();
bool canSetCookie(const QUrl &firstPartyUrl, const QByteArray &cookieLine, const QUrl &url) const;
bool canGetCookies(const QUrl &firstPartyUrl, const QUrl &url) const;
+ void setGlobalCertificateVerification();
// Used in NetworkDelegateQt::OnBeforeURLRequest.
QWebEngineUrlRequestInterceptor *acquireInterceptor();
void releaseInterceptor();
+ QWebEngineUrlRequestInterceptor *requestInterceptor();
void setRequestContextData(content::ProtocolHandlerMap *protocolHandlers,
content::URLRequestInterceptorScopedVector request_interceptors);
@@ -107,7 +121,12 @@ public:
void updateRequestInterceptor(); // runs on ui thread
void requestStorageGeneration(); //runs on ui thread
void createProxyConfig(); //runs on ui thread
+ void updateUsedForGlobalCertificateVerification(); // runs on ui thread
+ bool hasPageInterceptors();
+ ClientCertificateStoreData *clientCertificateStoreData();
+ std::unique_ptr<net::ClientCertStore> CreateClientCertStore();
+ static ProfileIODataQt *FromResourceContext(content::ResourceContext *resource_context);
private:
ProfileQt *m_profile;
std::unique_ptr<net::URLRequestContextStorage> m_storage;
@@ -129,6 +148,7 @@ private:
QAtomicPointer<net::ProxyConfigService> m_proxyConfigService;
QPointer<ProfileAdapter> m_profileAdapter; // never dereferenced in IO thread and it is passed by qpointer
ProfileAdapter::PersistentCookiesPolicy m_persistentCookiesPolicy;
+ ClientCertificateStoreData *m_clientCertificateStoreData;
QString m_cookiesPath;
QString m_channelIdPath;
QString m_httpAcceptLanguage;
@@ -144,6 +164,8 @@ private:
bool m_updateAllStorage = false;
bool m_updateJobFactory = false;
bool m_ignoreCertificateErrors = false;
+ bool m_useForGlobalCertificateVerification = false;
+ bool m_hasPageInterceptors = false;
base::WeakPtrFactory<ProfileIODataQt> m_weakPtrFactory; // this should be always the last member
QString m_dataPath;
DISALLOW_COPY_AND_ASSIGN(ProfileIODataQt);