diff options
Diffstat (limited to 'WebCore/platform/mac/PopupMenuMac.mm')
-rw-r--r-- | WebCore/platform/mac/PopupMenuMac.mm | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/WebCore/platform/mac/PopupMenuMac.mm b/WebCore/platform/mac/PopupMenuMac.mm index dfb0fff..22f1e5b 100644 --- a/WebCore/platform/mac/PopupMenuMac.mm +++ b/WebCore/platform/mac/PopupMenuMac.mm @@ -20,6 +20,7 @@ #import "config.h" #import "PopupMenu.h" +#import "Chrome.h" #import "ChromeClient.h" #import "EventHandler.h" #import "Frame.h" @@ -80,8 +81,14 @@ void PopupMenu::populate() else { PopupMenuStyle style = client()->itemStyle(i); NSMutableDictionary* attributes = [[NSMutableDictionary alloc] init]; - if (style.font() != Font()) - [attributes setObject:style.font().primaryFont()->getNSFont() forKey:NSFontAttributeName]; + if (style.font() != Font()) { + NSFont *font = style.font().primaryFont()->getNSFont(); + if (!font) { + CGFloat size = style.font().primaryFont()->platformData().size(); + font = style.font().weight() < FontWeightBold ? [NSFont systemFontOfSize:size] : [NSFont boldSystemFontOfSize:size]; + } + [attributes setObject:font forKey:NSFontAttributeName]; + } // FIXME: Add support for styling the foreground and background colors. // FIXME: Find a way to customize text color when an item is highlighted. NSAttributedString* string = [[NSAttributedString alloc] initWithString:client()->itemText(i) attributes:attributes]; @@ -99,6 +106,8 @@ void PopupMenu::populate() [[m_popup.get() menu] setMenuChangedMessagesEnabled:messagesEnabled]; } +#if !ENABLE(EXPERIMENTAL_SINGLE_VIEW_MODE) + void PopupMenu::show(const IntRect& r, FrameView* v, int index) { populate(); @@ -179,6 +188,14 @@ void PopupMenu::show(const IntRect& r, FrameView* v, int index) [event release]; } +#else + +void PopupMenu::show(const IntRect&, FrameView*, int) +{ +} + +#endif + void PopupMenu::hide() { [m_popup.get() dismissPopUp]; |