diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp index b19c12b6a..7d54d88c7 100644 --- a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp +++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePluginStream.cpp @@ -30,7 +30,6 @@ #include "NetscapePlugin.h" #include <utility> -#include <wtf/PassOwnPtr.h> #include <wtf/Vector.h> using namespace WebCore; @@ -63,6 +62,14 @@ NetscapePluginStream::~NetscapePluginStream() ASSERT(m_fileHandle == invalidPlatformFileHandle); } +void NetscapePluginStream::willSendRequest(const URL& requestURL, const URL& redirectResponseURL, int redirectResponseStatus) +{ + Ref<NetscapePluginStream> protect(*this); + + if (redirectResponseStatus >= 300 && redirectResponseStatus < 400) + m_plugin->registerRedirect(this, requestURL, redirectResponseStatus, m_notificationData); +} + void NetscapePluginStream::didReceiveResponse(const URL& responseURL, uint32_t streamLength, uint32_t lastModifiedTime, const String& mimeType, const String& headers) { // Starting the stream could cause the plug-in stream to go away so we keep a reference to it here. @@ -187,7 +194,7 @@ void NetscapePluginStream::deliverData(const char* bytes, int length) if (m_transferMode != NP_ASFILEONLY) { if (!m_deliveryData) - m_deliveryData = adoptPtr(new Vector<uint8_t>); + m_deliveryData = std::make_unique<Vector<uint8_t>>(); m_deliveryData->reserveCapacity(m_deliveryData->size() + length); m_deliveryData->append(bytes, length); @@ -339,6 +346,11 @@ void NetscapePluginStream::stop(NPReason reason) notifyAndDestroyStream(reason); } +void NetscapePluginStream::setURL(const String& newURLString) +{ + m_requestURLString = newURLString; +} + void NetscapePluginStream::cancel() { m_plugin->cancelStreamLoad(this); |