aw: Fix lost invalidate while playing video
commit283dddc9fb5997a21cfa24f70d74a4851bafcd8a
authorboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 13 May 2014 15:17:29 +0000 (13 15:17 +0000)
committerboliu@chromium.org <boliu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Tue, 13 May 2014 15:17:29 +0000 (13 15:17 +0000)
treefa2e8465c1bfc08a3f80979e9fa6995eb19f099a
parent0f5dabe78ccdca0ebaff0ce6c6863844cc3752d3
aw: Fix lost invalidate while playing video

BrowserViewRenderer::block_invalidates_ needs to be unset immediately
after draw. Posting the unset to UI thread could imply that it comes
after the fallback tick, which can cause an invalidate to be dropped.

This is especially bad for VideoLayer since the fallback tick does not
advance video frames, which means the video could be stuck forever.

Fix by unsetting block_invalidates_ and cancelling fallback tick
immediately, but only post back to get the invalidate.

Internal bug b/14643271

BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270101 0039d316-1c4b-4281-b951-d872f2087c98
android_webview/browser/browser_view_renderer.cc
android_webview/native/aw_contents.cc
android_webview/native/aw_contents.h