New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 602558 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

[Mac] Update tab loading spinner to Material Design

Reported by zrid...@gmail.com, Apr 12 2016

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2705.0 Safari/537.36

Steps to reproduce the problem:
1. Open Chrome Canary
2. Load a page
3. Look at the loading icon on the tab strip

What is the expected behavior?
The Loader/Loading icon should be Material like its Windows Counterpart

What went wrong?
The Loader Icon should be material just like its Windows Counterpart on Chrome

Did this work before? N/A 

Chrome version: 52.0.2705.0  Channel: canary
OS Version: OS X 10.9.5
Flash Version: Shockwave Flash 21.0 r0

Thanks!
 
Owner: shrike@chromium.org
Status: Assigned (was: Unconfirmed)
To shrike@ for investigation.

Comment 2 by meh...@chromium.org, Apr 12 2016

Just a note: I remember there was a fix to optimize the CPU usage with the current used throbber/spinner. https://bugs.chromium.org/p/chromium/issues/detail?id=52468#c53


Comment 3 by shrike@chromium.org, Apr 12 2016

Blocking: 547953
Components: -UI UI>Browser>Core
Labels: Proj-MaterialDesign-NativeUI M-52

Comment 4 by zrid...@gmail.com, May 5 2016

Any progress on this issue?
There are more pressing issues at the moment so no progress.

The spinner code exists (chrome/browser/ui/cocoa/spinner_view.mm), it just needs to be incorporated into the tab. Also, multiple spinner instances need to be coordinated so that their animations all run in sync.

Comment 6 by shrike@chromium.org, May 19 2016

Status: Started (was: Assigned)

Comment 7 by shrike@chromium.org, May 19 2016

Blocking: -547953
Cc: sgabr...@chromium.org bettes@chromium.org
Summary: Update tab loading spinner to Material Design (was: Tab Loading Icon not material)
sgabriel@ - for the Material Design spinner in the tab, is there a reverse animation, similar to the current animation where the spinner is gray and spins backwards?

Comment 8 Deleted

Sorry I might have answered a bit too quickly, I would think that the reverse animation would be in the link you put in #5 ? isn't it available there ?
I'm not sure what's meant here by the MD and non-MD throbbers.  I'm not aware that on Views we made any changes to the throbber for MD.  AFAIK we changed it to its current, programmatically-rendered style before the MD work started.  But perhaps I'm misremembering.

In any case, on the current ("MD") throbber in views, there is indeed a reverse animation.

Finally, regarding a note in comment 5: we explicitly chose not to sync the animation of throbbers in different tabs on Views, though I'm not sure I could give you the reasons why (although I do agree it looks better not synced).
Status: Assigned (was: Started)
Re: synchronizing throbbers I realized that if there is a backward animation it won't be possible to sync the throbbers (because doing so could cause a backward throbber to suddenly jump to some other location in order to be in sync with any forward throbbers). So I'm abandoning that plan.

sgabriel@ - the link in #5 is to code I wrote that animates a forward throbber. It wasn't written to replace the tab throbber and does not include the reverse animation.

This document

https://docs.google.com/document/d/1C8t2BbX5GoXO2vPYunuCeqre1Hn6cYkXaP0Ndu4E_Sw/edit#heading=h.uspnzyjg41yy

describes Material Design throbbers, but there's no mention of or spec for a reverse animation. If Material Design in Chrome is continuing with the reverse spinner I need the spec for that.
I'm still wondering if what you're trying to implement is "parity with the existing views throbber" or if we're trying to update everything to some other design.

If the former, then you could probably reuse some of the views throbber code, as it draws everything programmatically.
BTW, I found a movie spec for the MD throbber.

pkasting@ - can you point me at the code that implements the throbber in Views? I see enough from the movie to understand what's needed for implementation, except for the rotation timing.

You want Tab::ThrobberView, which makes use of a lot of code in ui/gfx/paint_throbber.cc.
Project Member

Comment 15 by sheriffbot@chromium.org, Jun 1 2016

Labels: -M-52 M-53 MovedFrom-52
Moving this nonessential bug to the next milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: -sgabr...@chromium.org shrike@chromium.org
Owner: sgabr...@chromium.org
sgabriel@ - is there a spec for the throbber on Incognito? The old throbber is very hard to see on an Incognito tab. I suspect there will be the same problem with the new MD throbber.

The incognito throbber is the same as for normal, but in white instead of blue.
Thanks. Is that true in the reverse case?

Here is the movie showing the MD spinner in reverse and forward modes. In reverse it's gray and blue for forward. Should it be the same white in reverse and forwards in Incognito?

https://drive.google.com/corp/drive/u/0/folders/0BwcLL5PHtZQHRHdodHlydjNiaFk
it should be white 0.5 alpha in reverse for incognito.
Owner: shrike@chromium.org
assigning back, let me know if you still need my input.
Project Member

Comment 21 by sheriffbot@chromium.org, Jul 14 2016

Labels: -M-53 MovedFrom-53
This issue has been moved once and is lower than Pri-1. Removing the milestone.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Any update on this? Material Design completely implemented for ChromeOS, Windows and Linux. However, implementation for Mac is quite incomplete, yet there is no change for months. Inconsistency between platforms is very annoying, inconsistency Chrome for Mac itself is even worse. Although top of the Chrome is Material Design (it is not excellent, no fade in/fade out for buttons, no native search bar stroke like Safari, bookmarks misaligned etc.), download bar is old style.

Chrome is very good browser, but the last design change is incomplete. Please take a look into this.
Owner: lgrey@chromium.org
Cc: -shrike@chromium.org lgrey@chromium.org
Labels: M-61
Owner: shrike@chromium.org
Status: Started (was: Assigned)
Summary: [Mac] Update tab loading spinner to Material Design (was: Update tab loading spinner to Material Design)
Hello lgrey@,

I think you and I discussed this work and I believe you are OK with someone else doing this? I have started working on it.

Comment 25 by lgrey@chromium.org, Jun 16 2017

Sure thing
Project Member

Comment 26 by bugdroid1@chromium.org, Nov 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1d5b995e2b8ecd02d25ce3617dede75c26cf10e4

commit 1d5b995e2b8ecd02d25ce3617dede75c26cf10e4
Author: Jayson Adams <shrike@chromium.org>
Date: Thu Nov 16 18:10:04 2017

[Mac] Clean up tab controller.

This cl contains cleanup that was part of the forthcoming MD tab spinner
cl but has been separated out for clarity.

Bug:  602558 
Change-Id: Ibb58e9283a379f818b4c65ab79ae2e278e13b387
Reviewed-on: https://chromium-review.googlesource.com/769238
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Jayson Adams <shrike@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517127}
[modify] https://crrev.com/1d5b995e2b8ecd02d25ce3617dede75c26cf10e4/chrome/browser/ui/cocoa/tabs/tab_controller.mm

Project Member

Comment 27 by bugdroid1@chromium.org, Jan 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/22a3623aaf5c64f4f6bef19ab035b2099bee4399

commit 22a3623aaf5c64f4f6bef19ab035b2099bee4399
Author: Jayson Adams <shrike@chromium.org>
Date: Wed Jan 03 23:41:13 2018

[Mac] Clean up tab favicon handling in preparation for MD spinner.

This cl cleans up some of the tab favicon handling code in preparation
for swapping in the new Material Design spinner. In particular, it
preserves a tab's iconView when not visible rather than remove the
iconView from the view hierarchy.

Bug:  602558 
Change-Id: I357054ae0f383880d64be3de2e024c634880b99a
Reviewed-on: https://chromium-review.googlesource.com/822179
Commit-Queue: Jayson Adams <shrike@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526862}
[modify] https://crrev.com/22a3623aaf5c64f4f6bef19ab035b2099bee4399/chrome/browser/ui/cocoa/tabs/tab_controller.h
[modify] https://crrev.com/22a3623aaf5c64f4f6bef19ab035b2099bee4399/chrome/browser/ui/cocoa/tabs/tab_controller.mm
[modify] https://crrev.com/22a3623aaf5c64f4f6bef19ab035b2099bee4399/chrome/browser/ui/cocoa/tabs/tab_controller_unittest.mm
[modify] https://crrev.com/22a3623aaf5c64f4f6bef19ab035b2099bee4399/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm

Project Member

Comment 28 by bugdroid1@chromium.org, Jan 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f

commit f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f
Author: Jayson Adams <shrike@chromium.org>
Date: Tue Jan 23 21:13:28 2018

[Mac][Material Design] Update tab throbber to MD.

This cl replaces the bitmap-based tab progress spinner with the GPU-
accelerated Material Design version.

BUG= 602558 , 542427 

patch from issue 1997893002 at patchset 60001 (http://crrev.com/1997893002#ps60001)

Change-Id: Id926579bffc0a7c11c35bea6452dd1b0662d6aa2
Reviewed-on: https://chromium-review.googlesource.com/580131
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Sidney San Martín <sdy@chromium.org>
Commit-Queue: Jayson Adams <shrike@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531346}
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/app/theme/default_100_percent/legacy/throbber_waiting.png
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/app/theme/default_100_percent/mac/throbber_incognito.png
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/app/theme/default_100_percent/mac/throbber_waiting_incognito.png
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/app/theme/default_200_percent/legacy/throbber_waiting.png
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/app/theme/default_200_percent/mac/throbber_incognito.png
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/app/theme/default_200_percent/mac/throbber_waiting_incognito.png
[modify] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/app/theme/theme_resources.grd
[modify] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/cocoa/spinner_view.h
[modify] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/cocoa/spinner_view.mm
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/browser/ui/cocoa/sprite_view.h
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/browser/ui/cocoa/sprite_view.mm
[delete] https://crrev.com/def35f6b91ebf7afcf90c4bbd8c0eacaf8876b81/chrome/browser/ui/cocoa/sprite_view_unittest.mm
[modify] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/cocoa/tabs/tab_controller.h
[modify] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/cocoa/tabs/tab_controller.mm
[add] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/cocoa/tabs/tab_favicon_view.h
[add] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/cocoa/tabs/tab_favicon_view.mm
[add] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/cocoa/tabs/tab_spinner_view.h
[add] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/browser/ui/cocoa/tabs/tab_spinner_view.mm
[modify] https://crrev.com/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f/chrome/test/BUILD.gn

Looks great in Canary 66.0.3330.0 on macOS 10.12.6 (nonRetina). Thank you shrike@.
MD_Loading_indicator_nonRetina.mov
356 KB View Download
Status: Fixed (was: Started)
Great! (It's been a long time coming.)

Sign in to add a comment