| 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..244f400a0d6bb5a702ef250552f4e00f116e4a14 100644 | 
| --- a/chrome/browser/ui/cocoa/download/download_item_cell.mm | 
| +++ b/chrome/browser/ui/cocoa/download/download_item_cell.mm | 
| @@ -252,6 +252,7 @@ void DummyRTLMirror(gfx::Rect* bounds) { | 
| if (!indeterminateProgressTimer_) { | 
| indeterminateProgressTimer_.reset([[IndeterminateProgressTimer alloc] | 
| initWithDownloadItemCell:self]); | 
| +          progressStartTime_ = base::TimeTicks::Now(); | 
| } | 
| } else { | 
| percentDone_ = downloadModel->PercentComplete(); | 
| @@ -560,25 +561,27 @@ void DummyRTLMirror(gfx::Rect* bounds) { | 
| DownloadShelf::kSmallProgressIconSize, | 
| DownloadShelf::kSmallProgressIconSize); | 
|  | 
| +    canvas.Save(); | 
| +    canvas.Translate(gfx::Vector2d(x, y)); | 
| + | 
| gfx::CanvasSkiaPaint canvas(dirtyRect, false); | 
| canvas.set_composite_alpha(true); | 
| if (completionAnimation_.get()) { | 
| if ([completionAnimation_ isAnimating]) { | 
| if (percentDone_ == -1) { | 
| DownloadShelf::PaintDownloadComplete( | 
| -              &canvas, base::Bind(&DummyRTLMirror), x, y, | 
| -              [completionAnimation_ currentValue]); | 
| +              &canvas, [completionAnimation_ currentValue]); | 
| } else { | 
| DownloadShelf::PaintDownloadInterrupted( | 
| -              &canvas, base::Bind(&DummyRTLMirror), x, y, | 
| -              [completionAnimation_ currentValue]); | 
| +              &canvas, [completionAnimation_ currentValue]); | 
| } | 
| } | 
| } else if (percentDone_ >= 0 || indeterminateProgressTimer_) { | 
| -      DownloadShelf::PaintDownloadProgress(&canvas, base::Bind(&DummyRTLMirror), | 
| -                                           x, y, indeterminateProgressAngle_, | 
| +      DownloadShelf::PaintDownloadProgress(&canvas, progressStartTime_, | 
| percentDone_); | 
| } | 
| + | 
| +    canvas.Restore(); | 
| } | 
|  | 
| // Draw icon | 
| @@ -689,9 +692,6 @@ void DummyRTLMirror(gfx::Rect* bounds) { | 
| } | 
|  | 
| - (void)updateIndeterminateDownload { | 
| -  indeterminateProgressAngle_ = | 
| -      (indeterminateProgressAngle_ + DownloadShelf::kUnknownIncrementDegrees) % | 
| -      DownloadShelf::kMaxDegrees; | 
| [[self controlView] setNeedsDisplay:YES]; | 
| } | 
|  | 
|  |