| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/bookmarks/bookmarks_bridge.h" | 5 #include "chrome/browser/android/bookmarks/bookmarks_bridge.h" |
| 6 | 6 |
| 7 #include "base/android/jni_string.h" | 7 #include "base/android/jni_string.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "chrome/browser/bookmarks/bookmark_model.h" | 9 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
| 11 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 11 #include "chrome/browser/profiles/incognito_helpers.h" | 12 #include "chrome/browser/profiles/incognito_helpers.h" |
| 12 #include "chrome/browser/profiles/profile.h" | 13 #include "chrome/browser/profiles/profile.h" |
| 13 #include "chrome/browser/profiles/profile_android.h" | 14 #include "chrome/browser/profiles/profile_android.h" |
| 14 #include "chrome/browser/profiles/profile_manager.h" | 15 #include "chrome/browser/profiles/profile_manager.h" |
| 15 #include "chrome/browser/signin/signin_manager_factory.h" | 16 #include "chrome/browser/signin/signin_manager_factory.h" |
| 16 #include "chrome/common/pref_names.h" | 17 #include "chrome/common/pref_names.h" |
| 17 #include "components/signin/core/browser/signin_manager.h" | 18 #include "components/signin/core/browser/signin_manager.h" |
| 18 #include "content/public/browser/browser_thread.h" | 19 #include "content/public/browser/browser_thread.h" |
| 19 #include "jni/BookmarksBridge_jni.h" | 20 #include "jni/BookmarksBridge_jni.h" |
| 20 | 21 |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 226 node->id(), | 227 node->id(), |
| 227 GetBookmarkType(node), | 228 GetBookmarkType(node), |
| 228 ConvertUTF16ToJavaString(env, GetTitle(node)).obj(), | 229 ConvertUTF16ToJavaString(env, GetTitle(node)).obj(), |
| 229 ConvertUTF8ToJavaString(env, url).obj(), | 230 ConvertUTF8ToJavaString(env, url).obj(), |
| 230 node->is_folder(), | 231 node->is_folder(), |
| 231 parent_id, | 232 parent_id, |
| 232 GetBookmarkType(parent), | 233 GetBookmarkType(parent), |
| 233 IsEditable(node)); | 234 IsEditable(node)); |
| 234 } | 235 } |
| 235 | 236 |
| 236 void BookmarksBridge::ExtractBookmarkNodeInformation( | 237 void BookmarksBridge::ExtractBookmarkNodeInformation(const BookmarkNode* node, |
| 237 const BookmarkNode* node, | 238 jobject j_result_obj) { |
| 238 jobject j_result_obj) { | |
| 239 JNIEnv* env = AttachCurrentThread(); | 239 JNIEnv* env = AttachCurrentThread(); |
| 240 if (!IsReachable(node)) | 240 if (!IsReachable(node)) |
| 241 return; | 241 return; |
| 242 Java_BookmarksBridge_addToList( | 242 Java_BookmarksBridge_addToList( |
| 243 env, | 243 env, j_result_obj, CreateJavaBookmark(node).obj()); |
| 244 j_result_obj, | |
| 245 CreateJavaBookmark(node).obj()); | |
| 246 } | 244 } |
| 247 | 245 |
| 248 const BookmarkNode* BookmarksBridge::GetNodeByID(long node_id, | 246 const BookmarkNode* BookmarksBridge::GetNodeByID(long node_id, int type) { |
| 249 int type) { | |
| 250 const BookmarkNode* node; | 247 const BookmarkNode* node; |
| 251 if (type == kBookmarkTypeManaged) { | 248 if (type == kBookmarkTypeManaged) { |
| 252 node = managed_bookmarks_shim_->GetNodeByID( | 249 node = managed_bookmarks_shim_->GetNodeByID( |
| 253 static_cast<int64>(node_id)); | 250 static_cast<int64>(node_id)); |
| 254 } else if (type == kBookmarkTypePartner) { | 251 } else if (type == kBookmarkTypePartner) { |
| 255 node = partner_bookmarks_shim_->GetNodeByID( | 252 node = partner_bookmarks_shim_->GetNodeByID( |
| 256 static_cast<int64>(node_id)); | 253 static_cast<int64>(node_id)); |
| 257 } else { | 254 } else { |
| 258 node = bookmark_model_->GetNodeByID(static_cast<int64>(node_id)); | 255 node = GetBookmarkNodeByID(bookmark_model_, static_cast<int64>(node_id)); |
| 259 } | 256 } |
| 260 return node; | 257 return node; |
| 261 } | 258 } |
| 262 | 259 |
| 263 const BookmarkNode* BookmarksBridge::GetFolderWithFallback( | 260 const BookmarkNode* BookmarksBridge::GetFolderWithFallback(long folder_id, |
| 264 long folder_id, int type) { | 261 int type) { |
| 265 const BookmarkNode* folder = GetNodeByID(folder_id, type); | 262 const BookmarkNode* folder = GetNodeByID(folder_id, type); |
| 266 if (!folder || folder->type() == BookmarkNode::URL || | 263 if (!folder || folder->type() == BookmarkNode::URL || |
| 267 !IsFolderAvailable(folder)) { | 264 !IsFolderAvailable(folder)) { |
| 268 folder = bookmark_model_->mobile_node(); | 265 folder = bookmark_model_->mobile_node(); |
| 269 } | 266 } |
| 270 return folder; | 267 return folder; |
| 271 } | 268 } |
| 272 | 269 |
| 273 bool BookmarksBridge::IsEditable(const BookmarkNode* node) const { | 270 bool BookmarksBridge::IsEditable(const BookmarkNode* node) const { |
| 274 if (!node || (node->type() != BookmarkNode::FOLDER && | 271 if (!node || (node->type() != BookmarkNode::FOLDER && |
| (...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 BookmarkModelChanged(); | 487 BookmarkModelChanged(); |
| 491 } | 488 } |
| 492 | 489 |
| 493 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) { | 490 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) { |
| 494 NotifyIfDoneLoading(); | 491 NotifyIfDoneLoading(); |
| 495 } | 492 } |
| 496 | 493 |
| 497 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) { | 494 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) { |
| 498 partner_bookmarks_shim_ = NULL; | 495 partner_bookmarks_shim_ = NULL; |
| 499 } | 496 } |
| OLD | NEW |