summaryrefslogtreecommitdiffstats
path: root/webkit/plugins
diff options
context:
space:
mode:
authorviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-22 00:22:10 +0000
committerviettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-22 00:22:10 +0000
commitc2ba529648861afa9ac97c96d4bed23cfb7b3965 (patch)
treec56c90c5950435df7ee0a3371c1f2cfde07f2167 /webkit/plugins
parent43f668ef2fe8c709525f98fb4e8513d448d82e94 (diff)
downloadchromium_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.cc21
-rw-r--r--webkit/plugins/ppapi/ppb_url_request_info_impl.h5
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);
};