Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1021)

Side by Side Diff: android_webview/browser/net/aw_stream_reader_job_delegate_impl.cc

Issue 1350553005: [Android WebView] Call shouldInterceptRequest on a background thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed indent in AwStreamReaderJobDelegateImpl Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 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
5 #include "android_webview/browser/net/aw_stream_reader_job_delegate_impl.h"
6
7 #include "android_webview/browser/input_stream.h"
8 #include "base/strings/string_number_conversions.h"
9 #include "net/http/http_response_headers.h"
10
11 namespace android_webview {
12
13 AwStreamReaderJobDelegateImpl::AwStreamReaderJobDelegateImpl(
14 scoped_ptr<AwWebResourceResponse> aw_web_resource_response)
15 : aw_web_resource_response_(aw_web_resource_response.Pass()) {
16 DCHECK(aw_web_resource_response_);
17 }
18
19 AwStreamReaderJobDelegateImpl::~AwStreamReaderJobDelegateImpl() {}
20
21 scoped_ptr<InputStream> AwStreamReaderJobDelegateImpl::OpenInputStream(
22 JNIEnv* env,
23 const GURL& url) {
24 return aw_web_resource_response_->GetInputStream(env).Pass();
25 }
26
27 void AwStreamReaderJobDelegateImpl::OnInputStreamOpenFailed(
28 net::URLRequest* request,
29 bool* restart) {
30 *restart = false;
31 }
32
33 bool AwStreamReaderJobDelegateImpl::GetMimeType(
34 JNIEnv* env,
35 net::URLRequest* request,
36 android_webview::InputStream* stream,
37 std::string* mime_type) {
38 return aw_web_resource_response_->GetMimeType(env, mime_type);
39 }
40
41 bool AwStreamReaderJobDelegateImpl::GetCharset(
42 JNIEnv* env,
43 net::URLRequest* request,
44 android_webview::InputStream* stream,
45 std::string* charset) {
46 return aw_web_resource_response_->GetCharset(env, charset);
47 }
48
49 void AwStreamReaderJobDelegateImpl::AppendResponseHeaders(
50 JNIEnv* env,
51 net::HttpResponseHeaders* headers) {
52 int status_code;
53 std::string reason_phrase;
54 if (aw_web_resource_response_->GetStatusInfo(env, &status_code,
55 &reason_phrase)) {
56 std::string status_line("HTTP/1.1 ");
57 status_line.append(base::IntToString(status_code));
58 status_line.append(" ");
59 status_line.append(reason_phrase);
60 headers->ReplaceStatusLine(status_line);
61 }
62 aw_web_resource_response_->GetResponseHeaders(env, headers);
63 }
64
65 } // namespace android_webview
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698