diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-22 00:22:10 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-22 00:22:10 +0000 |
commit | c2ba529648861afa9ac97c96d4bed23cfb7b3965 (patch) | |
tree | c56c90c5950435df7ee0a3371c1f2cfde07f2167 /webkit/plugins | |
parent | 43f668ef2fe8c709525f98fb4e8513d448d82e94 (diff) | |
download | chromium_src-c2ba529648861afa9ac97c96d4bed23cfb7b3965.zip chromium_src-c2ba529648861afa9ac97c96d4bed23cfb7b3965.tar.gz chromium_src-c2ba529648861afa9ac97c96d4bed23cfb7b3965.tar.bz2 |
Merge 82541 to 742 (M12) - Pepper: Enable custom content-transfer-encoding header to be set in URL requests.
Such URL requests can be made by a trusted loader.
BUG=none
TEST=manual
Review URL: http://codereview.chromium.org/6882125
TBR=viettrungluu@chromium.org
Review URL: http://codereview.chromium.org/6897009
git-svn-id: svn://svn.chromium.org/chrome/branches/742/src@82589 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins')
-rw-r--r-- | webkit/plugins/ppapi/ppb_url_request_info_impl.cc | 21 | ||||
-rw-r--r-- | webkit/plugins/ppapi/ppb_url_request_info_impl.h | 5 |
2 files changed, 24 insertions, 2 deletions
diff --git a/webkit/plugins/ppapi/ppb_url_request_info_impl.cc b/webkit/plugins/ppapi/ppb_url_request_info_impl.cc index 89cf3c1..7bae8ba 100644 --- a/webkit/plugins/ppapi/ppb_url_request_info_impl.cc +++ b/webkit/plugins/ppapi/ppb_url_request_info_impl.cc @@ -202,7 +202,8 @@ PPB_URLRequestInfo_Impl::PPB_URLRequestInfo_Impl(PluginInstance* instance) record_upload_progress_(false), has_custom_referrer_url_(false), allow_cross_origin_requests_(false), - allow_credentials_(false) { + allow_credentials_(false), + has_custom_content_transfer_encoding_(false) { } PPB_URLRequestInfo_Impl::~PPB_URLRequestInfo_Impl() { @@ -224,6 +225,10 @@ bool PPB_URLRequestInfo_Impl::SetUndefinedProperty( has_custom_referrer_url_ = false; custom_referrer_url_ = std::string(); return true; + case PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING: + has_custom_content_transfer_encoding_ = false; + custom_content_transfer_encoding_ = std::string(); + return true; default: return false; } @@ -274,6 +279,10 @@ bool PPB_URLRequestInfo_Impl::SetStringProperty(PP_URLRequestProperty property, has_custom_referrer_url_ = true; custom_referrer_url_ = value; return true; + case PP_URLREQUESTPROPERTY_CUSTOMCONTENTTRANSFERENCODING: + has_custom_content_transfer_encoding_ = true; + custom_content_transfer_encoding_ = value; + return true; default: return false; } @@ -350,11 +359,19 @@ WebURLRequest PPB_URLRequestInfo_Impl::ToWebURLRequest(WebFrame* frame) const { frame->setReferrerForRequest(web_request, WebURL()); // Use default. } + if (has_custom_content_transfer_encoding_) { + if (!custom_content_transfer_encoding_.empty()) { + web_request.addHTTPHeaderField( + WebString::fromUTF8("Content-Transfer-Encoding"), + WebString::fromUTF8(custom_content_transfer_encoding_)); + } + } + return web_request; } bool PPB_URLRequestInfo_Impl::RequiresUniversalAccess() const { - return has_custom_referrer_url_; + return has_custom_referrer_url_ || has_custom_content_transfer_encoding_; } } // namespace ppapi diff --git a/webkit/plugins/ppapi/ppb_url_request_info_impl.h b/webkit/plugins/ppapi/ppb_url_request_info_impl.h index 1b06aa7..9d6c766 100644 --- a/webkit/plugins/ppapi/ppb_url_request_info_impl.h +++ b/webkit/plugins/ppapi/ppb_url_request_info_impl.h @@ -84,6 +84,11 @@ class PPB_URLRequestInfo_Impl : public Resource { 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_; + DISALLOW_COPY_AND_ASSIGN(PPB_URLRequestInfo_Impl); }; |