| Index: chrome/browser/ui/cocoa/download/download_item_cell.mm
|
| diff --git a/chrome/browser/ui/cocoa/download/download_item_cell.mm b/chrome/browser/ui/cocoa/download/download_item_cell.mm
|
| index 6b0bda42d9da8eca8c994032d423c4b235d93ece..99f9a1b95aa94e5a167df41a2bae371adc93fe00 100644
|
| --- a/chrome/browser/ui/cocoa/download/download_item_cell.mm
|
| +++ b/chrome/browser/ui/cocoa/download/download_item_cell.mm
|
| @@ -20,6 +20,7 @@
|
| #include "ui/gfx/font_list.h"
|
| #include "ui/gfx/scoped_ns_graphics_context_save_gstate_mac.h"
|
| #include "ui/gfx/text_elider.h"
|
| +#include "ui/native_theme/native_theme.h"
|
|
|
| // Distance from top border to icon.
|
| const CGFloat kImagePaddingTop = 7;
|
| @@ -76,16 +77,6 @@ const CGFloat kInterruptedAnimationDuration = 2.5;
|
|
|
| using content::DownloadItem;
|
|
|
| -namespace {
|
| -
|
| -// Passed as a callback to DownloadShelf paint functions. On toolkit-views
|
| -// platforms it will mirror the position of the download progress, but that's
|
| -// not done on Mac.
|
| -void DummyRTLMirror(gfx::Rect* bounds) {
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| // This is a helper class to animate the fading out of the status text.
|
| @interface DownloadItemCellAnimation : NSAnimation {
|
| @private
|
| @@ -140,7 +131,6 @@ void DummyRTLMirror(gfx::Rect* bounds) {
|
| isStatusTextVisible_ = NO;
|
| titleY_ = kPrimaryTextOnlyPosTop;
|
| statusAlpha_ = 0.0;
|
| - indeterminateProgressAngle_ = DownloadShelf::kStartAngleDegrees;
|
|
|
| [self setFont:[NSFont systemFontOfSize:
|
| [NSFont systemFontSizeForControlSize:NSSmallControlSize]]];
|
| @@ -252,6 +242,7 @@ void DummyRTLMirror(gfx::Rect* bounds) {
|
| if (!indeterminateProgressTimer_) {
|
| indeterminateProgressTimer_.reset([[IndeterminateProgressTimer alloc]
|
| initWithDownloadItemCell:self]);
|
| + progressStartTime_ = base::TimeTicks::Now();
|
| }
|
| } else {
|
| percentDone_ = downloadModel->PercentComplete();
|
| @@ -562,22 +553,24 @@ void DummyRTLMirror(gfx::Rect* bounds) {
|
|
|
| gfx::CanvasSkiaPaint canvas(dirtyRect, false);
|
| canvas.set_composite_alpha(true);
|
| + canvas.Translate(gfx::Vector2d(x, y));
|
| +
|
| if (completionAnimation_.get()) {
|
| if ([completionAnimation_ isAnimating]) {
|
| if (percentDone_ == -1) {
|
| DownloadShelf::PaintDownloadComplete(
|
| - &canvas, base::Bind(&DummyRTLMirror), x, y,
|
| + &canvas, *[[[self controlView] window] themeProvider],
|
| [completionAnimation_ currentValue]);
|
| } else {
|
| DownloadShelf::PaintDownloadInterrupted(
|
| - &canvas, base::Bind(&DummyRTLMirror), x, y,
|
| + &canvas, *[[[self controlView] window] themeProvider],
|
| [completionAnimation_ currentValue]);
|
| }
|
| }
|
| } else if (percentDone_ >= 0 || indeterminateProgressTimer_) {
|
| - DownloadShelf::PaintDownloadProgress(&canvas, base::Bind(&DummyRTLMirror),
|
| - x, y, indeterminateProgressAngle_,
|
| - percentDone_);
|
| + DownloadShelf::PaintDownloadProgress(
|
| + &canvas, *[[[self controlView] window] themeProvider],
|
| + progressStartTime_, percentDone_);
|
| }
|
| }
|
|
|
| @@ -689,9 +682,6 @@ void DummyRTLMirror(gfx::Rect* bounds) {
|
| }
|
|
|
| - (void)updateIndeterminateDownload {
|
| - indeterminateProgressAngle_ =
|
| - (indeterminateProgressAngle_ + DownloadShelf::kUnknownIncrementDegrees) %
|
| - DownloadShelf::kMaxDegrees;
|
| [[self controlView] setNeedsDisplay:YES];
|
| }
|
|
|
|
|