1// Copyright (c) 2012 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#include "ui/android/window_android.h" 6 7#include "base/android/jni_android.h" 8#include "base/android/jni_helper.h" 9#include "base/android/scoped_java_ref.h" 10#include "jni/WindowAndroid_jni.h" 11 12namespace ui { 13 14using base::android::AttachCurrentThread; 15using base::android::ScopedJavaLocalRef; 16 17WindowAndroid::WindowAndroid(JNIEnv* env, jobject obj) 18 : weak_java_window_(env, obj) { 19} 20 21void WindowAndroid::Destroy(JNIEnv* env, jobject obj) { 22 delete this; 23} 24 25ScopedJavaLocalRef<jobject> WindowAndroid::GetJavaObject() { 26 return weak_java_window_.get(AttachCurrentThread()); 27} 28 29bool WindowAndroid::RegisterWindowAndroid(JNIEnv* env) { 30 return RegisterNativesImpl(env); 31} 32 33WindowAndroid::~WindowAndroid() { 34} 35 36// ---------------------------------------------------------------------------- 37// Native JNI methods 38// ---------------------------------------------------------------------------- 39 40jint Init(JNIEnv* env, jobject obj) { 41 WindowAndroid* window = new WindowAndroid(env, obj); 42 return reinterpret_cast<jint>(window); 43} 44 45} // namespace ui 46