From kde-commits Tue May 17 12:50:12 2011 From: Maks Orlovich Date: Tue, 17 May 2011 12:50:12 +0000 To: kde-commits Subject: =?utf-8?q?=5Bkde-baseapps=5D_nsplugins/viewer=3A_Implement_the_h?= Message-Id: <20110517125012.D83EAA60AE () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=130563664510906 Git commit b7e487550a29b35072e24adaf4df6eb48264129d by Maks Orlovich. Committed on 17/05/2011 at 14:49. Pushed by orlovich into branch 'master'. Implement the headers feature to make Flash 10.3 not crash. (Whatever happens to checking ABI versions, anyway?) BUG: 273323 M +5 -3 nsplugins/viewer/nsplugin.cpp M +1 -0 nsplugins/viewer/nsplugin.h http://commits.kde.org/kde-baseapps/b7e487550a29b35072e24adaf4df6eb48264129d diff --git a/nsplugins/viewer/nsplugin.cpp b/nsplugins/viewer/nsplugin.cpp index a1e331a..6b377fe 100644 --- a/nsplugins/viewer/nsplugin.cpp +++ b/nsplugins/viewer/nsplugin.cpp @@ -1677,6 +1677,7 @@ bool NSPluginStreamBase::create( const QString& url, const QString& mimeType, vo _stream->pdata = 0; _stream->lastmodified = 0; _stream->notifyData = _notifyData; + _stream->headers = 0; _mimeType = mimeType; @@ -1910,6 +1911,7 @@ bool NSPluginStream::get( const QString& url, const QString& mimeType, _job = KIO::get(KUrl( url ), KIO::NoReload, KIO::HideProgressInfo); _job->addMetaData("errorPage", "false"); _job->addMetaData("AllowCompressedPage", "false"); + _job->addMetaData("PropagateHttpHeader", "true"); if (reload) { _job->addMetaData("cache", "reload"); } @@ -1939,6 +1941,7 @@ bool NSPluginStream::post( const QString& url, const QByteArray& data, _job = KIO::http_post(KUrl( url ), data, KIO::HideProgressInfo); _job->addMetaData("content-type", browserArgs.contentType()); _job->addMetaData("errorPage", "false"); + _job->addMetaData("PropagateHttpHeader", "true"); _job->addMetaData("AllowCompressedPage", "false"); connect(_job, SIGNAL(data(KIO::Job *, const QByteArray &)), SLOT(data(KIO::Job *, const QByteArray &))); @@ -1981,11 +1984,10 @@ void NSPluginStream::mimetype(KIO::Job * job, const QString &mimeType) { kDebug(1431) << "NSPluginStream::QByteArray - job=" << (void*)job << " mimeType=" << mimeType; _mimeType = mimeType; + _headers = job->metaData()["HTTP-Headers"].toLatin1(); + _stream->headers = _headers.data(); } - - - void NSPluginStream::resume() { if ( error() || tries()>8 ) { diff --git a/nsplugins/viewer/nsplugin.h b/nsplugins/viewer/nsplugin.h index b2cdec1..c796fec 100644 --- a/nsplugins/viewer/nsplugin.h +++ b/nsplugins/viewer/nsplugin.h @@ -102,6 +102,7 @@ protected: KUrl _url; QString _fileURL; QString _mimeType; + QByteArray _headers; QByteArray _data; class KTemporaryFile *_tempFile;