Limit WebView Contextual Menu

Bug #301644 reported by David Dauer
2
Affects Status Importance Assigned to Milestone
Sparkle
Fix Committed
Wishlist
Unassigned

Bug Description

when viewing release notes, the contextual menu item should be limited and not include items that are enabled but won't do anything.

therefore, implement in the WebView's delegate:

- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems
{
 NSMutableArray *webViewMenuItems = [[defaultMenuItems mutableCopy] autorelease];

 if (webViewMenuItems)
 {
  NSEnumerator *itemEnumerator = [defaultMenuItems objectEnumerator];
  NSMenuItem *menuItem = nil;
  while (menuItem = [itemEnumerator nextObject])
  {
   int tag = [menuItem tag];

   switch (tag)
   {
    case WebMenuItemTagOpenLinkInNewWindow:
    case WebMenuItemTagDownloadLinkToDisk:
    case WebMenuItemTagOpenImageInNewWindow:
    case WebMenuItemTagDownloadImageToDisk:
    case WebMenuItemTagOpenFrameInNewWindow:
    case WebMenuItemTagGoBack:
    case WebMenuItemTagGoForward:
    case WebMenuItemTagStop:
    case WebMenuItemTagReload:

     [webViewMenuItems removeObjectIdenticalTo: menuItem];
   }
  }
 }

 return webViewMenuItems;
}

Revision history for this message
Andy Matuschak (andymatuschak) wrote :

Committed in revision 325. Thanks for the patch!

Changed in sparkle:
importance: Undecided → Wishlist
milestone: none → 1.5
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.