1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef UI_BASE_ANDROID_VIEW_ANDROID_H_ 6 #define UI_BASE_ANDROID_VIEW_ANDROID_H_ 7 8 #include <jni.h> 9 #include "base/android/jni_weak_ref.h" 10 #include "base/android/scoped_java_ref.h" 11 #include "ui/base/ui_base_export.h" 12 13 namespace ui { 14 15 class WindowAndroid; 16 17 // This class is the native counterpart for ViewAndroid. It is owned by the 18 // Java ViewAndroid object. 19 class UI_BASE_EXPORT ViewAndroid { 20 public: 21 ViewAndroid(JNIEnv* env, jobject obj, WindowAndroid* window); 22 23 void Destroy(JNIEnv* env, jobject obj); 24 25 WindowAndroid* GetWindowAndroid(); 26 27 base::android::ScopedJavaLocalRef<jobject> GetJavaObject(); 28 29 static bool RegisterViewAndroid(JNIEnv* env); 30 31 private: 32 ~ViewAndroid(); 33 JavaObjectWeakGlobalRef weak_java_view_; 34 WindowAndroid* window_android_; 35 36 DISALLOW_COPY_AND_ASSIGN(ViewAndroid); 37 }; 38 39 } // namespace ui 40 41 #endif // UI_BASE_ANDROID_VIEW_ANDROID_H_ 42