Add a flag for enabling/disabling the new accelerated scrolling path
commit44de7494df4d0efeefa71aedb62057a0f0ca993f
authorvollick@chromium.org <vollick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 18 Oct 2013 15:14:59 +0000 (18 15:14 +0000)
committervollick@chromium.org <vollick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 18 Oct 2013 15:14:59 +0000 (18 15:14 +0000)
tree9362f7f9db296516a2ed98ce81ddae84d868ac48
parentd3834bb7bfd48ba176c179dd95b57f9998caadbc
Add a flag for enabling/disabling the new accelerated scrolling path

Relanding. This patch had previously been reverted because opting into the new path could run us into bugs. All known bugs have been resolved, so this should be safe to land.

We now have two accelerated scrolling paths. One accelerates scrolling whenever
it's safe to promote the overflow scrolling div to a stacking container /
containing block and not break stacking or clipping.

The new path, the 'universal' path, enables accelerated scrolling in those cases
where the old path would not opt-in.

Eventually, we'd like to eliminate the old path, but this will require layer
squashing (the new path can result in many composited layers that ought to be
combined -- i.e., a 'layer explosion'). Until these paths are mature, we need to
be able to enable and disable them both, so we have two separate sets of flags.

Once we've eliminated the old path, we can replace both with
--[enable/disable]-accelerated-overflow-scroll (and eventually get rid of both
sets of flags).

BUG=None

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=228187

R=darin@chromium.org, hartmanng@chromium.org, shawnsingh@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229421 0039d316-1c4b-4281-b951-d872f2087c98
build/ios/grit_whitelist.txt
chrome/app/generated_resources.grd
chrome/browser/about_flags.cc
chrome/browser/chromeos/login/chrome_restart_request.cc
content/browser/renderer_host/render_process_host_impl.cc
content/browser/web_contents/web_contents_impl.cc
content/public/common/content_switches.cc
content/public/common/content_switches.h
content/renderer/render_view_impl.cc
webkit/common/webpreferences.cc
webkit/common/webpreferences.h