| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "remoting/client/jni/jni_gl_display_handler.h" | 5 #include "remoting/client/jni/jni_gl_display_handler.h" |
| 6 | 6 |
| 7 #include <android/native_window_jni.h> | 7 #include <android/native_window_jni.h> |
| 8 #include <array> | 8 #include <array> |
| 9 | 9 |
| 10 #include "base/android/jni_android.h" | 10 #include "base/android/jni_android.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 base::WeakPtr<Core> weak_ptr_; | 76 base::WeakPtr<Core> weak_ptr_; |
| 77 base::WeakPtrFactory<Core> weak_factory_; | 77 base::WeakPtrFactory<Core> weak_factory_; |
| 78 | 78 |
| 79 DISALLOW_COPY_AND_ASSIGN(Core); | 79 DISALLOW_COPY_AND_ASSIGN(Core); |
| 80 }; | 80 }; |
| 81 | 81 |
| 82 JniGlDisplayHandler::Core::Core(ChromotingJniRuntime* runtime, | 82 JniGlDisplayHandler::Core::Core(ChromotingJniRuntime* runtime, |
| 83 base::WeakPtr<JniGlDisplayHandler> shell) | 83 base::WeakPtr<JniGlDisplayHandler> shell) |
| 84 : runtime_(runtime), shell_(shell), weak_factory_(this) { | 84 : runtime_(runtime), shell_(shell), weak_factory_(this) { |
| 85 DCHECK(!runtime_->display_task_runner()->BelongsToCurrentThread()); | 85 DCHECK(!runtime_->display_task_runner()->BelongsToCurrentThread()); |
| 86 |
| 87 weak_ptr_ = weak_factory_.GetWeakPtr(); |
| 88 |
| 86 runtime_->display_task_runner()->PostTask( | 89 runtime_->display_task_runner()->PostTask( |
| 87 FROM_HERE, base::Bind(&JniGlDisplayHandler::Core::Initialize, | 90 FROM_HERE, base::Bind(&JniGlDisplayHandler::Core::Initialize, |
| 88 base::Unretained(this))); | 91 base::Unretained(this))); |
| 89 | 92 |
| 90 weak_ptr_ = weak_factory_.GetWeakPtr(); | |
| 91 | |
| 92 // Do not bind GlRenderer::OnFrameReceived. |renderer_| is not ready yet. | 93 // Do not bind GlRenderer::OnFrameReceived. |renderer_| is not ready yet. |
| 93 owned_frame_consumer_.reset(new DualBufferFrameConsumer( | 94 owned_frame_consumer_.reset(new DualBufferFrameConsumer( |
| 94 base::Bind(&JniGlDisplayHandler::Core::OnFrameReceived, weak_ptr_), | 95 base::Bind(&JniGlDisplayHandler::Core::OnFrameReceived, weak_ptr_), |
| 95 runtime_->display_task_runner(), | 96 runtime_->display_task_runner(), |
| 96 protocol::FrameConsumer::PixelFormat::FORMAT_RGBA)); | 97 protocol::FrameConsumer::PixelFormat::FORMAT_RGBA)); |
| 97 frame_consumer_ = owned_frame_consumer_->GetWeakPtr(); | 98 frame_consumer_ = owned_frame_consumer_->GetWeakPtr(); |
| 98 } | 99 } |
| 99 | 100 |
| 100 JniGlDisplayHandler::Core::~Core() {} | 101 JniGlDisplayHandler::Core::~Core() {} |
| 101 | 102 |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 java_display_); | 323 java_display_); |
| 323 } | 324 } |
| 324 | 325 |
| 325 void JniGlDisplayHandler::OnCanvasSizeChanged(int width, int height) { | 326 void JniGlDisplayHandler::OnCanvasSizeChanged(int width, int height) { |
| 326 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 327 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
| 327 Java_GlDisplay_changeCanvasSize(base::android::AttachCurrentThread(), | 328 Java_GlDisplay_changeCanvasSize(base::android::AttachCurrentThread(), |
| 328 java_display_, width, height); | 329 java_display_, width, height); |
| 329 } | 330 } |
| 330 | 331 |
| 331 } // namespace remoting | 332 } // namespace remoting |
| OLD | NEW |