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

Unified Diff: chrome/browser/ui/cocoa/download/download_item_cell.mm

Issue 1236463002: Vectorize download shelf progress indicators (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: typo fix Created 5 years, 5 months 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/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];
}

Powered by Google App Engine
This is Rietveld 408576698