Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(769)

Side by Side Diff: content/renderer/android/synchronous_compositor_output_surface.h

Issue 1441273002: Android WebView: Crash on compositor context loss (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: don't lose on memory Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_OUTPUT_SURFACE_H_ 5 #ifndef CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_OUTPUT_SURFACE_H_
6 #define CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_OUTPUT_SURFACE_H_ 6 #define CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_OUTPUT_SURFACE_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 const scoped_refptr<cc::ContextProvider>& context_provider, 57 const scoped_refptr<cc::ContextProvider>& context_provider,
58 const scoped_refptr<cc::ContextProvider>& worker_context_provider, 58 const scoped_refptr<cc::ContextProvider>& worker_context_provider,
59 int routing_id, 59 int routing_id,
60 SynchronousCompositorRegistry* registry, 60 SynchronousCompositorRegistry* registry,
61 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue); 61 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue);
62 ~SynchronousCompositorOutputSurface() override; 62 ~SynchronousCompositorOutputSurface() override;
63 63
64 void SetSyncClient(SynchronousCompositorOutputSurfaceClient* compositor); 64 void SetSyncClient(SynchronousCompositorOutputSurfaceClient* compositor);
65 65
66 // OutputSurface. 66 // OutputSurface.
67 void DidLoseOutputSurface() override;
67 bool BindToClient(cc::OutputSurfaceClient* surface_client) override; 68 bool BindToClient(cc::OutputSurfaceClient* surface_client) override;
68 void DetachFromClient() override; 69 void DetachFromClient() override;
69 void Reshape(const gfx::Size& size, float scale_factor) override; 70 void Reshape(const gfx::Size& size, float scale_factor) override;
70 void SwapBuffers(cc::CompositorFrame* frame) override; 71 void SwapBuffers(cc::CompositorFrame* frame) override;
71 void Invalidate() override; 72 void Invalidate() override;
72 73
73 // Partial SynchronousCompositor API implementation. 74 // Partial SynchronousCompositor API implementation.
74 scoped_ptr<cc::CompositorFrame> DemandDrawHw( 75 scoped_ptr<cc::CompositorFrame> DemandDrawHw(
75 const gfx::Size& surface_size, 76 const gfx::Size& surface_size,
76 const gfx::Transform& transform, 77 const gfx::Transform& transform,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_; 125 scoped_refptr<FrameSwapMessageQueue> frame_swap_message_queue_;
125 126
126 base::ThreadChecker thread_checker_; 127 base::ThreadChecker thread_checker_;
127 128
128 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorOutputSurface); 129 DISALLOW_COPY_AND_ASSIGN(SynchronousCompositorOutputSurface);
129 }; 130 };
130 131
131 } // namespace content 132 } // namespace content
132 133
133 #endif // CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_OUTPUT_SURFACE_H_ 134 #endif // CONTENT_RENDERER_ANDROID_SYNCHRONOUS_COMPOSITOR_OUTPUT_SURFACE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698