Chromium Code Reviews| Index: ui/android/view_root.cc |
| diff --git a/ui/android/view_root.cc b/ui/android/view_root.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..fade63bfaa99d97940918de406dc31278adf2c02 |
| --- /dev/null |
| +++ b/ui/android/view_root.cc |
| @@ -0,0 +1,75 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "ui/android/view_root.h" |
| + |
| +#include <jni.h> |
| +#include <string> |
| +#include <vector> |
| + |
| +#include "base/android/jni_weak_ref.h" |
| +#include "base/android/scoped_java_ref.h" |
| +#include "base/macros.h" |
| +#include "base/observer_list.h" |
| +#include "base/time/time.h" |
| +#include "jni/ViewRoot_jni.h" |
| +#include "ui/android/ui_android_export.h" |
| +#include "ui/android/view_android.h" |
| +#include "ui/gfx/geometry/vector2d_f.h" |
| + |
| +namespace ui { |
| + |
| +using base::android::JavaParamRef; |
| +using base::android::JavaRef; |
| +using base::android::ScopedJavaLocalRef; |
| + |
| +ViewRoot::ViewRoot(JNIEnv* env, |
| + const base::android::JavaParamRef<jobject>& obj, |
|
boliu
2017/01/05 19:09:29
don't these two params? then remember to mark cons
Jinsuk Kim
2017/01/05 22:30:16
Done.
|
| + jlong jwindow_android) { |
|
boliu
2017/01/05 19:09:29
nit: j prefix usually means a java type, that's no
Jinsuk Kim
2017/01/05 22:30:16
Done.
|
| + WindowAndroid* window_android = |
| + reinterpret_cast<WindowAndroid*>(jwindow_android); |
| + window_ = window_android; |
| +} |
| + |
| +void ViewRoot::Destroy(JNIEnv* env, |
| + const base::android::JavaParamRef<jobject>& obj) { |
| + delete this; |
| +} |
| + |
| +ViewAndroid* ViewRoot::GetViewRoot() { |
| + return this; |
| +} |
| + |
| +WindowAndroid* ViewRoot::GetWindowAndroid() const { |
| + return window_; |
| +} |
| + |
| +// static |
| +void ViewRoot::OnPhysicalBackingSizeChanged(JNIEnv* env, |
| + const JavaParamRef<jobject>& jobj, |
| + int width, |
| + int height) { |
| + OnPhysicalBackingSizeChangedInternal(width, height); |
| +} |
| + |
| +// static |
| +ViewRoot* ViewRoot::FromJavaObject(JNIEnv* env, |
| + const JavaParamRef<jobject>& obj) { |
| + if (obj.is_null()) |
| + return nullptr; |
| + return reinterpret_cast<ViewRoot*>(Java_ViewRoot_getNativePtr(env, obj)); |
| +} |
| + |
| +// static |
| +jlong Init(JNIEnv* env, |
| + const JavaParamRef<jobject>& obj, |
| + jlong window_android) { |
| + return reinterpret_cast<intptr_t>(new ViewRoot(env, obj, window_android)); |
| +} |
| + |
| +bool RegisterViewRoot(JNIEnv* env) { |
| + return RegisterNativesImpl(env); |
| +} |
| + |
| +} // namespace ui |