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

Side by Side Diff: chrome/browser/android/bookmarks/bookmarks_bridge.cc

Issue 61873005: Fix a small bug in bookmarks_bridge.cc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/BookmarksBridge.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 jobject j_callback_obj, 95 jobject j_callback_obj,
96 jobject j_result_obj) { 96 jobject j_result_obj) {
97 DCHECK(IsLoaded()); 97 DCHECK(IsLoaded());
98 long folder_id = Java_BookmarkId_getId(env, j_folder_id_obj); 98 long folder_id = Java_BookmarkId_getId(env, j_folder_id_obj);
99 int type = Java_BookmarkId_getType(env, j_folder_id_obj); 99 int type = Java_BookmarkId_getType(env, j_folder_id_obj);
100 const BookmarkNode* folder = GetFolderWithFallback(folder_id, type); 100 const BookmarkNode* folder = GetFolderWithFallback(folder_id, type);
101 101
102 if (!folder->is_folder() || !IsReachable(folder)) 102 if (!folder->is_folder() || !IsReachable(folder))
103 return; 103 return;
104 104
105 // Recreate the java bookmarkId object due to fallback.
106 ScopedJavaLocalRef<jobject> folder_id_obj =
107 Java_BookmarksBridge_createBookmarkId(
108 env, folder->id(), GetBookmarkType(folder));
109 j_folder_id_obj = folder_id_obj.obj();
110
105 // If this is the Mobile bookmarks folder then add the "Managed bookmarks" 111 // If this is the Mobile bookmarks folder then add the "Managed bookmarks"
106 // folder first, so that it's the first entry. 112 // folder first, so that it's the first entry.
107 if (folder == bookmark_model_->mobile_node() && 113 if (folder == bookmark_model_->mobile_node() &&
108 managed_bookmarks_shim_->HasManagedBookmarks()) { 114 managed_bookmarks_shim_->HasManagedBookmarks()) {
109 ExtractBookmarkNodeInformation( 115 ExtractBookmarkNodeInformation(
110 managed_bookmarks_shim_->GetManagedBookmarksRoot(), 116 managed_bookmarks_shim_->GetManagedBookmarksRoot(),
111 j_result_obj); 117 j_result_obj);
112 } 118 }
113 // Get the folder contents 119 // Get the folder contents
114 for (int i = 0; i < folder->child_count(); ++i) { 120 for (int i = 0; i < folder->child_count(); ++i) {
(...skipping 18 matching lines...) Expand all
133 jobject j_callback_obj, 139 jobject j_callback_obj,
134 jobject j_result_obj) { 140 jobject j_result_obj) {
135 DCHECK(IsLoaded()); 141 DCHECK(IsLoaded());
136 long folder_id = Java_BookmarkId_getId(env, j_folder_id_obj); 142 long folder_id = Java_BookmarkId_getId(env, j_folder_id_obj);
137 int type = Java_BookmarkId_getType(env, j_folder_id_obj); 143 int type = Java_BookmarkId_getType(env, j_folder_id_obj);
138 const BookmarkNode* folder = GetFolderWithFallback(folder_id, type); 144 const BookmarkNode* folder = GetFolderWithFallback(folder_id, type);
139 145
140 if (!folder->is_folder() || !IsReachable(folder)) 146 if (!folder->is_folder() || !IsReachable(folder))
141 return; 147 return;
142 148
149 // Recreate the java bookmarkId object due to fallback.
150 ScopedJavaLocalRef<jobject> folder_id_obj =
151 Java_BookmarksBridge_createBookmarkId(
152 env, folder->id(), GetBookmarkType(folder));
153 j_folder_id_obj = folder_id_obj.obj();
154
143 // Get the folder heirarchy 155 // Get the folder heirarchy
144 const BookmarkNode* node = folder; 156 const BookmarkNode* node = folder;
145 while (node) { 157 while (node) {
146 ExtractBookmarkNodeInformation(node, j_result_obj); 158 ExtractBookmarkNodeInformation(node, j_result_obj);
147 node = GetParentNode(node); 159 node = GetParentNode(node);
148 } 160 }
149 161
150 Java_BookmarksCallback_onBookmarksFolderHierarchyAvailable( 162 Java_BookmarksCallback_onBookmarksFolderHierarchyAvailable(
151 env, j_callback_obj, j_folder_id_obj, j_result_obj); 163 env, j_callback_obj, j_folder_id_obj, j_result_obj);
152 } 164 }
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 BookmarkModelChanged(); 420 BookmarkModelChanged();
409 } 421 }
410 422
411 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) { 423 void BookmarksBridge::PartnerShimLoaded(PartnerBookmarksShim* shim) {
412 NotifyIfDoneLoading(); 424 NotifyIfDoneLoading();
413 } 425 }
414 426
415 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) { 427 void BookmarksBridge::ShimBeingDeleted(PartnerBookmarksShim* shim) {
416 partner_bookmarks_shim_ = NULL; 428 partner_bookmarks_shim_ = NULL;
417 } 429 }
OLDNEW
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/BookmarksBridge.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698