Current implementation blocks the UI thread for a long period of time.
This change uses asynchronous operation to copy the frame buffer.
I have tested this manually with two cases:
1. Thumbnail generation
Tested thumbnails are generated successfully with --force-compositing-mode.
I have also verified that CopyTo() now completes almost instantaneously while
FinishCopy() completes in a relatively short time. Total time that UI thread
is blocked is about 1/4 of previous implementation.
2. Resource destruction
Manually tested that if CompositingIOSurface is destroyed before
asynchronous copy is finished then GL resources associated with the copy
is destroyed.
BUG=145587
Review URL: https://chromiumcodereview.appspot.com/10917307
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158395 0039d316-1c4b-4281-b951-d872f2087c98