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 |