diff options
author | thomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-14 19:35:37 +0000 |
---|---|---|
committer | thomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-14 19:35:37 +0000 |
commit | 231744281811c63cf15f6d6a7e02b85bc549506c (patch) | |
tree | edbe437798399514d3e8df98035781ad19743ae3 | |
parent | 33410c838b3d0ad411bb16b905e0188eacb40fb9 (diff) | |
download | chromium_src-231744281811c63cf15f6d6a7e02b85bc549506c.zip chromium_src-231744281811c63cf15f6d6a7e02b85bc549506c.tar.gz chromium_src-231744281811c63cf15f6d6a7e02b85bc549506c.tar.bz2 |
[Mac] Fix MouseDown/MouseUp error for Steve animation effects
- Pull in new GTM with Animation fixes
- Switch masks to be mouse up, not down.
- Remove the steve effect from places where users don't really trigger the animation, so the effect doesn't seem "random"
- Move the animation duration set to be per click in the prefs window instead of binding the time at window open.
BUG=41393
TEST=Steve animation effects are back.
Review URL: http://codereview.chromium.org/1618021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44516 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | chrome/browser/autocomplete/autocomplete_popup_view_mac.mm | 6 | ||||
-rw-r--r-- | chrome/browser/cocoa/download_shelf_controller.mm | 2 | ||||
-rw-r--r-- | chrome/browser/cocoa/download_started_animation_mac.mm | 6 | ||||
-rw-r--r-- | chrome/browser/cocoa/extensions/browser_action_button.mm | 2 | ||||
-rw-r--r-- | chrome/browser/cocoa/extensions/browser_actions_controller.mm | 2 | ||||
-rw-r--r-- | chrome/browser/cocoa/find_bar_cocoa_controller.mm | 2 | ||||
-rw-r--r-- | chrome/browser/cocoa/info_bubble_window.mm | 5 | ||||
-rw-r--r-- | chrome/browser/cocoa/preferences_window_controller.mm | 8 | ||||
-rw-r--r-- | chrome/browser/cocoa/status_bubble_mac.mm | 5 | ||||
-rw-r--r-- | chrome/browser/cocoa/tab_strip_controller.mm | 2 |
11 files changed, 22 insertions, 20 deletions
@@ -178,7 +178,7 @@ deps_os = { "/trunk/deps/reference_builds/chrome_mac@41963", "src/third_party/GTM": - "http://google-toolbox-for-mac.googlecode.com/svn/trunk@321", + "http://google-toolbox-for-mac.googlecode.com/svn/trunk@330", "src/third_party/pdfsqueeze": "http://pdfsqueeze.googlecode.com/svn/trunk@2", "src/third_party/lighttpd": diff --git a/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm b/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm index 31ccff4..29ea9ab 100644 --- a/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm +++ b/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm @@ -371,9 +371,9 @@ void AutocompletePopupViewMac::UpdatePopupAppearance() { r.origin.x == oldFrame.origin.x && r.size.width == oldFrame.size.width) { [NSAnimationContext beginGrouping]; - [[NSAnimationContext currentContext] - gtm_setDuration:kShrinkAnimationDuration - eventMask:NSLeftMouseDownMask]; + // Don't use the GTM additon for the "Steve" slowdown because this can + // happen async from user actions and the effects could be a surprise. + [[NSAnimationContext currentContext] setDuration:kShrinkAnimationDuration]; [[popup_ animator] setFrame:r display:YES]; [NSAnimationContext endGrouping]; } else { diff --git a/chrome/browser/cocoa/download_shelf_controller.mm b/chrome/browser/cocoa/download_shelf_controller.mm index 848d4f1..0d7f884 100644 --- a/chrome/browser/cocoa/download_shelf_controller.mm +++ b/chrome/browser/cocoa/download_shelf_controller.mm @@ -262,7 +262,7 @@ const NSTimeInterval kDownloadShelfCloseDuration = 0.12; [NSAnimationContext beginGrouping]; [[NSAnimationContext currentContext] gtm_setDuration:kDownloadItemOpenDuration - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; [[[controller view] animator] setFrame:frame]; [NSAnimationContext endGrouping]; diff --git a/chrome/browser/cocoa/download_started_animation_mac.mm b/chrome/browser/cocoa/download_started_animation_mac.mm index be66e99..86e2b34 100644 --- a/chrome/browser/cocoa/download_started_animation_mac.mm +++ b/chrome/browser/cocoa/download_started_animation_mac.mm @@ -167,7 +167,7 @@ private: [positionAnimation setFromValue:[NSValue valueWithPoint:start]]; [positionAnimation setToValue:[NSValue valueWithPoint:stop]]; [positionAnimation gtm_setDuration:0.6 - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; [positionAnimation setTimingFunction:mediaFunction]; // Opacity animation. @@ -176,7 +176,7 @@ private: [opacityAnimation setFromValue:[NSNumber numberWithFloat:1.0]]; [opacityAnimation setToValue:[NSNumber numberWithFloat:0.4]]; [opacityAnimation gtm_setDuration:0.6 - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; [opacityAnimation setTimingFunction:mediaFunction]; // Group the animations together. @@ -189,7 +189,7 @@ private: [animationGroup setDelegate:self]; [animationGroup setTimingFunction:mediaFunction]; [animationGroup gtm_setDuration:0.6 - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; [layer addAnimation:animationGroup forKey:@"downloadOpacityAndPosition"]; observer_.reset(new DownloadAnimationTabObserver(self, tabContents)); diff --git a/chrome/browser/cocoa/extensions/browser_action_button.mm b/chrome/browser/cocoa/extensions/browser_action_button.mm index 863b56b..81b6e41 100644 --- a/chrome/browser/cocoa/extensions/browser_action_button.mm +++ b/chrome/browser/cocoa/extensions/browser_action_button.mm @@ -150,7 +150,7 @@ class ExtensionImageTrackerBridge : public NotificationObserver, moveAnimation_.reset([[NSViewAnimation alloc] init]); [moveAnimation_ gtm_setDuration:kAnimationDuration - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; [moveAnimation_ setAnimationBlockingMode:NSAnimationNonblocking]; [self updateState]; diff --git a/chrome/browser/cocoa/extensions/browser_actions_controller.mm b/chrome/browser/cocoa/extensions/browser_actions_controller.mm index db65ec0..b8e0762 100644 --- a/chrome/browser/cocoa/extensions/browser_actions_controller.mm +++ b/chrome/browser/cocoa/extensions/browser_actions_controller.mm @@ -265,7 +265,7 @@ class ExtensionsServiceObserverBridge : public NotificationObserver, chevronAnimation_.reset([[NSViewAnimation alloc] init]); [chevronAnimation_ gtm_setDuration:kAnimationDuration - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; [chevronAnimation_ setAnimationBlockingMode:NSAnimationNonblocking]; hiddenButtons_.reset([[NSMutableArray alloc] init]); diff --git a/chrome/browser/cocoa/find_bar_cocoa_controller.mm b/chrome/browser/cocoa/find_bar_cocoa_controller.mm index a0eb5f3..2845e3e 100644 --- a/chrome/browser/cocoa/find_bar_cocoa_controller.mm +++ b/chrome/browser/cocoa/find_bar_cocoa_controller.mm @@ -356,7 +356,7 @@ const float kFindBarCloseDuration = 0.15; [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObjects:dict, nil]]); [currentAnimation_ gtm_setDuration:duration - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; [currentAnimation_ setDelegate:self]; [currentAnimation_ startAnimation]; } diff --git a/chrome/browser/cocoa/info_bubble_window.mm b/chrome/browser/cocoa/info_bubble_window.mm index 0a65367..ea3ebcd 100644 --- a/chrome/browser/cocoa/info_bubble_window.mm +++ b/chrome/browser/cocoa/info_bubble_window.mm @@ -150,7 +150,7 @@ class AppNotificationBridge : public NotificationObserver { [NSAnimationContext beginGrouping]; [[NSAnimationContext currentContext] gtm_setDuration:kOrderOutAnimationDuration - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; [[self animator] setAlphaValue:0.0]; [NSAnimationContext endGrouping]; } @@ -196,9 +196,10 @@ class AppNotificationBridge : public NotificationObserver { // Apply animations to show and move self. [NSAnimationContext beginGrouping]; + // The star currently triggers on mouse down, not mouse up. [[NSAnimationContext currentContext] gtm_setDuration:kOrderInAnimationDuration - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask|NSLeftMouseDownMask]; [[self animator] setAlphaValue:1.0]; [[self animator] setFrame:frame display:YES]; [NSAnimationContext endGrouping]; diff --git a/chrome/browser/cocoa/preferences_window_controller.mm b/chrome/browser/cocoa/preferences_window_controller.mm index f2fdc37..046dff1 100644 --- a/chrome/browser/cocoa/preferences_window_controller.mm +++ b/chrome/browser/cocoa/preferences_window_controller.mm @@ -527,10 +527,6 @@ void PersonalDataManagerObserver::ShowAutoFillDialog( // Make this the delegate so it can remove the old view at the end of the // animation (once it is faded out). [animation_ setDelegate:self]; - // The default duration is 0.5s, which actually feels slow in here, so speed - // it up a bit. - [animation_ gtm_setDuration:0.2 - eventMask:NSLeftMouseDownMask]; [animation_ setAnimationBlockingMode:NSAnimationNonblocking]; // TODO(akalin): handle incognito profiles? The windows version of this @@ -1815,6 +1811,10 @@ const int kDisabledIndex = 1; nil]; [animation_ setViewAnimations: [NSArray arrayWithObjects:oldViewOut, newViewIn, windowResize, nil]]; + // The default duration is 0.5s, which actually feels slow in here, so speed + // it up a bit. + [animation_ gtm_setDuration:0.2 + eventMask:NSLeftMouseUpMask]; [animation_ startAnimation]; } else { [currentPrefsView removeFromSuperviewWithoutNeedingDisplay]; diff --git a/chrome/browser/cocoa/status_bubble_mac.mm b/chrome/browser/cocoa/status_bubble_mac.mm index ee58398..7906243 100644 --- a/chrome/browser/cocoa/status_bubble_mac.mm +++ b/chrome/browser/cocoa/status_bubble_mac.mm @@ -436,8 +436,9 @@ void StatusBubbleMac::Fade(bool show) { // This will cancel an in-progress transition and replace it with this fade. [NSAnimationContext beginGrouping]; - [[NSAnimationContext currentContext] gtm_setDuration:duration - eventMask:NSLeftMouseDownMask]; + // Don't use the GTM additon for the "Steve" slowdown because this can happen + // async from user actions and the effects could be a surprise. + [[NSAnimationContext currentContext] setDuration:duration]; [[window_ animator] setAlphaValue:opacity]; [NSAnimationContext endGrouping]; } diff --git a/chrome/browser/cocoa/tab_strip_controller.mm b/chrome/browser/cocoa/tab_strip_controller.mm index 84297eb..ba61368 100644 --- a/chrome/browser/cocoa/tab_strip_controller.mm +++ b/chrome/browser/cocoa/tab_strip_controller.mm @@ -87,7 +87,7 @@ class ScopedNSAnimationContextGroup { void SetCurrentContextDuration(NSTimeInterval duration) { if (animate_) { [[NSAnimationContext currentContext] gtm_setDuration:duration - eventMask:NSLeftMouseDownMask]; + eventMask:NSLeftMouseUpMask]; } } |