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

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

Issue 23899004: Use contents size for android_webview layout. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 3 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/AndroidViewIntegrationTest.java
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AndroidViewIntegrationTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/AndroidViewIntegrationTest.java
index 023dc46896d400891bad5732884d361c629bd030..512a50a5ae303ff63d4a9dc36cf59e1305844986 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AndroidViewIntegrationTest.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AndroidViewIntegrationTest.java
@@ -251,7 +251,7 @@ public class AndroidViewIntegrationTest extends AwTestBase {
@SmallTest
@Feature({"AndroidWebView"})
- public void testPreferredSizeUpdateWhenDetached() throws Throwable {
+ public void testSizeUpdateWhenDetached() throws Throwable {
final TestAwContentsClient contentsClient = new TestAwContentsClient();
final AwTestContainerView testContainerView = createDetachedTestContainerViewOnMainSync(
contentsClient);
@@ -274,6 +274,35 @@ public class AndroidViewIntegrationTest extends AwTestBase {
@SmallTest
@Feature({"AndroidWebView"})
+ public void testAbsolutePositionContributesToContentSize() throws Throwable {
+ final TestAwContentsClient contentsClient = new TestAwContentsClient();
+ final AwTestContainerView testContainerView = createDetachedTestContainerViewOnMainSync(
+ contentsClient);
+ assertZeroHeight(testContainerView);
+
+ final int widthCss = 142;
+ final int heightCss = 180;
+
+ final String htmlData = CommonResources.makeHtmlPageFrom(
+ "<style type=\"text/css\">" +
+ "body { margin:0px; padding:0px; } " +
+ "div { " +
+ "position: absolute; " +
+ "width:" + widthCss + "px; " +
+ "height:" + heightCss + "px; " +
+ "background-color: red; " +
+ "} " +
+ "</style>", "<div>a</div>");
+
+ final int contentSizeChangeCallCount = mOnContentSizeChangedHelper.getCallCount();
+ loadDataAsync(testContainerView.getAwContents(), htmlData, "text/html", false);
+
+ waitForContentSizeToChangeTo(mOnContentSizeChangedHelper, contentSizeChangeCallCount,
+ widthCss, heightCss);
+ }
+
+ @SmallTest
+ @Feature({"AndroidWebView"})
public void testViewSizedCorrectlyInWrapContentMode() throws Throwable {
final TestAwContentsClient contentsClient = new TestAwContentsClient();
final AwTestContainerView testContainerView = createCustomTestContainerViewOnMainSync(
@@ -312,16 +341,18 @@ public class AndroidViewIntegrationTest extends AwTestBase {
final int contentWidthCss = 142;
final int contentHeightCss = 180;
+
+ final int expectedWidthCss = (int) (getRootLayoutWidthOnMainThread() / deviceDIPScale);
final int expectedHeightCss = contentHeightCss +
// The second div in the contents is styled to have 150% of the viewport height, hence
// the 1.5.
(int) (AwLayoutSizer.FIXED_LAYOUT_HEIGHT * 1.5);
loadPageOfSizeAndWaitForSizeChange(testContainerView.getAwContents(),
- mOnContentSizeChangedHelper, contentWidthCss, contentHeightCss, true);
+ mOnContentSizeChangedHelper, expectedWidthCss, contentHeightCss, true);
waitForNoLayoutsPending();
- assertEquals(contentWidthCss, mOnContentSizeChangedHelper.getWidth());
+ assertEquals(expectedWidthCss, mOnContentSizeChangedHelper.getWidth());
assertEquals(expectedHeightCss, mOnContentSizeChangedHelper.getHeight());
}
}

Powered by Google App Engine
This is Rietveld 408576698