Chromium Code Reviews| Index: ui/android/java/src/org/chromium/ui/base/ViewAndroid.java |
| diff --git a/ui/android/java/src/org/chromium/ui/base/ViewAndroid.java b/ui/android/java/src/org/chromium/ui/base/ViewAndroid.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5d383a0d2079d0431c06a5c04ec1fb4c5a8d3220 |
| --- /dev/null |
| +++ b/ui/android/java/src/org/chromium/ui/base/ViewAndroid.java |
| @@ -0,0 +1,52 @@ |
| +// Copyright 2016 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. |
| + |
| +package org.chromium.ui.base; |
| + |
| +import android.content.Context; |
| +import android.view.View; |
| + |
| +import org.chromium.base.annotations.CalledByNative; |
| +import org.chromium.base.annotations.JNINamespace; |
| + |
| +/** |
| +* Java counterpart for native ViewAndroid. |
| +*/ |
| +@JNINamespace("ui") |
| +public class ViewAndroid { |
| + |
| + private final Context mContext; |
| + private final ViewAndroidDelegate mViewDelegate; |
|
no sievers
2016/07/14 23:14:32
Do you think it's possible to not have this class
Jinsuk Kim
2016/07/15 05:46:26
I'm not sure... ViewAndroidDelegate can be overrid
no sievers
2016/07/15 18:35:00
I think that would call the correct overloaded fun
Jinsuk Kim
2016/07/18 06:45:46
Done. I tried to annotate the overriden methods of
|
| + |
| + private ViewAndroid(Context context, ViewAndroidDelegate delegate) { |
|
no sievers
2016/07/14 23:14:32
You can actually get the right context from Window
Jinsuk Kim
2016/07/15 05:46:26
Nice! Removed the context passed from ContentViewC
|
| + mContext = context; |
| + mViewDelegate = delegate; |
| + } |
| + |
| + @CalledByNative |
| + private static ViewAndroid create(Context context, ViewAndroidDelegate delegate) { |
| + return new ViewAndroid(context, delegate); |
| + } |
| + |
| + @CalledByNative |
| + private View acquireAnchorView() { |
| + View anchorView = new View(mContext); |
| + mViewDelegate.addView(anchorView); |
| + return anchorView; |
| + } |
| + |
| + @CalledByNative |
| + private void setAnchorViewPosition(View anchorView, float x, float y, float width, float height, |
| + float scale, int leftMargin, int topMargin) { |
| + if (width > 0.f && height > 0.f) { |
| + mViewDelegate.setViewPosition(anchorView, x, y, width, height, scale, leftMargin, |
| + topMargin); |
| + } |
| + } |
| + |
| + @CalledByNative |
| + private void removeAnchorView(View anchorView) { |
| + mViewDelegate.removeView(anchorView); |
| + } |
| +} |