| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/android/compositor/compositor_view.h" | 5 #include "chrome/browser/android/compositor/compositor_view.h" |
| 6 | 6 |
| 7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
| 8 #include <android/native_window_jni.h> | 8 #include <android/native_window_jni.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 | 115 |
| 116 base::android::ScopedJavaLocalRef<jobject> CompositorView::GetResourceManager( | 116 base::android::ScopedJavaLocalRef<jobject> CompositorView::GetResourceManager( |
| 117 JNIEnv* env, | 117 JNIEnv* env, |
| 118 const JavaParamRef<jobject>& jobj) { | 118 const JavaParamRef<jobject>& jobj) { |
| 119 return compositor_->GetResourceManager().GetJavaObject(); | 119 return compositor_->GetResourceManager().GetJavaObject(); |
| 120 } | 120 } |
| 121 | 121 |
| 122 void CompositorView::UpdateLayerTreeHost() { | 122 void CompositorView::UpdateLayerTreeHost() { |
| 123 JNIEnv* env = base::android::AttachCurrentThread(); | 123 JNIEnv* env = base::android::AttachCurrentThread(); |
| 124 // TODO(wkorman): Rename JNI interface to onCompositorUpdateLayerTreeHost. | 124 // TODO(wkorman): Rename JNI interface to onCompositorUpdateLayerTreeHost. |
| 125 Java_CompositorView_onCompositorLayout(env, obj_.obj()); | 125 Java_CompositorView_onCompositorLayout(env, obj_); |
| 126 } | 126 } |
| 127 | 127 |
| 128 void CompositorView::OnSwapBuffersCompleted(int pending_swap_buffers) { | 128 void CompositorView::OnSwapBuffersCompleted(int pending_swap_buffers) { |
| 129 JNIEnv* env = base::android::AttachCurrentThread(); | 129 JNIEnv* env = base::android::AttachCurrentThread(); |
| 130 Java_CompositorView_onSwapBuffersCompleted(env, obj_.obj(), | 130 Java_CompositorView_onSwapBuffersCompleted(env, obj_, pending_swap_buffers); |
| 131 pending_swap_buffers); | |
| 132 } | 131 } |
| 133 | 132 |
| 134 ui::UIResourceProvider* CompositorView::GetUIResourceProvider() { | 133 ui::UIResourceProvider* CompositorView::GetUIResourceProvider() { |
| 135 if (!compositor_) | 134 if (!compositor_) |
| 136 return NULL; | 135 return NULL; |
| 137 return &compositor_->GetUIResourceProvider(); | 136 return &compositor_->GetUIResourceProvider(); |
| 138 } | 137 } |
| 139 | 138 |
| 140 void CompositorView::SurfaceCreated(JNIEnv* env, | 139 void CompositorView::SurfaceCreated(JNIEnv* env, |
| 141 const JavaParamRef<jobject>& object) { | 140 const JavaParamRef<jobject>& object) { |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 void CompositorView::BrowserChildProcessHostDisconnected( | 247 void CompositorView::BrowserChildProcessHostDisconnected( |
| 249 const content::ChildProcessData& data) { | 248 const content::ChildProcessData& data) { |
| 250 LOG(WARNING) << "Child process disconnected (type=" << data.process_type | 249 LOG(WARNING) << "Child process disconnected (type=" << data.process_type |
| 251 << ") pid=" << data.handle << ")"; | 250 << ") pid=" << data.handle << ")"; |
| 252 if (base::android::BuildInfo::GetInstance()->sdk_int() <= | 251 if (base::android::BuildInfo::GetInstance()->sdk_int() <= |
| 253 base::android::SDK_VERSION_JELLY_BEAN_MR2 && | 252 base::android::SDK_VERSION_JELLY_BEAN_MR2 && |
| 254 data.process_type == content::PROCESS_TYPE_GPU) { | 253 data.process_type == content::PROCESS_TYPE_GPU) { |
| 255 JNIEnv* env = base::android::AttachCurrentThread(); | 254 JNIEnv* env = base::android::AttachCurrentThread(); |
| 256 compositor_->SetSurface(nullptr); | 255 compositor_->SetSurface(nullptr); |
| 257 Java_CompositorView_onJellyBeanSurfaceDisconnectWorkaround( | 256 Java_CompositorView_onJellyBeanSurfaceDisconnectWorkaround( |
| 258 env, obj_.obj(), overlay_video_mode_); | 257 env, obj_, overlay_video_mode_); |
| 259 } | 258 } |
| 260 } | 259 } |
| 261 | 260 |
| 262 void CompositorView::BrowserChildProcessCrashed( | 261 void CompositorView::BrowserChildProcessCrashed( |
| 263 const content::ChildProcessData& data, | 262 const content::ChildProcessData& data, |
| 264 int exit_code) { | 263 int exit_code) { |
| 265 // The Android TERMINATION_STATUS_OOM_PROTECTED hack causes us to never go | 264 // The Android TERMINATION_STATUS_OOM_PROTECTED hack causes us to never go |
| 266 // through here but through BrowserChildProcessHostDisconnected() instead. | 265 // through here but through BrowserChildProcessHostDisconnected() instead. |
| 267 } | 266 } |
| 268 | 267 |
| 269 // Register native methods | 268 // Register native methods |
| 270 bool RegisterCompositorView(JNIEnv* env) { | 269 bool RegisterCompositorView(JNIEnv* env) { |
| 271 return RegisterNativesImpl(env); | 270 return RegisterNativesImpl(env); |
| 272 } | 271 } |
| 273 | 272 |
| 274 } // namespace android | 273 } // namespace android |
| 275 } // namespace chrome | 274 } // namespace chrome |
| OLD | NEW |