| 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/bind.h" | 10 #include "base/bind.h" |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 #include "url/gurl.h" | 35 #include "url/gurl.h" |
| 36 | 36 |
| 37 using base::android::AttachCurrentThread; | 37 using base::android::AttachCurrentThread; |
| 38 using base::android::ConvertJavaStringToUTF8; | 38 using base::android::ConvertJavaStringToUTF8; |
| 39 using base::android::ConvertUTF8ToJavaString; | 39 using base::android::ConvertUTF8ToJavaString; |
| 40 using base::android::ConvertUTF16ToJavaString; | 40 using base::android::ConvertUTF16ToJavaString; |
| 41 using base::android::JavaParamRef; | 41 using base::android::JavaParamRef; |
| 42 using base::android::ScopedJavaGlobalRef; | 42 using base::android::ScopedJavaGlobalRef; |
| 43 using base::android::ScopedJavaLocalRef; | 43 using base::android::ScopedJavaLocalRef; |
| 44 | 44 |
| 45 namespace { | |
| 46 const char kDownloadUIAdapterKey[] = "download-ui-adapter"; | |
| 47 } | |
| 48 | |
| 49 namespace offline_pages { | 45 namespace offline_pages { |
| 50 namespace android { | 46 namespace android { |
| 51 | 47 |
| 52 namespace { | 48 namespace { |
| 53 | 49 |
| 54 class DownloadUIAdapterDelegate : public DownloadUIAdapter::Delegate { | 50 class DownloadUIAdapterDelegate : public DownloadUIAdapter::Delegate { |
| 55 public: | 51 public: |
| 56 explicit DownloadUIAdapterDelegate(OfflinePageModel* model); | 52 explicit DownloadUIAdapterDelegate(OfflinePageModel* model); |
| 57 | 53 |
| 58 // DownloadUIAdapter::Delegate | 54 // DownloadUIAdapter::Delegate |
| (...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 static jlong Init(JNIEnv* env, | 465 static jlong Init(JNIEnv* env, |
| 470 const JavaParamRef<jobject>& obj, | 466 const JavaParamRef<jobject>& obj, |
| 471 const JavaParamRef<jobject>& j_profile) { | 467 const JavaParamRef<jobject>& j_profile) { |
| 472 content::BrowserContext* browser_context = | 468 content::BrowserContext* browser_context = |
| 473 ProfileAndroid::FromProfileAndroid(j_profile); | 469 ProfileAndroid::FromProfileAndroid(j_profile); |
| 474 | 470 |
| 475 OfflinePageModel* offline_page_model = | 471 OfflinePageModel* offline_page_model = |
| 476 OfflinePageModelFactory::GetForBrowserContext(browser_context); | 472 OfflinePageModelFactory::GetForBrowserContext(browser_context); |
| 477 DCHECK(offline_page_model); | 473 DCHECK(offline_page_model); |
| 478 | 474 |
| 479 DownloadUIAdapter* adapter = static_cast<DownloadUIAdapter*>( | 475 DownloadUIAdapter* adapter = |
| 480 offline_page_model->GetUserData(kDownloadUIAdapterKey)); | 476 DownloadUIAdapter::FromOfflinePageModel(offline_page_model); |
| 481 | 477 |
| 482 if (!adapter) { | 478 if (!adapter) { |
| 483 RequestCoordinator* request_coordinator = | 479 RequestCoordinator* request_coordinator = |
| 484 RequestCoordinatorFactory::GetForBrowserContext(browser_context); | 480 RequestCoordinatorFactory::GetForBrowserContext(browser_context); |
| 485 DCHECK(request_coordinator); | 481 DCHECK(request_coordinator); |
| 486 adapter = new DownloadUIAdapter( | 482 adapter = new DownloadUIAdapter( |
| 487 offline_page_model, request_coordinator, | 483 offline_page_model, request_coordinator, |
| 488 base::MakeUnique<DownloadUIAdapterDelegate>(offline_page_model)); | 484 base::MakeUnique<DownloadUIAdapterDelegate>(offline_page_model)); |
| 489 offline_page_model->SetUserData(kDownloadUIAdapterKey, adapter); | 485 DownloadUIAdapter::AttachToOfflinePageModel(adapter, offline_page_model); |
| 490 } | 486 } |
| 491 | 487 |
| 492 return reinterpret_cast<jlong>( | 488 return reinterpret_cast<jlong>( |
| 493 new OfflinePageDownloadBridge(env, obj, adapter, browser_context)); | 489 new OfflinePageDownloadBridge(env, obj, adapter, browser_context)); |
| 494 } | 490 } |
| 495 | 491 |
| 496 } // namespace android | 492 } // namespace android |
| 497 } // namespace offline_pages | 493 } // namespace offline_pages |
| OLD | NEW |