ash Shelf Widget repaints every time an exo ShelfSurface is committed. |
||||||
Issue descriptionShellSurface::OnSurfaceCommit does UpdateWidgetBounds, which unconditionally sets the widget bounds. This goes through the layout manager and so on, and eventually hits ShelfWidget::SetPaintsBackground, which unconditionally does "delegate_view_->SchedulePaint", which causes the shelf to redraw itself. I think we should avoid setting the widget bounds unless they've actually changed. This code will be particularly bad when switched to Surfaces, as it causes an unneeded browser compositor commit and composite.
,
Jun 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9a944f96a6dbb2d6b702b2b24329e0bf2e149705 commit 9a944f96a6dbb2d6b702b2b24329e0bf2e149705 Author: jbauman <jbauman@chromium.org> Date: Fri Jun 03 05:57:31 2016 Only SchedulePaint on ShelfWidget if background changes. This is called whenever a toplevel window is moved, and was always doing a SchedulePaint even if no property changed. The BackgroundAnimator will do an UpdateBackground if the alpha changes, so the higher-level SchedulePaint is redundant. BUG= 614193 Review-Url: https://codereview.chromium.org/2012063002 Cr-Commit-Position: refs/heads/master@{#397645} [modify] https://crrev.com/9a944f96a6dbb2d6b702b2b24329e0bf2e149705/ash/shelf/shelf_widget.cc
,
Jun 24 2016
,
Jul 1 2016
,
Aug 29 2016
,
Oct 7 2016
,
Oct 21 2016
Closing as per comment #2 |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by jbau...@chromium.org
, May 25 2016Owner: jbau...@chromium.org
Status: Started (was: Unconfirmed)