Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / modules / serviceworkers / Request.h
index a95141e..9c34d97 100644 (file)
@@ -5,46 +5,56 @@
 #ifndef Request_h
 #define Request_h
 
-#include "bindings/v8/Dictionary.h"
-#include "bindings/v8/ScriptWrappable.h"
-#include "modules/serviceworkers/HeaderMap.h"
+#include "bindings/core/v8/Dictionary.h"
+#include "bindings/core/v8/ScriptWrappable.h"
+#include "modules/serviceworkers/FetchRequestData.h"
+#include "modules/serviceworkers/Headers.h"
+#include "platform/heap/Handle.h"
 #include "platform/weborigin/KURL.h"
 #include "wtf/RefCounted.h"
 #include "wtf/RefPtr.h"
 #include "wtf/text/WTFString.h"
 
-namespace blink { class WebServiceWorkerRequest; }
+namespace blink {
 
-namespace WebCore {
-
-struct RequestInit;
+class RequestInit;
 class ResourceRequest;
+struct ResourceLoaderOptions;
+struct ThreadableLoaderOptions;
+class WebServiceWorkerRequest;
 
-class Request FINAL : public ScriptWrappable, public RefCounted<Request> {
+class Request FINAL : public RefCountedWillBeGarbageCollected<Request>, public ScriptWrappable {
+    DECLARE_EMPTY_DESTRUCTOR_WILL_BE_REMOVED(Request);
 public:
-    static PassRefPtr<Request> create();
-    static PassRefPtr<Request> create(const Dictionary&);
-    static PassRefPtr<Request> create(const blink::WebServiceWorkerRequest&);
-    ~Request() { };
+    static PassRefPtrWillBeRawPtr<Request> create(ExecutionContext*, const String&, ExceptionState&);
+    static PassRefPtrWillBeRawPtr<Request> create(ExecutionContext*, const String&, const Dictionary&, ExceptionState&);
+    static PassRefPtrWillBeRawPtr<Request> create(ExecutionContext*, Request*, ExceptionState&);
+    static PassRefPtrWillBeRawPtr<Request> create(ExecutionContext*, Request*, const Dictionary&, ExceptionState&);
+
+    static PassRefPtrWillBeRawPtr<Request> create(PassRefPtrWillBeRawPtr<FetchRequestData>);
 
-    void setURL(const String& value);
-    void setMethod(const String& value);
+    static PassRefPtrWillBeRawPtr<Request> create(const WebServiceWorkerRequest&);
 
-    String url() const { return m_url.string(); }
-    String method() const { return m_method; }
-    String origin() const;
-    PassRefPtr<HeaderMap> headers() const { return m_headers; }
+    PassRefPtrWillBeRawPtr<FetchRequestData> request() { return m_request; }
 
-    PassOwnPtr<ResourceRequest> createResourceRequest() const;
+    String method() const;
+    String url() const;
+    PassRefPtrWillBeRawPtr<Headers> headers() const { return m_headers; }
+    // FIXME: Support body.
+    String referrer() const;
+    String mode() const;
+    String credentials() const;
+
+    void trace(Visitor*);
 
 private:
-    explicit Request(const RequestInit&);
-    explicit Request(const blink::WebServiceWorkerRequest&);
-    KURL m_url;
-    String m_method;
-    RefPtr<HeaderMap> m_headers;
+    explicit Request(PassRefPtrWillBeRawPtr<FetchRequestData>);
+    explicit Request(const WebServiceWorkerRequest&);
+
+    RefPtrWillBeMember<FetchRequestData> m_request;
+    RefPtrWillBeMember<Headers> m_headers;
 };
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // Request_h