| Index: webkit/plugins/ppapi/ppb_url_request_info_impl.h
|
| diff --git a/webkit/plugins/ppapi/ppb_url_request_info_impl.h b/webkit/plugins/ppapi/ppb_url_request_info_impl.h
|
| index 277edfb247d0dac46cc7b5675477a3dc10eb70ea..a534002ab9f8644796bf02632195415fb3cd75fb 100644
|
| --- a/webkit/plugins/ppapi/ppb_url_request_info_impl.h
|
| +++ b/webkit/plugins/ppapi/ppb_url_request_info_impl.h
|
| @@ -5,105 +5,49 @@
|
| #ifndef WEBKIT_PLUGINS_PPAPI_PPB_URL_REQUEST_INFO_IMPL_H_
|
| #define WEBKIT_PLUGINS_PPAPI_PPB_URL_REQUEST_INFO_IMPL_H_
|
|
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/compiler_specific.h"
|
| #include "base/memory/ref_counted.h"
|
| -#include "ppapi/c/ppb_url_request_info.h"
|
| #include "ppapi/thunk/ppb_url_request_info_api.h"
|
| -#include "ppapi/shared_impl/resource.h"
|
| +#include "ppapi/shared_impl/url_request_info_impl.h"
|
|
|
| namespace WebKit {
|
| class WebFrame;
|
| +class WebHTTPBody;
|
| class WebURLRequest;
|
| }
|
|
|
| namespace webkit {
|
| namespace ppapi {
|
|
|
| -class PPB_FileRef_Impl;
|
| -
|
| -class PPB_URLRequestInfo_Impl : public ::ppapi::Resource,
|
| - public ::ppapi::thunk::PPB_URLRequestInfo_API {
|
| +class PPB_URLRequestInfo_Impl : public ::ppapi::URLRequestInfoImpl {
|
| public:
|
| - explicit PPB_URLRequestInfo_Impl(PP_Instance instance);
|
| + explicit PPB_URLRequestInfo_Impl(
|
| + PP_Instance instance,
|
| + const ::ppapi::PPB_URLRequestInfo_Data& data);
|
| virtual ~PPB_URLRequestInfo_Impl();
|
|
|
| - // Resource overrides.
|
| - virtual PPB_URLRequestInfo_API* AsPPB_URLRequestInfo_API() OVERRIDE;
|
| -
|
| - // PPB_URLRequestInfo implementation.
|
| - virtual PP_Bool SetProperty(PP_URLRequestProperty property,
|
| - PP_Var var) OVERRIDE;
|
| - virtual PP_Bool AppendDataToBody(const void* data, uint32_t len) OVERRIDE;
|
| - virtual PP_Bool AppendFileToBody(
|
| - PP_Resource file_ref,
|
| - int64_t start_offset,
|
| - int64_t number_of_bytes,
|
| - PP_Time expected_last_modified_time) OVERRIDE;
|
| -
|
| - WebKit::WebURLRequest ToWebURLRequest(WebKit::WebFrame* frame) const;
|
| + // Creates the WebKit URL request from the current request info. Returns
|
| + // true on success, false if the request is invalid (in which case *dest may
|
| + // be partially initialized).
|
| + bool ToWebURLRequest(WebKit::WebFrame* frame,
|
| + WebKit::WebURLRequest* dest);
|
|
|
| // Whether universal access is required to use this request.
|
| bool RequiresUniversalAccess() const;
|
|
|
| - bool SetUndefinedProperty(PP_URLRequestProperty property);
|
| - bool SetBooleanProperty(PP_URLRequestProperty property, bool value);
|
| - bool SetIntegerProperty(PP_URLRequestProperty property, int32_t value);
|
| - bool SetStringProperty(PP_URLRequestProperty property,
|
| - const std::string& value);
|
| -
|
| -
|
| - bool follow_redirects() { return follow_redirects_; }
|
| -
|
| - bool record_download_progress() const { return record_download_progress_; }
|
| - bool record_upload_progress() const { return record_upload_progress_; }
|
| -
|
| - bool allow_cross_origin_requests() const {
|
| - return allow_cross_origin_requests_;
|
| - }
|
| - bool allow_credentials() const { return allow_credentials_; }
|
| -
|
| - int32_t prefetch_buffer_upper_threshold() const {
|
| - return prefetch_buffer_upper_threshold_;
|
| - }
|
| - int32_t prefetch_buffer_lower_threshold() const {
|
| - return prefetch_buffer_lower_threshold_;
|
| - }
|
| -
|
| private:
|
| - struct BodyItem;
|
| - typedef std::vector<BodyItem> Body;
|
| -
|
| - std::string url_;
|
| - std::string method_;
|
| - std::string headers_;
|
| - Body body_;
|
| -
|
| - bool stream_to_file_;
|
| - bool follow_redirects_;
|
| - bool record_download_progress_;
|
| - bool record_upload_progress_;
|
| -
|
| - // |has_custom_referrer_url_| is set to false if a custom referrer hasn't been
|
| - // set (or has been set to an Undefined Var) and the default referrer should
|
| - // be used. (Setting the custom referrer to an empty string indicates that no
|
| - // referrer header should be generated.)
|
| - bool has_custom_referrer_url_;
|
| - std::string custom_referrer_url_;
|
| -
|
| - bool allow_cross_origin_requests_;
|
| - bool allow_credentials_;
|
| -
|
| - // Similar to the custom referrer (above), but for custom content transfer
|
| - // encoding.
|
| - bool has_custom_content_transfer_encoding_;
|
| - std::string custom_content_transfer_encoding_;
|
| -
|
| - // Specify permitted range for the size of the buffer unconsumed by plugin.
|
| - int32_t prefetch_buffer_upper_threshold_;
|
| - int32_t prefetch_buffer_lower_threshold_;
|
| + friend class URLRequestInfoTest;
|
| +
|
| + // Checks that the request data is valid and does some canonicalization of
|
| + // it. Returns false on failure
|
| + bool ValidateData();
|
| +
|
| + // Appends the file ref given the Resource pointer associated with it to the
|
| + // given HTTP body, returning true on success.
|
| + bool AppendFileRefToBody(::ppapi::Resource* file_ref_resource,
|
| + int64_t start_offset,
|
| + int64_t number_of_bytes,
|
| + PP_Time expected_last_modified_time,
|
| + WebKit::WebHTTPBody *http_body);
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PPB_URLRequestInfo_Impl);
|
| };
|
|
|