aw: Make repeated detachGLFunctor work
commit72cf6e83b26d24af3c1b270f839911dfaddf2d46
authorboliu <boliu@chromium.org>
Fri, 6 Feb 2015 17:12:34 +0000 (6 09:12 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 6 Feb 2015 17:13:11 +0000 (6 17:13 +0000)
tree87f62412b1147cb5a0bf956216122f9e73d82c50
parent747672ddb715596eade73524aa18a75aec236af0
aw: Make repeated detachGLFunctor work

detachGLFunctor is called every time the webview is detached (ie when
hardware acceleration is torn down and cleaned up). This can happen many
times since webview can be attached and detached many times.

However the implementation in the glue layer only does something on the
first call.

Also in general, it's a bad pattern for CleanupReference to have strong
java refs.

It's not necessary to call detachGLFunctor on gc; detach is enough. So
move all that code out of the DestroyRunnable of the CleanupReference.

This is a long standing bug since the first release of chromium webview.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#315051}
android_webview/glue/java/src/com/android/webview/chromium/DrawGLFunctor.java