Freeze animations that are checkerboarding

To avoid flashing checkerboard during transform animations,
we skip draws when any animated layer is checkerboarding.
Without impl-side painting, only very large animated layers
(larger than the viewport) can checkerboard in the first place,
since smaller animated layers are painted in their entirety.
When such layers checkerboard during an animation, they
continue to checkerboard until a commit. However, given the
size of such layers, the commit can take multiple frames. If the
animation continues to progress during the commit,
checkerboarding can persist even after a commit, since the
region rasterized during the commit doesn't match the currently
visible region. Eventually we force a draw, and the
checkerboarding is displayed on screen.

To address this problem, this CL freezes animations when
we cannot draw because of checkerboarding and we don't
have impl-side painting. This ensures that the region that
is rasterized during the commit isn't stale when we draw
after the commit.

BUG=260979

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249339 0039d316-1c4b-4281-b951-d872f2087c98
Linux: Use FS magic values in magic.h in file_util::GetFileSystemType().

Note: magic.h arrived in Linux 2.6.19 over 7 years ago. If this breaks
builds on very old distros, please switch to nfs_fs.h locally.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249340 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 249340