1d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen/*
2d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * Copyright 2010, The Android Open Source Project
3d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen *
4d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * Redistribution and use in source and binary forms, with or without
5d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * modification, are permitted provided that the following conditions
6d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * are met:
7d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen *  * Redistributions of source code must retain the above copyright
8d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen *    notice, this list of conditions and the following disclaimer.
9d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen *  * Redistributions in binary form must reproduce the above copyright
10d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen *    notice, this list of conditions and the following disclaimer in the
11d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen *    documentation and/or other materials provided with the distribution.
12d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen *
13d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
14d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen */
25d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
26d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen#ifndef WebResourceRequest_h
27d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen#define WebResourceRequest_h
28d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
29bdcebcb37eb20e212451130aee402c1927ad0e14Kristian Monsen#include "ChromiumIncludes.h"
30bdcebcb37eb20e212451130aee402c1927ad0e14Kristian Monsen
31d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen#include <string>
32d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
33d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsennamespace WebCore {
34d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsenclass ResourceRequest;
35d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen}
36d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
37d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsennamespace android {
38d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
39d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsenclass WebResourceRequest {
40d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
41d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsenpublic:
42e82298dad5b93e668a6dae26da91a7d2f942d0bbBen Murdoch    WebResourceRequest(const WebCore::ResourceRequest&, bool shouldBlockNetworkLoads);
43d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
44583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick    const std::string& method() const
45d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    {
46d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen        return m_method;
47d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    }
48d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
49583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick    const std::string& referrer() const
50d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    {
51d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen        return m_referrer;
52d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    }
53d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
54583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick    const std::string& userAgent() const
55583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick    {
56583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick        return m_userAgent;
57583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick    }
58583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick
59583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick    const net::HttpRequestHeaders& requestHeaders() const
60d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    {
61d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen        return m_requestHeaders;
62d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    }
63d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
64583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick    const std::string& url() const
65d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    {
66d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen        return m_url;
67d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    }
68d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
69833804653e1cc85cc95b67838a544b676e7b5f3bShimeng (Simon) Wang    int loadFlags() const
70833804653e1cc85cc95b67838a544b676e7b5f3bShimeng (Simon) Wang    {
71833804653e1cc85cc95b67838a544b676e7b5f3bShimeng (Simon) Wang        return m_loadFlags;
72833804653e1cc85cc95b67838a544b676e7b5f3bShimeng (Simon) Wang    }
73833804653e1cc85cc95b67838a544b676e7b5f3bShimeng (Simon) Wang
74d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsenprivate:
75d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    std::string m_method;
76d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    std::string m_referrer;
77583f3b2e7b569ec9f88e9c481db1eb86a8c0224bIain Merrick    std::string m_userAgent;
78d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    net::HttpRequestHeaders m_requestHeaders;
79d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen    std::string m_url;
80833804653e1cc85cc95b67838a544b676e7b5f3bShimeng (Simon) Wang    int m_loadFlags;
81d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen};
82d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
83d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen} // namespace android
84d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
85d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen
86d8c0fb842299e8de5af02d608f46c4f7bd443b1eKristian Monsen#endif
87