Commit f2f9889e authored by xrenishere@gmail.com's avatar xrenishere@gmail.com

Fix BrowserActionButton's hover state in ToolbarController.

The cell was changed from GradientButtonCell to ImageButtonCell. GradientButtonCell 
has setMouseInside:animate:, but for ImageButtonCell this method is called setIsMouseInside:

BUG=373662

R=thakis@chromium.org

Review URL: https://codereview.chromium.org/299633002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273183 0039d316-1c4b-4281-b951-d872f2087c98
parent 81989a84
...@@ -384,6 +384,7 @@ Vivek Galatage <vivek.vg@samsung.com> ...@@ -384,6 +384,7 @@ Vivek Galatage <vivek.vg@samsung.com>
Will Hirsch <chromium@willhirsch.co.uk> Will Hirsch <chromium@willhirsch.co.uk>
Xinchao He <hexinchao@gmail.com> Xinchao He <hexinchao@gmail.com>
Xu Samuel <samuel.xu@intel.com> Xu Samuel <samuel.xu@intel.com>
Xuefei Ren <xrenishere@gmail.com>
Yael Aharon <yael.aharon@intel.com> Yael Aharon <yael.aharon@intel.com>
Yair Yogev <progame@chromium.org> Yair Yogev <progame@chromium.org>
Yang Gu <yang.gu@intel.com> Yang Gu <yang.gu@intel.com>
......
...@@ -361,7 +361,7 @@ class NotificationBridge ...@@ -361,7 +361,7 @@ class NotificationBridge
} }
- (void)mouseExited:(NSEvent*)theEvent { - (void)mouseExited:(NSEvent*)theEvent {
[[hoveredButton_ cell] setMouseInside:NO animate:YES]; [[hoveredButton_ cell] setIsMouseInside:NO];
[hoveredButton_ release]; [hoveredButton_ release];
hoveredButton_ = nil; hoveredButton_ = nil;
} }
...@@ -374,7 +374,7 @@ class NotificationBridge ...@@ -374,7 +374,7 @@ class NotificationBridge
// button cell that cares. GradientButtonCell derived cells care. // button cell that cares. GradientButtonCell derived cells care.
if (([targetView isKindOfClass:[NSButton class]]) && if (([targetView isKindOfClass:[NSButton class]]) &&
([[targetView cell] ([[targetView cell]
respondsToSelector:@selector(setMouseInside:animate:)])) respondsToSelector:@selector(setIsMouseInside:)]))
return targetView; return targetView;
return nil; return nil;
} }
...@@ -382,8 +382,8 @@ class NotificationBridge ...@@ -382,8 +382,8 @@ class NotificationBridge
- (void)mouseMoved:(NSEvent*)theEvent { - (void)mouseMoved:(NSEvent*)theEvent {
NSButton* targetView = [self hoverButtonForEvent:theEvent]; NSButton* targetView = [self hoverButtonForEvent:theEvent];
if (hoveredButton_ != targetView) { if (hoveredButton_ != targetView) {
[[hoveredButton_ cell] setMouseInside:NO animate:YES]; [[hoveredButton_ cell] setIsMouseInside:NO];
[[targetView cell] setMouseInside:YES animate:YES]; [[targetView cell] setIsMouseInside:YES];
[hoveredButton_ release]; [hoveredButton_ release];
hoveredButton_ = [targetView retain]; hoveredButton_ = [targetView retain];
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include "chrome/browser/ui/browser_command_controller.h" #include "chrome/browser/ui/browser_command_controller.h"
#include "chrome/browser/ui/browser_commands.h" #include "chrome/browser/ui/browser_commands.h"
#include "chrome/browser/ui/cocoa/cocoa_profile_test.h" #include "chrome/browser/ui/cocoa/cocoa_profile_test.h"
#import "chrome/browser/ui/cocoa/gradient_button_cell.h" #import "chrome/browser/ui/cocoa/image_button_cell.h"
#import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h"
#import "chrome/browser/ui/cocoa/view_resizer_pong.h" #import "chrome/browser/ui/cocoa/view_resizer_pong.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
...@@ -247,8 +247,8 @@ TEST_F(ToolbarControllerTest, HoverButtonForEvent) { ...@@ -247,8 +247,8 @@ TEST_F(ToolbarControllerTest, HoverButtonForEvent) {
EXPECT_FALSE([bar_ hoverButtonForEvent:event]); EXPECT_FALSE([bar_ hoverButtonForEvent:event]);
// Now! // Now!
base::scoped_nsobject<GradientButtonCell> cell( base::scoped_nsobject<ImageButtonCell> cell(
[[GradientButtonCell alloc] init]); [[ImageButtonCell alloc] init]);
[button setCell:cell.get()]; [button setCell:cell.get()];
EXPECT_TRUE([bar_ hoverButtonForEvent:nil]); EXPECT_TRUE([bar_ hoverButtonForEvent:nil]);
} }
......
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