Move URL from WebCore to WTF
[WebKit-https.git] / Source / WebKitLegacy / win / Plugins / PluginStream.h
index 3b6c710..c1b9f87 100644 (file)
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef PluginStream_h
-#define PluginStream_h
+#pragma once
 
-#include "FileSystem.h"
-#include "URL.h"
-#include "NetscapePlugInStreamLoader.h"
 #include "PluginQuirkSet.h"
-#include "ResourceRequest.h"
-#include "ResourceResponse.h"
-#include "Timer.h"
-#include "npruntime_internal.h"
+#include <WebCore/FileSystem.h>
+#include <WebCore/NetscapePlugInStreamLoader.h>
+#include <WebCore/ResourceRequest.h>
+#include <WebCore/ResourceResponse.h>
+#include <WebCore/Timer.h>
+#include <WebCore/npruntime_internal.h>
 #include <wtf/HashMap.h>
 #include <wtf/RefCounted.h>
+#include <wtf/URL.h>
 #include <wtf/Vector.h>
 #include <wtf/text/CString.h>
 #include <wtf/text/StringHash.h>
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
-    class Frame;
-    class PluginStream;
-
-    enum PluginStreamState { StreamBeforeStarted, StreamStarted, StreamStopped };
-
-    class PluginStreamClient {
-    public:
-        virtual ~PluginStreamClient() {}
-        virtual void streamDidFinishLoading(PluginStream*) {}
-    };
-
-    class PluginStream : public RefCounted<PluginStream>, private NetscapePlugInStreamLoaderClient {
-    public:
-        static Ref<PluginStream> create(PluginStreamClient* client, Frame* frame, const ResourceRequest& request, bool sendNotification, void* notifyData, const NPPluginFuncs* functions, NPP instance, const PluginQuirkSet& quirks)
-        {
-            return adoptRef(*new PluginStream(client, frame, request, sendNotification, notifyData, functions, instance, quirks));
-        }
-        virtual ~PluginStream();
-        
-        void start();
-        void stop();
-
-        void startStream();
-
-        void setLoadManually(bool loadManually) { m_loadManually = loadManually; }
-
-        void sendJavaScriptStream(const URL& requestURL, const WTF::CString& resultString);
-        void cancelAndDestroyStream(NPReason);
-
-        static NPP ownerForStream(NPStream*);
-
-    private:
-        PluginStream(PluginStreamClient*, Frame*, const ResourceRequest&, bool sendNotification, void* notifyData, const NPPluginFuncs*, NPP instance, const PluginQuirkSet&);
-
-        void deliverData();
-        void destroyStream(NPReason);
-        void destroyStream();
-
-        // NetscapePlugInStreamLoaderClient
-        void willSendRequest(NetscapePlugInStreamLoader*, ResourceRequest&&, const ResourceResponse& redirectResponse, WTF::Function<void (ResourceRequest&&)>&&) override;
-        void didReceiveResponse(NetscapePlugInStreamLoader*, const ResourceResponse&) override;
-        void didReceiveData(NetscapePlugInStreamLoader*, const char*, int) override;
-        void didFail(NetscapePlugInStreamLoader*, const ResourceError&) override;
-        void didFinishLoading(NetscapePlugInStreamLoader*) override;
-        bool wantsAllStreams() const override;
-
-        ResourceRequest m_resourceRequest;
-        ResourceResponse m_resourceResponse;
-
-        PluginStreamClient* m_client;
-        Frame* m_frame;
-        RefPtr<NetscapePlugInStreamLoader> m_loader;
-        void* m_notifyData;
-        bool m_sendNotification;
-        PluginStreamState m_streamState;
-        bool m_loadManually;
-
-        Timer m_delayDeliveryTimer;
-        void delayDeliveryTimerFired();
-
-        std::unique_ptr<Vector<char>> m_deliveryData;
-
-        PlatformFileHandle m_tempFileHandle;
-
-        const NPPluginFuncs* m_pluginFuncs;
-        NPP m_instance;
-        uint16_t m_transferMode;
-        int32_t m_offset;
-        CString m_headers;
-        String m_path;
-        NPReason m_reason;
-        NPStream m_stream;
-        PluginQuirkSet m_quirks;
-
-        friend class PluginView;
-    };
+class Frame;
+class PluginStream;
+
+enum PluginStreamState { StreamBeforeStarted, StreamStarted, StreamStopped };
+
+class PluginStreamClient {
+public:
+    virtual ~PluginStreamClient() { }
+    virtual void streamDidFinishLoading(PluginStream*) { }
+};
+
+class PluginStream : public RefCounted<PluginStream>, private NetscapePlugInStreamLoaderClient {
+public:
+    static Ref<PluginStream> create(PluginStreamClient* client, Frame* frame, const ResourceRequest& request, bool sendNotification, void* notifyData, const NPPluginFuncs* functions, NPP instance, const PluginQuirkSet& quirks)
+    {
+        return adoptRef(*new PluginStream(client, frame, request, sendNotification, notifyData, functions, instance, quirks));
+    }
+    virtual ~PluginStream();
+    
+    void start();
+    void stop();
+
+    void startStream();
+
+    void setLoadManually(bool loadManually) { m_loadManually = loadManually; }
+
+    void sendJavaScriptStream(const URL& requestURL, const WTF::CString& resultString);
+    void cancelAndDestroyStream(NPReason);
+
+    static NPP ownerForStream(NPStream*);
+
+private:
+    PluginStream(PluginStreamClient*, Frame*, const ResourceRequest&, bool sendNotification, void* notifyData, const NPPluginFuncs*, NPP instance, const PluginQuirkSet&);
+
+    void deliverData();
+    void destroyStream(NPReason);
+    void destroyStream();
+
+    // NetscapePlugInStreamLoaderClient
+    void willSendRequest(NetscapePlugInStreamLoader*, ResourceRequest&&, const ResourceResponse& redirectResponse, CompletionHandler<void(ResourceRequest&&)>&&) override;
+    void didReceiveResponse(NetscapePlugInStreamLoader*, const ResourceResponse&) override;
+    void didReceiveData(NetscapePlugInStreamLoader*, const char*, int) override;
+    void didFail(NetscapePlugInStreamLoader*, const ResourceError&) override;
+    void didFinishLoading(NetscapePlugInStreamLoader*) override;
+    bool wantsAllStreams() const override;
+
+    ResourceRequest m_resourceRequest;
+    ResourceResponse m_resourceResponse;
+
+    PluginStreamClient* m_client;
+    Frame* m_frame;
+    RefPtr<NetscapePlugInStreamLoader> m_loader;
+    void* m_notifyData;
+    bool m_sendNotification;
+    PluginStreamState m_streamState;
+    bool m_loadManually;
+
+    Timer m_delayDeliveryTimer;
+    void delayDeliveryTimerFired();
+
+    std::unique_ptr<Vector<char>> m_deliveryData;
+
+    FileSystem::PlatformFileHandle m_tempFileHandle;
+
+    const NPPluginFuncs* m_pluginFuncs;
+    NPP m_instance;
+    uint16_t m_transferMode;
+    int32_t m_offset;
+    CString m_headers;
+    String m_path;
+    NPReason m_reason;
+    NPStream m_stream;
+    PluginQuirkSet m_quirks;
+
+    friend class PluginView;
+};
 
 } // namespace WebCore
-
-#endif