+2014-08-08 Timothy Horton <timothy_horton@apple.com>
+
+ Additional items added to selection services menus are misaligned
+ https://bugs.webkit.org/show_bug.cgi?id=135747
+ <rdar://problem/17933167>
+
+ Reviewed by Brady Eidson.
+
+ * UIProcess/mac/WebContextMenuProxyMac.mm:
+ (WebKit::WebContextMenuProxyMac::setupServicesMenu):
+ Use NSSharingServicePickerStyleRollover for the rollover image services menu;
+ use NSSharingServicePickerStyleTextSelection for the selection services menu.
+
+ Set NSMenu's showsStateColumn to YES for selection services menus, so that
+ other items added to the menu line up correctly.
+
+ Remove an unncessary .get()
+
2014-08-08 Grzegorz Czajkowski <g.czajkowski@samsung.com>
[EFL] Remove unnecessary ewk_private.h includes
{
RetainPtr<NSSharingServicePicker> picker;
bool includeEditorServices = context.controlledDataIsEditable();
+ bool hasControlledImage = !context.controlledImageHandle().isNull();
NSArray *items = nil;
- if (!context.controlledImageHandle().isNull()) {
+ if (hasControlledImage) {
RefPtr<ShareableBitmap> image = ShareableBitmap::create(context.controlledImageHandle());
if (!image)
return;
}
picker = adoptNS([[NSSharingServicePicker alloc] initWithItems:items]);
- [picker setStyle:NSSharingServicePickerStyleRollover];
+ [picker setStyle:hasControlledImage ? NSSharingServicePickerStyleRollover : NSSharingServicePickerStyleTextSelection];
[picker setDelegate:[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate]];
[[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate] setPicker:picker.get()];
[[WKSharingServicePickerDelegate sharedSharingServicePickerDelegate] setIncludeEditorServices:includeEditorServices];
m_servicesMenu = [picker menu];
+ if (!hasControlledImage)
+ [m_servicesMenu setShowsStateColumn:YES];
+
// Explicitly add a menu item for each telephone number that is in the selection.
const Vector<String>& selectedTelephoneNumbers = context.selectedTelephoneNumbers();
if (!selectedTelephoneNumbers.isEmpty()) {
[m_servicesMenu.get() addItem:[NSMenuItem separatorItem]];
for (auto& telephoneNumber : selectedTelephoneNumbers) {
if (NSMenuItem *item = menuItemForTelephoneNumber(telephoneNumber))
- [m_servicesMenu.get() addItem:item];
+ [m_servicesMenu addItem:item];
}
}