| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This file contains the Mac implementation the download animation, displayed | 5 // This file contains the Mac implementation the download animation, displayed |
| 6 // at the start of a download. The animation produces an arrow pointing | 6 // at the start of a download. The animation produces an arrow pointing |
| 7 // downwards and animates towards the bottom of the window where the new | 7 // downwards and animates towards the bottom of the window where the new |
| 8 // download appears in the download shelf. | 8 // download appears in the download shelf. |
| 9 | 9 |
| 10 #include "chrome/browser/download/download_started_animation.h" | 10 #include "chrome/browser/download/download_started_animation.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 scoped_cftyperef<CGImageRef> image(SkCreateCGImageRef(*imageBitmap)); | 90 scoped_cftyperef<CGImageRef> image(SkCreateCGImageRef(*imageBitmap)); |
| 91 | 91 |
| 92 // Figure out the positioning in the current tab. Try to position the layer | 92 // Figure out the positioning in the current tab. Try to position the layer |
| 93 // against the left edge, and three times the download image's height from the | 93 // against the left edge, and three times the download image's height from the |
| 94 // bottom of the tab, assuming there is enough room. If there isn't enough, | 94 // bottom of the tab, assuming there is enough room. If there isn't enough, |
| 95 // don't show the animation and let the shelf speak for itself. | 95 // don't show the animation and let the shelf speak for itself. |
| 96 gfx::Rect bounds; | 96 gfx::Rect bounds; |
| 97 tabContents->GetContainerBounds(&bounds); | 97 tabContents->GetContainerBounds(&bounds); |
| 98 imageWidth_ = CGImageGetWidth(image); | 98 imageWidth_ = CGImageGetWidth(image); |
| 99 CGFloat imageHeight = CGImageGetHeight(image); | 99 CGFloat imageHeight = CGImageGetHeight(image); |
| 100 CGRect imageBounds = CGRectMake(0, 0, imageWidth_, imageHeight); | |
| 101 | 100 |
| 102 // Sanity check the size in case there's no room to display the animation. | 101 // Sanity check the size in case there's no room to display the animation. |
| 103 if (bounds.height() < imageHeight) { | 102 if (bounds.height() < imageHeight) { |
| 104 [self release]; | 103 [self release]; |
| 105 return nil; | 104 return nil; |
| 106 } | 105 } |
| 107 | 106 |
| 108 NSView* tabContentsView = tabContents->GetNativeView(); | 107 NSView* tabContentsView = tabContents->GetNativeView(); |
| 109 NSWindow* parentWindow = [tabContentsView window]; | 108 NSWindow* parentWindow = [tabContentsView window]; |
| 110 if (!parentWindow) { | 109 if (!parentWindow) { |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 } | 228 } |
| 230 | 229 |
| 231 @end | 230 @end |
| 232 | 231 |
| 233 void DownloadStartedAnimation::Show(TabContents* tab_contents) { | 232 void DownloadStartedAnimation::Show(TabContents* tab_contents) { |
| 234 DCHECK(tab_contents); | 233 DCHECK(tab_contents); |
| 235 | 234 |
| 236 // Will be deleted when the animation is complete. | 235 // Will be deleted when the animation is complete. |
| 237 [DownloadStartedAnimationMac startAnimationWithTabContents:tab_contents]; | 236 [DownloadStartedAnimationMac startAnimationWithTabContents:tab_contents]; |
| 238 } | 237 } |
| OLD | NEW |