Add a missing dependency to //extensions/extensions_renderer_resources
[chromium-blink-merge.git] / ppapi / api / ppb_url_response_info.idl
blob2998b7ab47b650eaffcd0dddf4282290dcf86327
1 /* Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
6 /**
7 * This file defines the <code>PPB_URLResponseInfo</code> API for examining URL
8 * responses.
9 */
11 [generate_thunk]
13 label Chrome {
14 M14 = 1.0
17 /**
18 * This enumeration contains properties set on a URL response.
20 [assert_size(4)]
21 enum PP_URLResponseProperty {
22 /**
23 * This corresponds to a string (PP_VARTYPE_STRING); an absolute URL formed by
24 * resolving the relative request URL with the absolute document URL. Refer
25 * to the
26 * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2">
27 * HTTP Request URI</a> and
28 * <a href="http://www.w3.org/TR/html4/struct/links.html#h-12.4.1">
29 * HTML Resolving Relative URIs</a> documentation for further information.
31 PP_URLRESPONSEPROPERTY_URL = 0,
33 /**
34 * This corresponds to a string (PP_VARTYPE_STRING); the absolute URL returned
35 * in the response header's 'Location' field if this is a redirect response,
36 * an empty string otherwise. Refer to the
37 * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">
38 * HTTP Status Codes - Redirection</a> documentation for further information.
40 PP_URLRESPONSEPROPERTY_REDIRECTURL = 1,
42 /**
43 * This corresponds to a string (PP_VARTYPE_STRING); the HTTP method to be
44 * used in a new request if this is a redirect response, an empty string
45 * otherwise. Refer to the
46 * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3">
47 * HTTP Status Codes - Redirection</a> documentation for further information.
49 PP_URLRESPONSEPROPERTY_REDIRECTMETHOD = 2,
51 /**
52 * This corresponds to an int32 (PP_VARETYPE_INT32); the status code from the
53 * response, e.g., 200 if the request was successful. Refer to the
54 * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1.1">
55 * HTTP Status Code and Reason Phrase</a> documentation for further
56 * information.
58 PP_URLRESPONSEPROPERTY_STATUSCODE = 3,
60 /**
61 * This corresponds to a string (PP_VARTYPE_STRING); the status line
62 * from the response. Refer to the
63 * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1">
64 * HTTP Response Status Line</a> documentation for further information.
66 PP_URLRESPONSEPROPERTY_STATUSLINE = 4,
68 /**
69 * This corresponds to a string(PP_VARTYPE_STRING), a \n-delimited list of
70 * header field/value pairs of the form "field: value", returned by the
71 * server. Refer to the
72 * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14">
73 * HTTP Header Field Definitions</a> documentation for further information.
75 PP_URLRESPONSEPROPERTY_HEADERS = 5
79 /**
80 * The PPB_URLResponseInfo interface contains APIs for
81 * examining URL responses. Refer to <code>PPB_URLLoader</code> for further
82 * information.
84 interface PPB_URLResponseInfo {
85 /**
86 * IsURLResponseInfo() determines if a response is a
87 * <code>URLResponseInfo</code>.
89 * @param[in] resource A <code>PP_Resource</code> corresponding to a
90 * <code>URLResponseInfo</code>.
92 * @return <code>PP_TRUE</code> if the resource is a
93 * <code>URLResponseInfo</code>, <code>PP_FALSE</code> if the resource is
94 * invalid or some type other than <code>URLResponseInfo</code>.
96 PP_Bool IsURLResponseInfo(
97 [in] PP_Resource resource);
99 /**
100 * GetProperty() gets a response property.
102 * @param[in] request A <code>PP_Resource</code> corresponding to a
103 * <code>URLResponseInfo</code>.
104 * @param[in] property A <code>PP_URLResponseProperty</code> identifying
105 * the type of property in the response.
107 * @return A <code>PP_Var</code> containing the response property value if
108 * successful, <code>PP_VARTYPE_VOID</code> if an input parameter is invalid.
110 PP_Var GetProperty(
111 [in] PP_Resource response,
112 [in] PP_URLResponseProperty property);
115 * GetBodyAsFileRef() returns a FileRef pointing to the file containing the
116 * response body. This is only valid if
117 * <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was set on the
118 * <code>URLRequestInfo</code> used to produce this response. This file
119 * remains valid until the <code>URLLoader</code> associated with this
120 * <code>URLResponseInfo</code> is closed or destroyed.
122 * @param[in] request A <code>PP_Resource</code> corresponding to a
123 * <code>URLResponseInfo</code>.
125 * @return A <code>PP_Resource</code> corresponding to a <code>FileRef</code>
126 * if successful, 0 if <code>PP_URLREQUESTPROPERTY_STREAMTOFILE</code> was
127 * not requested or if the <code>URLLoader</code> has not been opened yet.
129 PP_Resource GetBodyAsFileRef(
130 [in] PP_Resource response);