Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1003)

Unified Diff: chrome/browser/ui/cocoa/tabs/media_indicator_view.mm

Issue 69143003: [Mac] Fix title text re-expanding after tab media indicator shuts off. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/tabs/media_indicator_view.mm
diff --git a/chrome/browser/ui/cocoa/tabs/media_indicator_view.mm b/chrome/browser/ui/cocoa/tabs/media_indicator_view.mm
index e3caf07539d7a2e8b6da26b4f2a59294ee72a5e1..0e67c80968fb69424a697b33f4141fb0fd8cd4a4 100644
--- a/chrome/browser/ui/cocoa/tabs/media_indicator_view.mm
+++ b/chrome/browser/ui/cocoa/tabs/media_indicator_view.mm
@@ -14,25 +14,34 @@ class MediaIndicatorViewAnimationDelegate : public gfx::AnimationDelegate {
TabMediaState* mediaState,
TabMediaState* animatingMediaState)
: view_(view), mediaState_(mediaState),
- animatingMediaState_(animatingMediaState) {}
+ animatingMediaState_(animatingMediaState),
+ doneCallbackObject_(nil), doneCallbackSelector_(nil) {}
virtual ~MediaIndicatorViewAnimationDelegate() {}
+ void SetAnimationDoneCallback(id anObject, SEL selector) {
+ doneCallbackObject_ = anObject;
+ doneCallbackSelector_ = selector;
+ }
+
virtual void AnimationEnded(const gfx::Animation* animation) OVERRIDE {
*animatingMediaState_ = *mediaState_;
[view_ setNeedsDisplay:YES];
+ [doneCallbackObject_ performSelector:doneCallbackSelector_];
}
virtual void AnimationProgressed(const gfx::Animation* animation) OVERRIDE {
[view_ setNeedsDisplay:YES];
}
virtual void AnimationCanceled(const gfx::Animation* animation) OVERRIDE {
- *animatingMediaState_ = *mediaState_;
- [view_ setNeedsDisplay:YES];
+ AnimationEnded(animation);
}
private:
NSView* const view_;
TabMediaState* const mediaState_;
TabMediaState* const animatingMediaState_;
+
+ id doneCallbackObject_;
+ SEL doneCallbackSelector_;
};
@implementation MediaIndicatorView
@@ -79,6 +88,11 @@ class MediaIndicatorViewAnimationDelegate : public gfx::AnimationDelegate {
animation_->Start();
}
+- (void)setAnimationDoneCallbackObject:(id)anObject withSelector:(SEL)selector {
+ if (delegate_)
+ delegate_->SetAnimationDoneCallback(anObject, selector);
+}
+
- (void)drawRect:(NSRect)rect {
if (!animation_)
return;

Powered by Google App Engine
This is Rietveld 408576698