Index: android_webview/browser/browser_view_renderer.cc |
diff --git a/android_webview/browser/browser_view_renderer.cc b/android_webview/browser/browser_view_renderer.cc |
index f897b0ce0642732e3a7549b2d5924830ab153523..771c772b69687977c2c96edac9ea7edaf47ed0a1 100644 |
--- a/android_webview/browser/browser_view_renderer.cc |
+++ b/android_webview/browser/browser_view_renderer.cc |
@@ -331,6 +331,10 @@ void BrowserViewRenderer::DidSkipCommitFrame() { |
DidSkipCompositeInDraw(); |
} |
+void BrowserViewRenderer::InvalidateOnFunctorDestroy() { |
+ client_->InvalidateOnFunctorDestroy(); |
+} |
+ |
bool BrowserViewRenderer::OnDrawSoftware(jobject java_canvas) { |
if (!compositor_) { |
TRACE_EVENT_INSTANT0( |
@@ -453,11 +457,9 @@ void BrowserViewRenderer::OnDetachedFromWindow() { |
void BrowserViewRenderer::ReleaseHardware() { |
DCHECK(hardware_enabled_); |
- // TODO(hush): do this in somewhere else. Either in hardware render or in |
- // shared renderer state. |
- ReturnUnusedResource(shared_renderer_state_.PassCompositorFrame()); |
+ ReturnUnusedResource(shared_renderer_state_.PassUncommittedFrameOnUI()); |
ReturnResourceFromParent(); |
- DCHECK(shared_renderer_state_.ReturnedResourcesEmpty()); |
+ DCHECK(shared_renderer_state_.ReturnedResourcesEmptyOnUI()); |
if (compositor_) { |
compositor_->ReleaseHwDraw(); |
@@ -754,7 +756,7 @@ void BrowserViewRenderer::FallbackTickFired() { |
if (compositor_needs_continuous_invalidate_ && compositor_) { |
if (hardware_enabled_) { |
ReturnResourceFromParent(); |
- ReturnUnusedResource(shared_renderer_state_.PassCompositorFrame()); |
+ ReturnUnusedResource(shared_renderer_state_.PassUncommittedFrameOnUI()); |
scoped_ptr<cc::CompositorFrame> frame = CompositeHw(); |
if (frame.get()) { |
shared_renderer_state_.SetCompositorFrameOnUI(frame.Pass(), true); |