Add an 'output_extension' variable to GN so we can override the default for a target.

Some targets may need the ability to control what the output file extension
is exactly (e.g., the freetype2 library, which sets the shared library version).
In gyp, one uses the 'product_extension' variable; This change adds
'output_extension' for consistency with 'output_name'.

R=brettw@chromium.org, brettw

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254243 0039d316-1c4b-4281-b951-d872f2087c98
Fix up cc::Layer scroll parent management

The previous code was trying to perform scroll parent pointer fixup during
LayerImpl destruction, which is problematic since ~LayerImpl() always runs
during tree synchronization and there is nothing to ensure that the scroll
parent's portion of the tree has be fully synchronized when a particular
scroll child is being destroyed.

Instead, this performs pointer fixup on the main thread and then just pushes
the values through to the LayerImpl tree without performing additional fixups.
So long as the main-thread (cc::Layer) tree stays structurally valid there's
no need for additional changes at layer destruction or tree manipulation time
on any LayerImpl trees.

BUG=347284

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254244 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 254244
Send accessibility scroll event on Windows and Android.

This is in response to a recent Blink change (r167866)
that adds a new accessibility event that fires every time
a container (frame or scrollable html element) scrolls.

BUG=230839, 312318, 338540

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

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