OLD | NEW |
| (Empty) |
1 // Copyright 2016 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_web_resource_request.h" | |
6 | |
7 #include "content/public/browser/resource_request_info.h" | |
8 #include "net/http/http_request_headers.h" | |
9 #include "net/http/http_response_headers.h" | |
10 #include "net/url_request/url_request.h" | |
11 | |
12 using base::android::ConvertJavaStringToUTF16; | |
13 using base::android::ConvertUTF8ToJavaString; | |
14 using base::android::ConvertUTF16ToJavaString; | |
15 using base::android::ToJavaArrayOfStrings; | |
16 | |
17 namespace android_webview { | |
18 | |
19 AwWebResourceRequest::AwWebResourceRequest(const net::URLRequest& request) | |
20 : url(request.url().spec()), method(request.method()) { | |
21 const content::ResourceRequestInfo* info = | |
22 content::ResourceRequestInfo::ForRequest(&request); | |
23 is_main_frame = | |
24 info && info->GetResourceType() == content::RESOURCE_TYPE_MAIN_FRAME; | |
25 has_user_gesture = info && info->HasUserGesture(); | |
26 | |
27 net::HttpRequestHeaders headers; | |
28 if (!request.GetFullRequestHeaders(&headers)) | |
29 headers = request.extra_request_headers(); | |
30 net::HttpRequestHeaders::Iterator headers_iterator(headers); | |
31 while (headers_iterator.GetNext()) { | |
32 header_names.push_back(headers_iterator.name()); | |
33 header_values.push_back(headers_iterator.value()); | |
34 } | |
35 } | |
36 | |
37 AwWebResourceRequest::AwWebResourceRequest(AwWebResourceRequest&& other) = | |
38 default; | |
39 AwWebResourceRequest& AwWebResourceRequest::operator=( | |
40 AwWebResourceRequest&& other) = default; | |
41 AwWebResourceRequest::~AwWebResourceRequest() = default; | |
42 | |
43 AwWebResourceRequest::AwJavaWebResourceRequest::AwJavaWebResourceRequest() = | |
44 default; | |
45 AwWebResourceRequest::AwJavaWebResourceRequest::~AwJavaWebResourceRequest() = | |
46 default; | |
47 | |
48 // static | |
49 void AwWebResourceRequest::ConvertToJava(JNIEnv* env, | |
50 const AwWebResourceRequest& request, | |
51 AwJavaWebResourceRequest* jRequest) { | |
52 jRequest->jurl = ConvertUTF8ToJavaString(env, request.url); | |
53 jRequest->jmethod = ConvertUTF8ToJavaString(env, request.method); | |
54 jRequest->jheader_names = ToJavaArrayOfStrings(env, request.header_names); | |
55 jRequest->jheader_values = ToJavaArrayOfStrings(env, request.header_values); | |
56 } | |
57 | |
58 } // namespace android_webview | |
OLD | NEW |