| Index: Source/core/platform/mac/ThemeMac.mm
|
| diff --git a/Source/core/platform/mac/ThemeMac.mm b/Source/core/platform/mac/ThemeMac.mm
|
| index 1b007339dfd5cbd4dc5ac43287ee6587ce5c42f4..2e5a3cdf372a6751ad55e0ca1fa96139bd9eba23 100644
|
| --- a/Source/core/platform/mac/ThemeMac.mm
|
| +++ b/Source/core/platform/mac/ThemeMac.mm
|
| @@ -30,7 +30,6 @@
|
| #import "BlockExceptions.h"
|
| #import "LocalCurrentGraphicsContext.h"
|
| #import "WebCoreNSCellExtras.h"
|
| -#import "WebCoreSystemInterface.h"
|
| #import "core/platform/ScrollView.h"
|
| #import "core/platform/graphics/GraphicsContext.h"
|
| #include <wtf/StdLibExtras.h>
|
| @@ -90,8 +89,6 @@ NSRect focusRingClipRect;
|
|
|
| @end
|
|
|
| -// FIXME: Default buttons really should be more like push buttons and not like buttons.
|
| -
|
| namespace WebCore {
|
|
|
| enum {
|
| @@ -409,18 +406,6 @@ static const int* buttonMargins(NSControlSize controlSize)
|
| return margins[controlSize];
|
| }
|
|
|
| -enum ButtonCellType { NormalButtonCell, DefaultButtonCell };
|
| -
|
| -static NSButtonCell *leakButtonCell(ButtonCellType type)
|
| -{
|
| - NSButtonCell *cell = [[NSButtonCell alloc] init];
|
| - [cell setTitle:nil];
|
| - [cell setButtonType:NSMomentaryPushInButton];
|
| - if (type == DefaultButtonCell)
|
| - [cell setKeyEquivalent:@"\r"];
|
| - return cell;
|
| -}
|
| -
|
| static void setUpButtonCell(NSButtonCell *cell, ControlPart part, ControlStates states, const IntRect& zoomedRect, float zoomFactor)
|
| {
|
| // Set the control size based off the rectangle we're painting into.
|
| @@ -440,15 +425,13 @@ static void setUpButtonCell(NSButtonCell *cell, ControlPart part, ControlStates
|
|
|
| static NSButtonCell *button(ControlPart part, ControlStates states, const IntRect& zoomedRect, float zoomFactor)
|
| {
|
| - NSButtonCell *cell;
|
| - if (states & DefaultState) {
|
| - static NSButtonCell *defaultCell = leakButtonCell(DefaultButtonCell);
|
| - cell = defaultCell;
|
| - } else {
|
| - static NSButtonCell *normalCell = leakButtonCell(NormalButtonCell);
|
| - cell = normalCell;
|
| + static NSButtonCell *cell = nil;
|
| + if (!cell) {
|
| + cell = [[NSButtonCell alloc] init];
|
| + [cell setTitle:nil];
|
| + [cell setButtonType:NSMomentaryPushInButton];
|
| }
|
| - setUpButtonCell(cell, part, states, zoomedRect, zoomFactor);
|
| + setUpButtonCell(cell, part, states, zoomedRect, zoomFactor);
|
| return cell;
|
| }
|
|
|
| @@ -487,13 +470,6 @@ static void paintButton(ControlPart part, ControlStates states, GraphicsContext*
|
| LocalCurrentGraphicsContext localContext(context);
|
| NSView *view = ThemeMac::ensuredView(scrollView);
|
| NSWindow *window = [view window];
|
| - NSButtonCell *previousDefaultButtonCell = [window defaultButtonCell];
|
| -
|
| - if (states & DefaultState) {
|
| - [window setDefaultButtonCell:buttonCell];
|
| - WKAdvanceDefaultButtonPulseAnimation(buttonCell);
|
| - } else if ([previousDefaultButtonCell isEqual:buttonCell])
|
| - [window setDefaultButtonCell:nil];
|
|
|
| [buttonCell drawWithFrame:NSRect(inflatedRect) inView:view];
|
| #if !BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
|
| @@ -502,9 +478,6 @@ static void paintButton(ControlPart part, ControlStates states, GraphicsContext*
|
| #endif
|
| [buttonCell setControlView:nil];
|
|
|
| - if (![previousDefaultButtonCell isEqual:buttonCell])
|
| - [window setDefaultButtonCell:previousDefaultButtonCell];
|
| -
|
| END_BLOCK_OBJC_EXCEPTIONS
|
| }
|
|
|
| @@ -636,7 +609,6 @@ LengthSize ThemeMac::minimumControlSize(ControlPart part, const Font& font, floa
|
| {
|
| switch (part) {
|
| case SquareButtonPart:
|
| - case DefaultButtonPart:
|
| case ButtonPart:
|
| return LengthSize(Length(0, Fixed), Length(static_cast<int>(15 * zoomFactor), Fixed));
|
| case InnerSpinButtonPart:{
|
| @@ -653,7 +625,6 @@ LengthBox ThemeMac::controlBorder(ControlPart part, const Font& font, const Leng
|
| {
|
| switch (part) {
|
| case SquareButtonPart:
|
| - case DefaultButtonPart:
|
| case ButtonPart:
|
| return LengthBox(0, zoomedBox.right().value(), 0, zoomedBox.left().value());
|
| default:
|
| @@ -705,7 +676,6 @@ void ThemeMac::inflateControlPaintRect(ControlPart part, ControlStates states, I
|
| break;
|
| }
|
| case PushButtonPart:
|
| - case DefaultButtonPart:
|
| case ButtonPart: {
|
| NSButtonCell *cell = button(part, states, zoomedRect, zoomFactor);
|
| NSControlSize controlSize = [cell controlSize];
|
| @@ -744,7 +714,6 @@ void ThemeMac::paint(ControlPart part, ControlStates states, GraphicsContext* co
|
| paintRadio(states, context, zoomedRect, zoomFactor, scrollView);
|
| break;
|
| case PushButtonPart:
|
| - case DefaultButtonPart:
|
| case ButtonPart:
|
| case SquareButtonPart:
|
| paintButton(part, states, context, zoomedRect, zoomFactor, scrollView);
|
|
|