Chromium Code Reviews| Index: remoting/client/jni/jni_gl_display_handler.h |
| diff --git a/remoting/client/jni/jni_gl_display_handler.h b/remoting/client/jni/jni_gl_display_handler.h |
| index 5380a0725025c68fddb2b117290318555f0df036..07f99e610ef699bb8a14e019d81629fadf7e9e1b 100644 |
| --- a/remoting/client/jni/jni_gl_display_handler.h |
| +++ b/remoting/client/jni/jni_gl_display_handler.h |
| @@ -33,7 +33,6 @@ class JniGlDisplayHandler : public DisplayUpdaterFactory, |
| public GlRendererDelegate { |
| public: |
| JniGlDisplayHandler(ChromotingJniRuntime* runtime); |
| - ~JniGlDisplayHandler() override; |
| // Sets the DesktopViewFactory for the Java client. |
| void InitializeClient( |
| @@ -43,6 +42,9 @@ class JniGlDisplayHandler : public DisplayUpdaterFactory, |
| std::unique_ptr<protocol::CursorShapeStub> CreateCursorShapeStub() override; |
| std::unique_ptr<protocol::VideoRenderer> CreateVideoRenderer() override; |
| + // Must be called on the UI thread. |
| + void Destroy() override; |
| + |
| static bool RegisterJni(JNIEnv* env); |
| void OnSurfaceCreated( |
| @@ -84,6 +86,16 @@ class JniGlDisplayHandler : public DisplayUpdaterFactory, |
| float diameter); |
| private: |
| + ~JniGlDisplayHandler() override; |
|
Hzj_jie
2016/09/13 19:32:12
I suggest to keep this destructor empty, and move
Yuwei
2016/09/13 20:49:40
Done.
|
| + |
| + // Queues a task running on current call stack. All queued tasks will be |
| + // posted to the display thread after the current task is finished. |
| + // Do nothing if |ui_task_poster_| has already been released. |
| + void QueueTaskOnDisplayThread(const base::Closure& task); |
| + |
| + // This avoids listing DeleteHelper as friend. |
| + void DeleteOnDisplayThread(); |
| + |
| // GlRendererDelegate interface. |
| bool CanRenderFrame() override; |
| void OnFrameRendered() override; |