Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2066)

Unified Diff: android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java

Issue 2218623003: Remove |ContentViewCore.getViewAndroidDelegate()| (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java
index 0e2c68dc738ecc3e537d42cac8f1add663b9c054..c688b39cbfaad577acff4250c7738a72cc49a132 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwContentsAnchorViewTest.java
@@ -12,7 +12,7 @@ import android.widget.FrameLayout;
import org.chromium.android_webview.AwViewAndroidDelegate;
import org.chromium.base.test.util.Feature;
-import org.chromium.ui.base.ViewAndroidDelegate;
+import org.chromium.content.browser.RenderCoordinates;
import org.chromium.ui.gfx.DeviceDisplayInfo;
/**
@@ -20,23 +20,65 @@ import org.chromium.ui.gfx.DeviceDisplayInfo;
*/
public class AwContentsAnchorViewTest extends AwTestBase {
- private TestAwContentsClient mContentsClient = new TestAwContentsClient();
+ private FrameLayout mContainerView;
+ private AwViewAndroidDelegate mViewDelegate;
+
+ @Override
+ public void setUp() throws Exception {
+ super.setUp();
+ mContainerView = new FrameLayout(getActivity());
+ mViewDelegate = new AwViewAndroidDelegate(mContainerView, new RenderCoordinates());
+ }
+
+ @Feature({"AndroidWebView"})
+ @SmallTest
+ @UiThreadTest
+ public void testAddAndRemoveAnchorViews() {
+ // Add 2 anchor views
+ View anchorView1 = addAnchorView();
+ View anchorView2 = addAnchorView();
+
+ // Remove anchorView1
+ removeAnchorView(anchorView1);
+
+ // Try to remove anchorView1 again; no-op.
+ removeAnchorView(anchorView1);
+
+ // Remove anchorView2
+ removeAnchorView(anchorView2);
+ }
+
+ @Feature({"AndroidWebView"})
+ @SmallTest
+ @UiThreadTest
+ public void testAddAndMoveAnchorView() {
+ // Add anchorView and set layout params
+ View anchorView = addAnchorView();
+ LayoutParams originalLayoutParams = setLayoutParams(anchorView, 0, 0);
+
+ // Move it
+ LayoutParams updatedLayoutParams = setLayoutParams(anchorView, 1, 2);
+ assertFalse(areEqual(originalLayoutParams, updatedLayoutParams));
+
+ // Move it back to the original position
+ updatedLayoutParams = setLayoutParams(anchorView, 0, 0);
+ assertTrue(areEqual(originalLayoutParams, updatedLayoutParams));
+ }
@Feature({"AndroidWebView"})
@SmallTest
@UiThreadTest
public void testMovedAndRemovedAnchorViewIsNotTransferred() throws Throwable {
// Add, move and remove anchorView
- AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient);
- View anchorView = addAnchorView(containerView);
- setLayoutParams(containerView, anchorView, 1, 2);
- removeAnchorView(containerView, anchorView);
+ View anchorView = addAnchorView();
+ setLayoutParams(anchorView, 1, 2);
+ removeAnchorView(anchorView);
// Replace container view
- FrameLayout updatedContainerView = updateContainerView(containerView);
+ FrameLayout updatedContainerView = updateContainerView();
// Verify that no anchor view is transferred between containerViews
- assertFalse(isViewInContainer(containerView, anchorView));
+ assertFalse(isViewInContainer(mContainerView, anchorView));
assertFalse(isViewInContainer(updatedContainerView, anchorView));
}
@@ -45,14 +87,13 @@ public class AwContentsAnchorViewTest extends AwTestBase {
@UiThreadTest
public void testTransferAnchorView() throws Throwable {
// Add anchor view
- AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient);
- View anchorView = addAnchorView(containerView);
+ View anchorView = addAnchorView();
LayoutParams layoutParams = anchorView.getLayoutParams();
// Replace container view
- FrameLayout updatedContainerView = updateContainerView(containerView);
+ FrameLayout updatedContainerView = updateContainerView();
verifyAnchorViewCorrectlyTransferred(
- containerView, anchorView, updatedContainerView, layoutParams);
+ mContainerView, anchorView, updatedContainerView, layoutParams);
}
@Feature({"AndroidWebView"})
@@ -60,15 +101,14 @@ public class AwContentsAnchorViewTest extends AwTestBase {
@UiThreadTest
public void testTransferMovedAnchorView() throws Throwable {
// Add anchor view and move it
- AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient);
- View anchorView = addAnchorView(containerView);
- LayoutParams layoutParams = setLayoutParams(containerView, anchorView, 1, 2);
+ View anchorView = addAnchorView();
+ LayoutParams layoutParams = setLayoutParams(anchorView, 1, 2);
// Replace container view
- FrameLayout updatedContainerView = updateContainerView(containerView);
+ FrameLayout updatedContainerView = updateContainerView();
verifyAnchorViewCorrectlyTransferred(
- containerView, anchorView, updatedContainerView, layoutParams);
+ mContainerView, anchorView, updatedContainerView, layoutParams);
}
@Feature({"AndroidWebView"})
@@ -76,16 +116,15 @@ public class AwContentsAnchorViewTest extends AwTestBase {
@UiThreadTest
public void testRemoveTransferedAnchorView() throws Throwable {
// Add anchor view
- AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient);
- View anchorView = addAnchorView(containerView);
+ View anchorView = addAnchorView();
// Replace container view
- FrameLayout updatedContainerView = updateContainerView(containerView);
+ FrameLayout updatedContainerView = updateContainerView();
- verifyAnchorViewCorrectlyTransferred(containerView, anchorView, updatedContainerView);
+ verifyAnchorViewCorrectlyTransferred(mContainerView, anchorView, updatedContainerView);
// Remove transferred anchor view
- removeAnchorView(containerView, anchorView);
+ removeAnchorView(anchorView);
}
@Feature({"AndroidWebView"})
@@ -93,18 +132,17 @@ public class AwContentsAnchorViewTest extends AwTestBase {
@UiThreadTest
public void testMoveTransferedAnchorView() throws Throwable {
// Add anchor view
- AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient);
- View anchorView = addAnchorView(containerView);
+ View anchorView = addAnchorView();
LayoutParams layoutParams = anchorView.getLayoutParams();
// Replace container view
- FrameLayout updatedContainerView = updateContainerView(containerView);
+ FrameLayout updatedContainerView = updateContainerView();
verifyAnchorViewCorrectlyTransferred(
- containerView, anchorView, updatedContainerView, layoutParams);
+ mContainerView, anchorView, updatedContainerView, layoutParams);
// Move transferred anchor view
- assertFalse(areEqual(layoutParams, setLayoutParams(containerView, anchorView, 1, 2)));
+ assertFalse(areEqual(layoutParams, setLayoutParams(anchorView, 1, 2)));
}
@Feature({"AndroidWebView"})
@@ -112,50 +150,47 @@ public class AwContentsAnchorViewTest extends AwTestBase {
@UiThreadTest
public void testTransferMultipleMovedAnchorViews() throws Throwable {
// Add and move anchorView1
- AwTestContainerView containerView = createAwTestContainerViewOnMainSync(mContentsClient);
- View anchorView1 = addAnchorView(containerView);
- LayoutParams layoutParams1 = setLayoutParams(containerView, anchorView1, 1, 2);
+ View anchorView1 = addAnchorView();
+ LayoutParams layoutParams1 = setLayoutParams(anchorView1, 1, 2);
// Add and move anchorView2
- View anchorView2 = addAnchorView(containerView);
- LayoutParams layoutParams2 = setLayoutParams(containerView, anchorView2, 2, 4);
+ View anchorView2 = addAnchorView();
+ LayoutParams layoutParams2 = setLayoutParams(anchorView2, 2, 4);
// Replace containerView
- FrameLayout updatedContainerView = updateContainerView(containerView);
+ FrameLayout updatedContainerView = updateContainerView();
// Verify that anchor views are transfered with the same layout params.
- assertFalse(isViewInContainer(containerView, anchorView1));
- assertFalse(isViewInContainer(containerView, anchorView2));
+ assertFalse(isViewInContainer(mContainerView, anchorView1));
+ assertFalse(isViewInContainer(mContainerView, anchorView2));
assertTrue(isViewInContainer(updatedContainerView, anchorView1));
assertTrue(isViewInContainer(updatedContainerView, anchorView2));
assertTrue(areEqual(layoutParams1, anchorView1.getLayoutParams()));
assertTrue(areEqual(layoutParams2, anchorView2.getLayoutParams()));
}
- private static View addAnchorView(AwTestContainerView containerView) {
- View anchorView = getViewDelegate(containerView).acquireView();
- assertTrue(isViewInContainer(containerView, anchorView));
+ private View addAnchorView() {
+ View anchorView = mViewDelegate.acquireView();
+ assertTrue(isViewInContainer(mContainerView, anchorView));
return anchorView;
}
- private static void removeAnchorView(AwTestContainerView containerView, View anchorView) {
- getViewDelegate(containerView).removeView(anchorView);
- assertFalse(isViewInContainer(containerView, anchorView));
+ private void removeAnchorView(View anchorView) {
+ mViewDelegate.removeView(anchorView);
+ assertFalse(isViewInContainer(mContainerView, anchorView));
}
- private static LayoutParams setLayoutParams(AwTestContainerView containerView, View anchorView,
- int coords, int dimension) {
- ViewAndroidDelegate delegate = getViewDelegate(containerView);
- float scale = (float) DeviceDisplayInfo.create(containerView.getContext()).getDIPScale();
- delegate.setViewPosition(anchorView, coords, coords, dimension, dimension, scale, 10, 10);
+ private LayoutParams setLayoutParams(View anchorView, int coords, int dimension) {
+ float scale = (float) DeviceDisplayInfo.create(mContainerView.getContext()).getDIPScale();
+ mViewDelegate.setViewPosition(
+ anchorView, coords, coords, dimension, dimension, scale, 10, 10);
return anchorView.getLayoutParams();
}
- private FrameLayout updateContainerView(AwTestContainerView oldContainerView) {
+ private FrameLayout updateContainerView() throws InterruptedException {
FrameLayout containerView = new FrameLayout(getActivity());
getActivity().addView(containerView);
- AwViewAndroidDelegate delegate = (AwViewAndroidDelegate) getViewDelegate(oldContainerView);
- delegate.updateCurrentContainerView(containerView);
+ mViewDelegate.updateCurrentContainerView(containerView);
return containerView;
}
@@ -179,8 +214,4 @@ public class AwContentsAnchorViewTest extends AwTestBase {
private static boolean isViewInContainer(FrameLayout containerView, View view) {
return containerView.indexOfChild(view) != -1;
}
-
- private static ViewAndroidDelegate getViewDelegate(AwTestContainerView containerView) {
- return containerView.getAwContents().getContentViewCore().getViewAndroidDelegate();
- }
}

Powered by Google App Engine
This is Rietveld 408576698