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

Side by Side Diff: chrome/browser/android/offline_pages/downloads/offline_page_download_bridge.cc

Issue 2263753002: Add 'title' field to DownloadUIItem and thread through bridges to OfflinePageDownloadItem. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CR feedback Created 4 years, 4 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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698