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

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_menu_bridge.mm

Issue 769153007: Managed bookmarks for supervised users (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: string change Created 5 years, 11 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 (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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 return; 66 return;
67 67
68 if (!folder_image_) { 68 if (!folder_image_) {
69 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 69 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
70 folder_image_.reset( 70 folder_image_.reset(
71 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER).CopyNSImage()); 71 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER).CopyNSImage());
72 } 72 }
73 73
74 ClearBookmarkMenu(bookmark_menu); 74 ClearBookmarkMenu(bookmark_menu);
75 75
76 // Add at most one separator for the bookmark bar and the managed bookmarks 76 // Add at most one separator for the bookmark bar and the managed and
77 // folder. 77 // supervised bookmarks folders.
78 ChromeBookmarkClient* client = 78 ChromeBookmarkClient* client =
79 ChromeBookmarkClientFactory::GetForProfile(profile_); 79 ChromeBookmarkClientFactory::GetForProfile(profile_);
80 const BookmarkNode* barNode = model->bookmark_bar_node(); 80 const BookmarkNode* barNode = model->bookmark_bar_node();
81 const BookmarkNode* managedNode = client->managed_node(); 81 const BookmarkNode* managedNode = client->managed_node();
82 if (!barNode->empty() || !managedNode->empty()) 82 const BookmarkNode* supervisedNode = client->supervised_node();
83 if (!barNode->empty() || !managedNode->empty() || !supervisedNode->empty())
83 [bookmark_menu addItem:[NSMenuItem separatorItem]]; 84 [bookmark_menu addItem:[NSMenuItem separatorItem]];
84 if (!managedNode->empty()) { 85 if (!managedNode->empty()) {
85 // Most users never see this node, so the image is only loaded if needed. 86 // Most users never see this node, so the image is only loaded if needed.
86 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 87 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
87 NSImage* image = 88 NSImage* image =
88 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER_MANAGED).ToNSImage(); 89 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER_MANAGED).ToNSImage();
89 AddNodeAsSubmenu(bookmark_menu, managedNode, image, !is_submenu); 90 AddNodeAsSubmenu(bookmark_menu, managedNode, image, !is_submenu);
90 } 91 }
92 if (!supervisedNode->empty()) {
93 // Most users never see this node, so the image is only loaded if needed.
94 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
95 NSImage* image =
96 rb.GetNativeImageNamed(IDR_BOOKMARK_BAR_FOLDER_SUPERVISED).ToNSImage();
97 AddNodeAsSubmenu(bookmark_menu, supervisedNode, image, !is_submenu);
98 }
91 if (!barNode->empty()) 99 if (!barNode->empty())
92 AddNodeToMenu(barNode, bookmark_menu, !is_submenu); 100 AddNodeToMenu(barNode, bookmark_menu, !is_submenu);
93 101
94 // If the "Other Bookmarks" folder has any content, make a submenu for it and 102 // If the "Other Bookmarks" folder has any content, make a submenu for it and
95 // fill it in. 103 // fill it in.
96 if (!model->other_node()->empty()) { 104 if (!model->other_node()->empty()) {
97 [bookmark_menu addItem:[NSMenuItem separatorItem]]; 105 [bookmark_menu addItem:[NSMenuItem separatorItem]];
98 AddNodeAsSubmenu(bookmark_menu, 106 AddNodeAsSubmenu(bookmark_menu,
99 model->other_node(), 107 model->other_node(),
100 folder_image_, 108 folder_image_,
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 360
353 NSMenuItem* BookmarkMenuBridge::MenuItemForNode(const BookmarkNode* node) { 361 NSMenuItem* BookmarkMenuBridge::MenuItemForNode(const BookmarkNode* node) {
354 if (!node) 362 if (!node)
355 return nil; 363 return nil;
356 std::map<const BookmarkNode*, NSMenuItem*>::iterator it = 364 std::map<const BookmarkNode*, NSMenuItem*>::iterator it =
357 bookmark_nodes_.find(node); 365 bookmark_nodes_.find(node);
358 if (it == bookmark_nodes_.end()) 366 if (it == bookmark_nodes_.end())
359 return nil; 367 return nil;
360 return it->second; 368 return it->second;
361 } 369 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698