| Index: android_webview/browser/shared_renderer_state.cc
|
| diff --git a/android_webview/browser/shared_renderer_state.cc b/android_webview/browser/shared_renderer_state.cc
|
| index 3483d630e7cb1eafbc02f812d0998902487aae1c..33c115a7bc90371678f3a9ad26700946103056cf 100644
|
| --- a/android_webview/browser/shared_renderer_state.cc
|
| +++ b/android_webview/browser/shared_renderer_state.cc
|
| @@ -12,8 +12,12 @@ namespace android_webview {
|
|
|
| DrawGLInput::DrawGLInput() : frame_id(0), width(0), height(0) {}
|
|
|
| +DrawGLInput::~DrawGLInput() {}
|
| +
|
| DrawGLResult::DrawGLResult() : frame_id(0), clip_contains_visible_rect(false) {}
|
|
|
| +DrawGLResult::~DrawGLResult() {}
|
| +
|
| SharedRendererState::SharedRendererState(
|
| scoped_refptr<base::MessageLoopProxy> ui_loop,
|
| BrowserViewRendererClient* client)
|
| @@ -76,14 +80,16 @@ SharedRendererState::GetMemoryPolicy() const {
|
| return memory_policy_;
|
| }
|
|
|
| -void SharedRendererState::SetDrawGLInput(const DrawGLInput& input) {
|
| +scoped_ptr<DrawGLInput> SharedRendererState::SetDrawGLInput(scoped_ptr<DrawGLInput> input) {
|
| base::AutoLock lock(lock_);
|
| - draw_gl_input_ = input;
|
| + scoped_ptr<DrawGLInput> old_input = draw_gl_input_.Pass();
|
| + draw_gl_input_ = input.Pass();
|
| + return old_input.Pass();
|
| }
|
|
|
| -DrawGLInput SharedRendererState::GetDrawGLInput() const {
|
| +scoped_ptr<DrawGLInput> SharedRendererState::PassDrawGLInput() {
|
| base::AutoLock lock(lock_);
|
| - return draw_gl_input_;
|
| + return draw_gl_input_.Pass();
|
| }
|
|
|
| void SharedRendererState::ClearClosureQueue() {
|
| @@ -129,4 +135,28 @@ bool SharedRendererState::IsMemoryPolicyDirty() const {
|
| return memory_policy_dirty_;
|
| }
|
|
|
| +void SharedRendererState::ReturnResources(
|
| + const cc::TransferableResourceArray& input) {
|
| + base::AutoLock lock(lock_);
|
| + cc::TransferableResource::ReturnResources(input, &returned_resources_);
|
| +}
|
| +
|
| +void SharedRendererState::InsertReturnedResources(
|
| + const cc::ReturnedResourceArray& resources) {
|
| + base::AutoLock lock(lock_);
|
| + returned_resources_.insert(
|
| + returned_resources_.end(), resources.begin(), resources.end());
|
| +}
|
| +
|
| +void SharedRendererState::SwapReturnedResources(
|
| + cc::ReturnedResourceArray* resources) {
|
| + base::AutoLock lock(lock_);
|
| + resources->swap(returned_resources_);
|
| +}
|
| +
|
| +bool SharedRendererState::ReturnedResourcesEmpty() const {
|
| + base::AutoLock lock(lock_);
|
| + return returned_resources_.empty();
|
| +}
|
| +
|
| } // namespace android_webview
|
|
|