diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-10-23 17:35:57 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-11-29 14:21:02 +0100 |
commit | e5d1ae64fd61d41cf8f26de81cf75e8050f8ecbb (patch) | |
tree | 746451bad4dfc71c882dac9ee6ea766ffe051c40 /src/core/net/url_request_custom_job_proxy.h | |
parent | 8a1bf3a9a59509d33d5c4e45b743d9b57f5c44ac (diff) |
Remove direct URLRequestJob access from URLRequestCustomJobProxy
Prepares reuse of the class for network-service implementation of
custom url scheme handlers.
Change-Id: I0d120e5cc506e1bd996b3fca5ec973d890baadfd
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'src/core/net/url_request_custom_job_proxy.h')
-rw-r--r-- | src/core/net/url_request_custom_job_proxy.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/core/net/url_request_custom_job_proxy.h b/src/core/net/url_request_custom_job_proxy.h index d4cd7e208..7091c8319 100644 --- a/src/core/net/url_request_custom_job_proxy.h +++ b/src/core/net/url_request_custom_job_proxy.h @@ -42,6 +42,7 @@ #include "base/memory/weak_ptr.h" #include "base/optional.h" +#include "base/task_runner.h" #include "url/gurl.h" #include "url/origin.h" #include <QtCore/QPointer> @@ -60,7 +61,23 @@ class URLRequestCustomJobProxy : public base::RefCountedThreadSafe<URLRequestCus { public: - URLRequestCustomJobProxy(URLRequestCustomJob *job, + class Client { + public: + std::string m_mimeType; + std::string m_charset; + GURL m_redirect; + QIODevice *m_device; + int m_error; + virtual void notifyExpectedContentSize(qint64 size) = 0; + virtual void notifyHeadersComplete() = 0; + virtual void notifyCanceled() = 0; + virtual void notifyAborted() = 0; + virtual void notifyStartFailure(int) = 0; + virtual void notifyReadyRead() = 0; + virtual base::TaskRunner *taskRunner() = 0; + }; + + URLRequestCustomJobProxy(Client *client, const std::string &scheme, QPointer<ProfileAdapter> profileAdapter); ~URLRequestCustomJobProxy(); @@ -76,13 +93,14 @@ public: void readyRead(); // IO thread owned: - URLRequestCustomJob *m_job; + Client *m_client; bool m_started; // UI thread owned: std::string m_scheme; URLRequestCustomJobDelegate *m_delegate; QPointer<ProfileAdapter> m_profileAdapter; + scoped_refptr<base::TaskRunner> m_ioTaskRunner; }; } // namespace QtWebEngineCore |