| Index: chrome/browser/android/bookmarks/bookmarks_bridge.cc
|
| diff --git a/chrome/browser/android/bookmarks/bookmarks_bridge.cc b/chrome/browser/android/bookmarks/bookmarks_bridge.cc
|
| index 128caa9fef6c686eb99b1cd5c1344d92f8240650..f13fda63de0183b575d95ea04bca005acab6cafc 100644
|
| --- a/chrome/browser/android/bookmarks/bookmarks_bridge.cc
|
| +++ b/chrome/browser/android/bookmarks/bookmarks_bridge.cc
|
| @@ -231,6 +231,10 @@ void BookmarksBridge::GetTopLevelFolderIDs(JNIEnv* env,
|
| client_->managed_node()->child_count() > 0) {
|
| top_level_folders.push_back(client_->managed_node());
|
| }
|
| + if (client_->supervised_node() &&
|
| + client_->supervised_node()->child_count() > 0) {
|
| + top_level_folders.push_back(client_->supervised_node());
|
| + }
|
| if (partner_bookmarks_shim_->HasPartnerBookmarks()) {
|
| top_level_folders.push_back(
|
| partner_bookmarks_shim_->GetPartnerBookmarksRoot());
|
| @@ -469,8 +473,10 @@ void BookmarksBridge::GetAllBookmarkIDsOrderedByCreationDate(
|
|
|
| for (int i = 0; i < (*folder_iter)->child_count(); ++i) {
|
| const BookmarkNode* child = (*folder_iter)->GetChild(i);
|
| - if (!IsReachable(child) || client_->IsDescendantOfManagedNode(child))
|
| + if (!IsReachable(child) ||
|
| + client_->IsDescendantOfManagedOrSupervisedNode(child)) {
|
| continue;
|
| + }
|
|
|
| if (child->is_folder()) {
|
| insert_iter = folders.insert(insert_iter, child);
|
| @@ -871,6 +877,10 @@ bool BookmarksBridge::IsFolderAvailable(
|
| // configured via policy.
|
| if (folder == client_->managed_node() && folder->empty())
|
| return false;
|
| + // Similarly, the supervised bookmarks folder is not shown if there are no
|
| + // bookmarks configured by the custodian.
|
| + if (folder == client_->supervised_node() && folder->empty())
|
| + return false;
|
|
|
| SigninManager* signin = SigninManagerFactory::GetForProfile(
|
| profile_->GetOriginalProfile());
|
|
|