OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/android/offline_pages/downloads/offline_page_download_b
ridge.h" | 5 #include "chrome/browser/android/offline_pages/downloads/offline_page_download_b
ridge.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/guid.h" | 10 #include "base/guid.h" |
11 #include "base/memory/ptr_util.h" | 11 #include "base/memory/ptr_util.h" |
12 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h" | 12 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h" |
13 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" | 13 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" |
14 #include "chrome/browser/android/tab_android.h" | 14 #include "chrome/browser/android/tab_android.h" |
15 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
16 #include "chrome/browser/profiles/profile_android.h" | 16 #include "chrome/browser/profiles/profile_android.h" |
17 #include "components/offline_pages/client_namespace_constants.h" | 17 #include "components/offline_pages/client_namespace_constants.h" |
18 #include "components/offline_pages/downloads/download_ui_item.h" | 18 #include "components/offline_pages/downloads/download_ui_item.h" |
19 #include "components/offline_pages/offline_page_model.h" | 19 #include "components/offline_pages/offline_page_model.h" |
20 #include "content/public/browser/web_contents.h" | 20 #include "content/public/browser/web_contents.h" |
21 #include "jni/OfflinePageDownloadBridge_jni.h" | 21 #include "jni/OfflinePageDownloadBridge_jni.h" |
22 #include "net/base/filename_util.h" | 22 #include "net/base/filename_util.h" |
23 #include "url/gurl.h" | 23 #include "url/gurl.h" |
24 | 24 |
25 using base::android::AttachCurrentThread; | 25 using base::android::AttachCurrentThread; |
26 using base::android::ConvertJavaStringToUTF8; | 26 using base::android::ConvertJavaStringToUTF8; |
27 using base::android::ConvertUTF8ToJavaString; | 27 using base::android::ConvertUTF8ToJavaString; |
| 28 using base::android::ConvertUTF16ToJavaString; |
28 using base::android::JavaParamRef; | 29 using base::android::JavaParamRef; |
29 using base::android::ScopedJavaGlobalRef; | 30 using base::android::ScopedJavaGlobalRef; |
30 using base::android::ScopedJavaLocalRef; | 31 using base::android::ScopedJavaLocalRef; |
31 | 32 |
32 namespace offline_pages { | 33 namespace offline_pages { |
33 namespace android { | 34 namespace android { |
34 | 35 |
35 namespace { | 36 namespace { |
36 | 37 |
37 void ToJavaOfflinePageDownloadItemList( | 38 void ToJavaOfflinePageDownloadItemList( |
38 JNIEnv* env, | 39 JNIEnv* env, |
39 jobject j_result_obj, | 40 jobject j_result_obj, |
40 const std::vector<const DownloadUIItem*>& items) { | 41 const std::vector<const DownloadUIItem*>& items) { |
41 for (const auto item : items) { | 42 for (const auto item : items) { |
42 Java_OfflinePageDownloadBridge_createDownloadItemAndAddToList( | 43 Java_OfflinePageDownloadBridge_createDownloadItemAndAddToList( |
43 env, j_result_obj, ConvertUTF8ToJavaString(env, item->guid), | 44 env, j_result_obj, ConvertUTF8ToJavaString(env, item->guid), |
44 ConvertUTF8ToJavaString(env, item->url.spec()), | 45 ConvertUTF8ToJavaString(env, item->url.spec()), |
| 46 ConvertUTF16ToJavaString(env, item->title), |
45 ConvertUTF8ToJavaString(env, item->target_path.value()), | 47 ConvertUTF8ToJavaString(env, item->target_path.value()), |
46 item->start_time.ToJavaTime(), item->total_bytes); | 48 item->start_time.ToJavaTime(), item->total_bytes); |
47 } | 49 } |
48 } | 50 } |
49 | 51 |
50 ScopedJavaLocalRef<jobject> ToJavaOfflinePageDownloadItem( | 52 ScopedJavaLocalRef<jobject> ToJavaOfflinePageDownloadItem( |
51 JNIEnv* env, | 53 JNIEnv* env, |
52 const DownloadUIItem& item) { | 54 const DownloadUIItem& item) { |
53 return Java_OfflinePageDownloadBridge_createDownloadItem( | 55 return Java_OfflinePageDownloadBridge_createDownloadItem( |
54 env, ConvertUTF8ToJavaString(env, item.guid), | 56 env, ConvertUTF8ToJavaString(env, item.guid), |
55 ConvertUTF8ToJavaString(env, item.url.spec()), | 57 ConvertUTF8ToJavaString(env, item.url.spec()), |
| 58 ConvertUTF16ToJavaString(env, item.title), |
56 ConvertUTF8ToJavaString(env, item.target_path.value()), | 59 ConvertUTF8ToJavaString(env, item.target_path.value()), |
57 item.start_time.ToJavaTime(), item.total_bytes); | 60 item.start_time.ToJavaTime(), item.total_bytes); |
58 } | 61 } |
59 } // namespace | 62 } // namespace |
60 | 63 |
61 OfflinePageDownloadBridge::OfflinePageDownloadBridge( | 64 OfflinePageDownloadBridge::OfflinePageDownloadBridge( |
62 JNIEnv* env, | 65 JNIEnv* env, |
63 const JavaParamRef<jobject>& obj, | 66 const JavaParamRef<jobject>& obj, |
64 DownloadUIAdapter* download_ui_adapter) | 67 DownloadUIAdapter* download_ui_adapter) |
65 : weak_java_ref_(env, obj), | 68 : weak_java_ref_(env, obj), |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 | 205 |
203 DownloadUIAdapter* adapter = | 206 DownloadUIAdapter* adapter = |
204 DownloadUIAdapter::FromOfflinePageModel(offline_page_model); | 207 DownloadUIAdapter::FromOfflinePageModel(offline_page_model); |
205 | 208 |
206 return reinterpret_cast<jlong>( | 209 return reinterpret_cast<jlong>( |
207 new OfflinePageDownloadBridge(env, obj, adapter)); | 210 new OfflinePageDownloadBridge(env, obj, adapter)); |
208 } | 211 } |
209 | 212 |
210 } // namespace android | 213 } // namespace android |
211 } // namespace offline_pages | 214 } // namespace offline_pages |
OLD | NEW |