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

Side by Side Diff: chrome/browser/android/offline_pages/offline_page_bridge.cc

Issue 2848703004: Switch SupportsUserData uses to use unique_ptr. (Closed)
Patch Set: rev Created 3 years, 7 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/offline_page_bridge.h" 5 #include "chrome/browser/android/offline_pages/offline_page_bridge.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/android/callback_android.h" 13 #include "base/android/callback_android.h"
14 #include "base/android/jni_android.h" 14 #include "base/android/jni_android.h"
15 #include "base/android/jni_array.h" 15 #include "base/android/jni_array.h"
16 #include "base/android/jni_string.h" 16 #include "base/android/jni_string.h"
17 #include "base/bind.h" 17 #include "base/bind.h"
18 #include "base/logging.h" 18 #include "base/logging.h"
19 #include "base/memory/ptr_util.h"
19 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h" 20 #include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h"
20 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h" 21 #include "chrome/browser/android/offline_pages/offline_page_model_factory.h"
21 #include "chrome/browser/android/offline_pages/offline_page_utils.h" 22 #include "chrome/browser/android/offline_pages/offline_page_utils.h"
22 #include "chrome/browser/android/offline_pages/recent_tab_helper.h" 23 #include "chrome/browser/android/offline_pages/recent_tab_helper.h"
23 #include "chrome/browser/android/offline_pages/request_coordinator_factory.h" 24 #include "chrome/browser/android/offline_pages/request_coordinator_factory.h"
24 #include "chrome/browser/profiles/profile.h" 25 #include "chrome/browser/profiles/profile.h"
25 #include "chrome/browser/profiles/profile_android.h" 26 #include "chrome/browser/profiles/profile_android.h"
26 #include "components/offline_pages/core/background/request_coordinator.h" 27 #include "components/offline_pages/core/background/request_coordinator.h"
27 #include "components/offline_pages/core/background/request_queue_results.h" 28 #include "components/offline_pages/core/background/request_queue_results.h"
28 #include "components/offline_pages/core/background/save_page_request.h" 29 #include "components/offline_pages/core/background/save_page_request.h"
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 OfflinePageModel* offline_page_model = 236 OfflinePageModel* offline_page_model =
236 OfflinePageModelFactory::GetForBrowserContext(profile); 237 OfflinePageModelFactory::GetForBrowserContext(profile);
237 238
238 if (offline_page_model == nullptr) 239 if (offline_page_model == nullptr)
239 return ScopedJavaLocalRef<jobject>(); 240 return ScopedJavaLocalRef<jobject>();
240 241
241 OfflinePageBridge* bridge = static_cast<OfflinePageBridge*>( 242 OfflinePageBridge* bridge = static_cast<OfflinePageBridge*>(
242 offline_page_model->GetUserData(kOfflinePageBridgeKey)); 243 offline_page_model->GetUserData(kOfflinePageBridgeKey));
243 if (!bridge) { 244 if (!bridge) {
244 bridge = new OfflinePageBridge(env, profile, offline_page_model); 245 bridge = new OfflinePageBridge(env, profile, offline_page_model);
245 offline_page_model->SetUserData(kOfflinePageBridgeKey, bridge); 246 offline_page_model->SetUserData(kOfflinePageBridgeKey,
247 base::WrapUnique(bridge));
246 } 248 }
247 249
248 return ScopedJavaLocalRef<jobject>(bridge->java_ref()); 250 return ScopedJavaLocalRef<jobject>(bridge->java_ref());
249 } 251 }
250 252
251 // static 253 // static
252 ScopedJavaLocalRef<jobject> OfflinePageBridge::ConvertToJavaOfflinePage( 254 ScopedJavaLocalRef<jobject> OfflinePageBridge::ConvertToJavaOfflinePage(
253 JNIEnv* env, 255 JNIEnv* env,
254 const OfflinePageItem& offline_page) { 256 const OfflinePageItem& offline_page) {
255 return ToJavaOfflinePageItem(env, offline_page); 257 return ToJavaOfflinePageItem(env, offline_page);
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 env, ConvertUTF8ToJavaString(env, client_id.name_space), 672 env, ConvertUTF8ToJavaString(env, client_id.name_space),
671 ConvertUTF8ToJavaString(env, client_id.id)); 673 ConvertUTF8ToJavaString(env, client_id.id));
672 } 674 }
673 675
674 bool RegisterOfflinePageBridge(JNIEnv* env) { 676 bool RegisterOfflinePageBridge(JNIEnv* env) {
675 return RegisterNativesImpl(env); 677 return RegisterNativesImpl(env);
676 } 678 }
677 679
678 } // namespace android 680 } // namespace android
679 } // namespace offline_pages 681 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698