Adds support for capturing a sub rect of the compositing surface.

Also removes the old PopulateBitmapWithContents API.

BUG=345865

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253736 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253736
[AudioPlayer] Fix misc UI issues

This patch fixes following issues, including 5-7 in crbug/346314.
- Hide volume control window when the focus got lost
- Remove the empty space on first time launching
- Clicking a track on list makes playing it
- Fix the error on playing a music in directory with few files
- Ensure the current item visible when expanding

BUG=346314
TEST=manually tested

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253737 0039d316-1c4b-4281-b951-d872f2087c98
Fix software compositor responsiveness

Force new frames to be drawn before acknowledging them. This
ensures that the renderer will not produce another frame before
the old frame has finished drawing. For fast animations on high
resolution displays, the new frame can immediately demand to be
drawn right after the old frame, giving no time to process input
events.

This was done by the (now defunct) legacy software path in
DidUpdateBackingStore. This updates software compositor to do
the same.

BUG=347274

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253738 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253738
[GCM] Enable Registration Request to give after 5 retries.

When a Chrome app issues a registration, that operation might be looping endlessly, when an error is recoverable. If meanwhile app wants to issue another registration (perhaps with a different set of senders) it will always be receiving and error (asynchronous operation pending) without a chance to cancel.

The update is going to allow the registraiton to fail, after a 6 attempts (1 initial attempt + 5 retries). That approach ensures that applications follow an exponential backoff policy and have a chance to issue a new registration request after a period of time.

BUG=344010

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

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