Commit c643bb14 authored by tapted@chromium.org's avatar tapted@chromium.org

Fix app launcher animation tearing on OSX Mavericks.

Mavericks introduced [NSView setCanDrawSubviewsIntoLayer:] which I
suspect has changed some of the animation compositing pipeline.
Recently, the app launcher has been "tearing" the canvas while dragging
items around quickly.

This change ensures that the common ancestor view of the
NSCollectionView and the transitive layer used for custom drag
animations is layer-backed. This prevents the tearing.

BUG=341769
TEST=Drag items around the OSX app lanucher quickly - icons should
animate smoothly, without tearing.

Review URL: https://codereview.chromium.org/159573002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251030 0039d316-1c4b-4281-b951-d872f2087c98
parent 9518c8c7
...@@ -197,6 +197,12 @@ void AppListModelObserverBridge::OnProfilesChanged() { ...@@ -197,6 +197,12 @@ void AppListModelObserverBridge::OnProfilesChanged() {
[AppsGridController scrollerPadding]); [AppsGridController scrollerPadding]);
contentsView_.reset([[FlippedView alloc] initWithFrame:contentsRect]); contentsView_.reset([[FlippedView alloc] initWithFrame:contentsRect]);
// The contents view contains animations both from an NSCollectionView and the
// app list's own transitive drag layers. Ensure the subviews have access to
// a compositing layer they can share.
[contentsView_ setWantsLayer:YES];
backgroundView_.reset( backgroundView_.reset(
[[BackgroundView alloc] initWithFrame: [[BackgroundView alloc] initWithFrame:
NSMakeRect(0, 0, NSMaxX(contentsRect), NSMaxY(contentsRect))]); NSMakeRect(0, 0, NSMaxX(contentsRect), NSMaxY(contentsRect))]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment