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 |