AndroidStreamReaderURLRequestJob::AndroidStreamReaderURLRequestJob(
net::URLRequest* request,
net::NetworkDelegate* network_delegate,
- scoped_ptr<Delegate> delegate)
+ scoped_ptr<Delegate> delegate,
+ const std::string& content_security_policy)
: URLRequestJob(request, network_delegate),
delegate_(delegate.Pass()),
+ content_security_policy_(content_security_policy),
weak_factory_(this) {
DCHECK(delegate_);
}
CreateStreamReader(input_stream.get()));
DCHECK(input_stream_reader);
- DCHECK(!input_stream_reader_wrapper_);
+ DCHECK(!input_stream_reader_wrapper_.get());
input_stream_reader_wrapper_ = new InputStreamReaderWrapper(
input_stream.Pass(), input_stream_reader.Pass());
int dest_size,
int* bytes_read) {
DCHECK(thread_checker_.CalledOnValidThread());
- if (!input_stream_reader_wrapper_) {
+ if (!input_stream_reader_wrapper_.get()) {
// This will happen if opening the InputStream fails in which case the
// error is communicated by setting the HTTP response status header rather
// than failing the request during the header fetch phase.
JNIEnv* env = AttachCurrentThread();
DCHECK(env);
- if (!input_stream_reader_wrapper_)
+ if (!input_stream_reader_wrapper_.get())
return false;
// Since it's possible for this call to alter the InputStream a
JNIEnv* env = AttachCurrentThread();
DCHECK(env);
- if (!input_stream_reader_wrapper_)
+ if (!input_stream_reader_wrapper_.get())
return false;
// Since it's possible for this call to alter the InputStream a
content_type_header.append(mime_type);
headers->AddHeader(content_type_header);
}
+
+ if (!content_security_policy_.empty()) {
+ std::string content_security_policy("Content-Security-Policy: ");
+ content_security_policy.append(content_security_policy_);
+ headers->AddHeader(content_security_policy);
+ }
}
response_info_.reset(new net::HttpResponseInfo());