Home | History | Annotate | Download | only in android
      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