Commit 60579f12 authored by Sebastien Lalancette's avatar Sebastien Lalancette Committed by Commit Bot

[iOS] Disable Edit and Move actions on Bookmark Context Menus

When an enterprise policy disallows editing bookmarks, or a given node,
disable the Edit and Move context menu actions.

Bug: 1128028
Change-Id: Idd26a17b7201e2ffb5f67cbeb2cafd17ab577f2f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2410824Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Commit-Queue: Sergio Collazos <sczs@chromium.org>
Commit-Queue: Sebastien Lalancette <seblalancette@chromium.org>
Auto-Submit: Sebastien Lalancette <seblalancette@chromium.org>
Cr-Commit-Position: refs/heads/master@{#806740}
parent 311719c1
...@@ -2210,6 +2210,11 @@ std::vector<GURL> GetUrlsToOpen(const std::vector<const BookmarkNode*>& nodes) { ...@@ -2210,6 +2210,11 @@ std::vector<GURL> GetUrlsToOpen(const std::vector<const BookmarkNode*>& nodes) {
} }
const BookmarkNode* node = [self nodeAtIndexPath:indexPath]; const BookmarkNode* node = [self nodeAtIndexPath:indexPath];
// Disable the edit and move menu options if the node is not editable by user,
// or if editing bookmarks is not allowed.
BOOL canEditNode =
[self isEditBookmarksEnabled] && [self isNodeEditableByUser:node];
UIContextMenuActionProvider actionProvider; UIContextMenuActionProvider actionProvider;
// TODO (crbug.com/1093302): Add more actions for Bookmark URL and Folder. // TODO (crbug.com/1093302): Add more actions for Bookmark URL and Folder.
...@@ -2247,9 +2252,13 @@ std::vector<GURL> GetUrlsToOpen(const std::vector<const BookmarkNode*>& nodes) { ...@@ -2247,9 +2252,13 @@ std::vector<GURL> GetUrlsToOpen(const std::vector<const BookmarkNode*>& nodes) {
[menuElements addObject:[actionFactory actionToCopyURL:node->url()]]; [menuElements addObject:[actionFactory actionToCopyURL:node->url()]];
[menuElements addObject:[actionFactory actionToEditWithBlock:^{ UIAction* editAction = [actionFactory actionToEditWithBlock:^{
[self editNode:node]; [self editNode:node];
}]]; }];
if (!canEditNode) {
editAction.attributes = UIMenuElementAttributesDisabled;
}
[menuElements addObject:editAction];
[menuElements [menuElements
addObject:[actionFactory actionToShareWithBlock:^{ addObject:[actionFactory actionToShareWithBlock:^{
...@@ -2279,15 +2288,22 @@ std::vector<GURL> GetUrlsToOpen(const std::vector<const BookmarkNode*>& nodes) { ...@@ -2279,15 +2288,22 @@ std::vector<GURL> GetUrlsToOpen(const std::vector<const BookmarkNode*>& nodes) {
NSMutableArray<UIMenuElement*>* menuElements = NSMutableArray<UIMenuElement*>* menuElements =
[[NSMutableArray alloc] init]; [[NSMutableArray alloc] init];
[menuElements addObject:[actionFactory actionToEditWithBlock:^{ UIAction* editAction = [actionFactory actionToEditWithBlock:^{
[self editNode:node]; [self editNode:node];
}]]; }];
UIAction* moveAction = [actionFactory actionToMoveFolderWithBlock:^{
std::set<const BookmarkNode*> nodes;
nodes.insert(node);
[self moveNodes:nodes];
}];
[menuElements addObject:[actionFactory actionToMoveFolderWithBlock:^{ if (!canEditNode) {
std::set<const BookmarkNode*> nodes; editAction.attributes = UIMenuElementAttributesDisabled;
nodes.insert(node); moveAction.attributes = UIMenuElementAttributesDisabled;
[self moveNodes:nodes]; }
}]];
[menuElements addObject:editAction];
[menuElements addObject:moveAction];
return [UIMenu menuWithTitle:@"" children:menuElements]; return [UIMenu menuWithTitle:@"" children:menuElements];
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment