 Chromium Code Reviews
 Chromium Code Reviews Issue 2218623003:
  Remove |ContentViewCore.getViewAndroidDelegate()|  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 2218623003:
  Remove |ContentViewCore.getViewAndroidDelegate()|  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| 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..fa39690ab1e098bb19b2f1d9345e9a9c98375efd 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)); | 
| + // Verify that no anchor view is transferred between mContainerViews | 
| 
boliu
2016/08/08 05:36:55
don't change comment
 
Jinsuk Kim
2016/08/10 00:06:39
Done.
 | 
| + 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); | 
| + // Replace mContainerView | 
| 
boliu
2016/08/08 05:36:55
ditto
 
Jinsuk Kim
2016/08/10 00:06:39
Done.
 | 
| + 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(); | 
| - } | 
| } |