summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2016-11-15 17:44:19 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-11-16 20:35:55 +0000
commit7a4324f5e4c3927b51e4176daf0d8ae6599c984a (patch)
tree70c0bffdfb637bee35c032ff9147a0df61691c0b /src
parent2d49b1b20f3275316310df599f1363ac86b8f078 (diff)
Pass size to URLRequestJob
If QIODevice has a size we can pass that on as expected size. This fixes media playback where Chromium does not always support streaming outside of HTTP or HTTPS. Task-number: QTBUG-57139 Change-Id: Ie8bf96b1f7f6af80fe707936055620d154c3ef2d Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Diffstat (limited to 'src')
-rw-r--r--src/core/url_request_custom_job.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core/url_request_custom_job.cpp b/src/core/url_request_custom_job.cpp
index 887222285..d093efd0a 100644
--- a/src/core/url_request_custom_job.cpp
+++ b/src/core/url_request_custom_job.cpp
@@ -229,6 +229,9 @@ void URLRequestCustomJobShared::setReplyDevice(QIODevice *device)
if (m_device && !m_device->isReadable())
m_device->open(QIODevice::ReadOnly);
+ qint64 size = m_device ? m_device->size() : -1;
+ if (size > 0)
+ m_job->set_expected_content_size(size);
if (m_device && m_device->isReadable())
content::BrowserThread::PostTask(content::BrowserThread::IO, FROM_HERE, base::Bind(&URLRequestCustomJobShared::notifyStarted, m_weakFactory.GetWeakPtr()));
else