| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "content/browser/android/content_view_core_impl.h" | 5 #include "content/browser/android/content_view_core_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/android/jni_android.h" | 9 #include "base/android/jni_android.h" |
| 10 #include "base/android/jni_array.h" | 10 #include "base/android/jni_array.h" |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 observer_list_.AddObserver(observer); | 251 observer_list_.AddObserver(observer); |
| 252 } | 252 } |
| 253 | 253 |
| 254 void ContentViewCoreImpl::RemoveObserver( | 254 void ContentViewCoreImpl::RemoveObserver( |
| 255 ContentViewCoreImplObserver* observer) { | 255 ContentViewCoreImplObserver* observer) { |
| 256 observer_list_.RemoveObserver(observer); | 256 observer_list_.RemoveObserver(observer); |
| 257 } | 257 } |
| 258 | 258 |
| 259 ContentViewCoreImpl::~ContentViewCoreImpl() { | 259 ContentViewCoreImpl::~ContentViewCoreImpl() { |
| 260 view_.GetLayer()->RemoveFromParent(); | 260 view_.GetLayer()->RemoveFromParent(); |
| 261 FOR_EACH_OBSERVER(ContentViewCoreImplObserver, | 261 for (auto& observer : observer_list_) |
| 262 observer_list_, | 262 observer.OnContentViewCoreDestroyed(); |
| 263 OnContentViewCoreDestroyed()); | |
| 264 observer_list_.Clear(); | 263 observer_list_.Clear(); |
| 265 | 264 |
| 266 JNIEnv* env = base::android::AttachCurrentThread(); | 265 JNIEnv* env = base::android::AttachCurrentThread(); |
| 267 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); | 266 ScopedJavaLocalRef<jobject> j_obj = java_ref_.get(env); |
| 268 java_ref_.reset(); | 267 java_ref_.reset(); |
| 269 if (!j_obj.is_null()) { | 268 if (!j_obj.is_null()) { |
| 270 Java_ContentViewCore_onNativeContentViewCoreDestroyed( | 269 Java_ContentViewCore_onNativeContentViewCoreDestroyed( |
| 271 env, j_obj, reinterpret_cast<intptr_t>(this)); | 270 env, j_obj, reinterpret_cast<intptr_t>(this)); |
| 272 } | 271 } |
| 273 } | 272 } |
| 274 | 273 |
| 275 void ContentViewCoreImpl::UpdateWindowAndroid( | 274 void ContentViewCoreImpl::UpdateWindowAndroid( |
| 276 JNIEnv* env, | 275 JNIEnv* env, |
| 277 const base::android::JavaParamRef<jobject>& obj, | 276 const base::android::JavaParamRef<jobject>& obj, |
| 278 jlong window_android) { | 277 jlong window_android) { |
| 279 if (window_android) { | 278 if (window_android) { |
| 280 DCHECK(!view_.GetWindowAndroid()); | 279 DCHECK(!view_.GetWindowAndroid()); |
| 281 ui::WindowAndroid* window = | 280 ui::WindowAndroid* window = |
| 282 reinterpret_cast<ui::WindowAndroid*>(window_android); | 281 reinterpret_cast<ui::WindowAndroid*>(window_android); |
| 283 window->AddChild(&view_); | 282 window->AddChild(&view_); |
| 284 FOR_EACH_OBSERVER(ContentViewCoreImplObserver, | 283 for (auto& observer : observer_list_) |
| 285 observer_list_, | 284 observer.OnAttachedToWindow(); |
| 286 OnAttachedToWindow()); | |
| 287 } else { | 285 } else { |
| 288 FOR_EACH_OBSERVER(ContentViewCoreImplObserver, | 286 for (auto& observer : observer_list_) |
| 289 observer_list_, | 287 observer.OnDetachedFromWindow(); |
| 290 OnDetachedFromWindow()); | |
| 291 view_.RemoveFromParent(); | 288 view_.RemoveFromParent(); |
| 292 } | 289 } |
| 293 } | 290 } |
| 294 | 291 |
| 295 base::android::ScopedJavaLocalRef<jobject> | 292 base::android::ScopedJavaLocalRef<jobject> |
| 296 ContentViewCoreImpl::GetWebContentsAndroid(JNIEnv* env, | 293 ContentViewCoreImpl::GetWebContentsAndroid(JNIEnv* env, |
| 297 const JavaParamRef<jobject>& obj) { | 294 const JavaParamRef<jobject>& obj) { |
| 298 return web_contents_->GetJavaWebContents(); | 295 return web_contents_->GetJavaWebContents(); |
| 299 } | 296 } |
| 300 | 297 |
| (...skipping 1269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1570 return ScopedJavaLocalRef<jobject>(); | 1567 return ScopedJavaLocalRef<jobject>(); |
| 1571 | 1568 |
| 1572 return view->GetJavaObject(); | 1569 return view->GetJavaObject(); |
| 1573 } | 1570 } |
| 1574 | 1571 |
| 1575 bool RegisterContentViewCore(JNIEnv* env) { | 1572 bool RegisterContentViewCore(JNIEnv* env) { |
| 1576 return RegisterNativesImpl(env); | 1573 return RegisterNativesImpl(env); |
| 1577 } | 1574 } |
| 1578 | 1575 |
| 1579 } // namespace content | 1576 } // namespace content |
| OLD | NEW |