| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #import <AppKit/AppKit.h> | 5 #import <AppKit/AppKit.h> |
| 6 | 6 |
| 7 #include "base/strings/sys_string_conversions.h" | 7 #include "base/strings/sys_string_conversions.h" |
| 8 #include "chrome/app/chrome_command_ids.h" | 8 #include "chrome/app/chrome_command_ids.h" |
| 9 #import "chrome/browser/app_controller_mac.h" | 9 #import "chrome/browser/app_controller_mac.h" |
| 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 10 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 return; | 67 return; |
| 68 | 68 |
| 69 if (!folder_image_) { | 69 if (!folder_image_) { |
| 70 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 70 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 71 folder_image_.reset( | 71 folder_image_.reset( |
| 72 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER).CopyNSImage()); | 72 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER).CopyNSImage()); |
| 73 } | 73 } |
| 74 | 74 |
| 75 ClearBookmarkMenu(bookmark_menu); | 75 ClearBookmarkMenu(bookmark_menu); |
| 76 | 76 |
| 77 // Add at most one separator for the bookmark bar and the managed bookmarks | 77 // Add at most one separator for the bookmark bar and the managed and |
| 78 // folder. | 78 // supervised bookmarks folders. |
| 79 ChromeBookmarkClient* client = | 79 ChromeBookmarkClient* client = |
| 80 ChromeBookmarkClientFactory::GetForProfile(profile_); | 80 ChromeBookmarkClientFactory::GetForProfile(profile_); |
| 81 const BookmarkNode* barNode = model->bookmark_bar_node(); | 81 const BookmarkNode* barNode = model->bookmark_bar_node(); |
| 82 const BookmarkNode* managedNode = client->managed_node(); | 82 const BookmarkNode* managedNode = client->managed_node(); |
| 83 if (!barNode->empty() || !managedNode->empty()) | 83 const BookmarkNode* supervisedNode = client->supervised_node(); |
| 84 if (!barNode->empty() || !managedNode->empty() || !supervisedNode->empty()) |
| 84 [bookmark_menu addItem:[NSMenuItem separatorItem]]; | 85 [bookmark_menu addItem:[NSMenuItem separatorItem]]; |
| 85 if (!managedNode->empty()) { | 86 if (!managedNode->empty()) { |
| 86 // Most users never see this node, so the image is only loaded if needed. | 87 // Most users never see this node, so the image is only loaded if needed. |
| 87 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 88 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 88 NSImage* image = | 89 NSImage* image = |
| 89 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER_MANAGED).ToNSImage(); | 90 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER_MANAGED).ToNSImage(); |
| 90 AddNodeAsSubmenu(bookmark_menu, managedNode, image, !is_submenu); | 91 AddNodeAsSubmenu(bookmark_menu, managedNode, image, !is_submenu); |
| 91 } | 92 } |
| 93 if (!supervisedNode->empty()) { |
| 94 // Most users never see this node, so the image is only loaded if needed. |
| 95 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 96 NSImage* image = |
| 97 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER_SUPERVISED).ToNSImage(); |
| 98 AddNodeAsSubmenu(bookmark_menu, supervisedNode, image, !is_submenu); |
| 99 } |
| 92 if (!barNode->empty()) | 100 if (!barNode->empty()) |
| 93 AddNodeToMenu(barNode, bookmark_menu, !is_submenu); | 101 AddNodeToMenu(barNode, bookmark_menu, !is_submenu); |
| 94 | 102 |
| 95 // If the "Other Bookmarks" folder has any content, make a submenu for it and | 103 // If the "Other Bookmarks" folder has any content, make a submenu for it and |
| 96 // fill it in. | 104 // fill it in. |
| 97 if (!model->other_node()->empty()) { | 105 if (!model->other_node()->empty()) { |
| 98 [bookmark_menu addItem:[NSMenuItem separatorItem]]; | 106 [bookmark_menu addItem:[NSMenuItem separatorItem]]; |
| 99 AddNodeAsSubmenu(bookmark_menu, | 107 AddNodeAsSubmenu(bookmark_menu, |
| 100 model->other_node(), | 108 model->other_node(), |
| 101 folder_image_, | 109 folder_image_, |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 | 361 |
| 354 NSMenuItem* BookmarkMenuBridge::MenuItemForNode(const BookmarkNode* node) { | 362 NSMenuItem* BookmarkMenuBridge::MenuItemForNode(const BookmarkNode* node) { |
| 355 if (!node) | 363 if (!node) |
| 356 return nil; | 364 return nil; |
| 357 std::map<const BookmarkNode*, NSMenuItem*>::iterator it = | 365 std::map<const BookmarkNode*, NSMenuItem*>::iterator it = |
| 358 bookmark_nodes_.find(node); | 366 bookmark_nodes_.find(node); |
| 359 if (it == bookmark_nodes_.end()) | 367 if (it == bookmark_nodes_.end()) |
| 360 return nil; | 368 return nil; |
| 361 return it->second; | 369 return it->second; |
| 362 } | 370 } |
| OLD | NEW |