15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#ifndef CONTENT_RENDERER_PEPPER_URL_REQUEST_INFO_UTIL_H_
6bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#define CONTENT_RENDERER_PEPPER_URL_REQUEST_INFO_UTIL_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/memory/ref_counted.h"
9bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#include "content/common/content_export.h"
10d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "ppapi/c/pp_instance.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ppapi {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)struct URLRequestInfoData;
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace blink {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class WebFrame;
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class WebURLRequest;
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2158e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdochnamespace content {
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
232385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch// Creates the WebKit URL request from the current request info. Returns true
242385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch// on success, false if the request is invalid (in which case *dest may be
252385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch// partially initialized). Any upload files with only resource IDs (no file ref
262385ea399aae016c0806a4f9ef3c9cfe3d2a39dfBen Murdoch// pointers) will be populated by this function on success.
27d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)CONTENT_EXPORT bool CreateWebURLRequest(PP_Instance instance,
28d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)                                        ppapi::URLRequestInfoData* data,
29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)                                        blink::WebFrame* frame,
30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)                                        blink::WebURLRequest* dest);
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Returns true if universal access is required to use the given request.
33bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben MurdochCONTENT_EXPORT bool URLRequestRequiresUniversalAccess(
34ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch    const ppapi::URLRequestInfoData& data);
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3658e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdoch}  // namespace content
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
38bbcdd45c55eb7c4641ab97aef9889b0fc828e7d3Ben Murdoch#endif  // CONTENT_RENDERER_PEPPER_PPB_URL_REQUEST_INFO_UTIL_H_
39