Sync web-platform-tests/css/css-overflow from upstream
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Oct 2019 19:22:17 +0000 (19:22 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 7 Oct 2019 19:22:17 +0000 (19:22 +0000)
https://bugs.webkit.org/show_bug.cgi?id=202635

Patch by Alexey Shvayka <shvaikalesh@gmail.com> on 2019-10-07
Reviewed by Youenn Fablet.

Sync web-platform-tests/css/css-overflow from upstream 819a234d3dd3.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/css/css-overflow/*: Added.

LayoutTests:

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250783 268f45cc-cd09-0410-ab3c-d52691b4dbfc

138 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/import-expectations.json
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/META.yml [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-invalid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-invalid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-valid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-valid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-invalid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-invalid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-valid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-valid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-invalid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-invalid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-valid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-valid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-invalid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-invalid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-valid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-valid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-invalid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-invalid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-valid-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-valid.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-003-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-003.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-004-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-004.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-015-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-015.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-019-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-019.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-022-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-022.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-023-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-023.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html [new file with mode: 0644]

index 1a6a2f7..c844517 100644 (file)
@@ -1,3 +1,14 @@
+2019-10-07  Alexey Shvayka  <shvaikalesh@gmail.com>
+
+        Sync web-platform-tests/css/css-overflow from upstream
+        https://bugs.webkit.org/show_bug.cgi?id=202635
+
+        Reviewed by Youenn Fablet.
+
+        Sync web-platform-tests/css/css-overflow from upstream 819a234d3dd3.
+
+        * TestExpectations:
+
 2019-10-07  Chris Dumez  <cdumez@apple.com>
 
         PendingImageBitmap should not prevent entering the back/forward cache
index d4a6a90..a708729 100644 (file)
@@ -3574,6 +3574,32 @@ imported/w3c/web-platform-tests/css/css-pseudo/first-letter-property-whitelist.h
 imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.html [ Pass Failure ]
 imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker.html [ Pass Failure ]
 
+# Initial failures on the import of css-overflow
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html [ ImageOnlyFailure ]
+imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html [ ImageOnlyFailure ]
+
 webkit.org/b/175609 imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getAll.html [ Pass Failure ]
 webkit.org/b/175609 imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_getKey.html [ Pass Failure ]
 webkit.org/b/175609 imported/w3c/web-platform-tests/IndexedDB/idbindex_getAllKeys.html [ Pass Failure ]
index 9d4dc08..98d5db2 100644 (file)
@@ -1,3 +1,15 @@
+2019-10-07  Alexey Shvayka  <shvaikalesh@gmail.com>
+
+        Sync web-platform-tests/css/css-overflow from upstream
+        https://bugs.webkit.org/show_bug.cgi?id=202635
+
+        Reviewed by Youenn Fablet.
+
+        Sync web-platform-tests/css/css-overflow from upstream 819a234d3dd3.
+
+        * resources/import-expectations.json:
+        * web-platform-tests/css/css-overflow/*: Added.
+
 2019-10-07  Chris Lord  <clord@igalia.com>
 
         Import OffscreenCanvas Web Platform Tests
index d115fd4..c5978b0 100644 (file)
@@ -74,6 +74,7 @@
     "web-platform-tests/css/css-lists/": "import", 
     "web-platform-tests/css/css-logical": "import", 
     "web-platform-tests/css/css-multicol": "import", 
+    "web-platform-tests/css/css-overflow": "import", 
     "web-platform-tests/css/css-overscroll-behavior": "import", 
     "web-platform-tests/css/css-properties-values-api": "import", 
     "web-platform-tests/css/css-pseudo": "import", 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/META.yml b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/META.yml
new file mode 100644 (file)
index 0000000..b9ba7ac
--- /dev/null
@@ -0,0 +1,5 @@
+spec: https://drafts.csswg.org/css-overflow/
+suggested_reviewers:
+  - frivoal
+  - dbaron
+  - rachelandrew
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform-expected.html
new file mode 100644 (file)
index 0000000..82fcaa3
--- /dev/null
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
+<p>Test passes if there is a filled green square.</p>
+<div style="width:100px; height:100px; background:green;"></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform.html
new file mode 100644 (file)
index 0000000..6024b72
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#scrollable">
+<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
+<style>
+.container {
+  background: green;
+  width: 100px;
+  height: 100px;
+  overflow: auto;
+}
+.float {
+  float: left;
+  position: relative;
+  width: 50px;
+  height: 50px;
+  top: calc(50% - 100vh);
+  transform: translateY(-50%) translateY(100vh);
+}
+</style>
+<p>Test passes if there is a filled green square.</p>
+<div class="container">
+  <div class="float"></div>
+</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance-expected.txt
new file mode 100644 (file)
index 0000000..422d788
--- /dev/null
@@ -0,0 +1,18 @@
+
+PASS Property block-ellipsis has initial value none 
+PASS Property block-ellipsis inherits 
+PASS Property continue has initial value auto 
+PASS Property continue does not inherit 
+PASS Property max-lines has initial value none 
+PASS Property max-lines does not inherit 
+PASS Property overflow-block has initial value visible 
+PASS Property overflow-block does not inherit 
+PASS Property overflow-inline has initial value visible 
+PASS Property overflow-inline does not inherit 
+PASS Property overflow-x has initial value visible 
+PASS Property overflow-x does not inherit 
+PASS Property overflow-y has initial value visible 
+PASS Property overflow-y does not inherit 
+PASS Property text-overflow has initial value clip 
+PASS Property text-overflow does not inherit 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance.html
new file mode 100644 (file)
index 0000000..976406b
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>Inheritance of CSS Overflow properties</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#property-index">
+<meta name="assert" content="Properties inherit or not according to the spec.">
+<meta name="assert" content="Properties have initial values according to the spec.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/inheritance-testcommon.js"></script>
+</head>
+<body>
+<div id="container">
+  <div id="target"></div>
+</div>
+<script>
+assert_inherited('block-ellipsis', 'none', 'auto');
+assert_not_inherited('continue', 'auto', 'discard');
+assert_not_inherited('max-lines', 'none', '2');
+assert_not_inherited('overflow-block', 'visible', 'scroll');
+assert_not_inherited('overflow-inline', 'visible', 'scroll');
+assert_not_inherited('overflow-x', 'visible', 'scroll');
+assert_not_inherited('overflow-y', 'visible', 'scroll');
+assert_not_inherited('text-overflow', 'clip', 'ellipsis');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001-expected.html
new file mode 100644 (file)
index 0000000..d7125ee
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Basic User Interface Reference File</title>
+<link rel="author" title="Boaz Sender, Ali Juma, Robert Ma">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+input {
+  font-family: Ahem;
+  width: 100px;
+  margin: 0px;
+  border: 1px solid black;
+  height: 30px;
+  padding: 0px 10px;
+  font-size: 18px;
+  box-sizing: border-box;
+  line-height: 1;
+}
+
+</style>
+<body>
+  <input type="text" value="foo">
+</body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001.html
new file mode 100644 (file)
index 0000000..96fedfe
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Input Text Padding and Overflow: css-overflow-3</title>
+<link rel="author" title="Boaz Sender, Ali Juma, Robert Ma">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#scrollable">
+<link rel="match" href="reference/input-scrollable-region-001-ref.html">
+<meta name="assert" content="input text is preserved when the (input height
+                             minus the input padding minus the input border) is
+                             smaller than the height of the text">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+input {
+  font-family: Ahem;
+  width: 100px;
+  margin: 0px;
+  border: 1px solid black;
+  height: 30px;
+  padding: 10px;
+  font-size: 18px;
+  box-sizing: border-box;
+  line-height: 1;
+}
+
+</style>
+<body>
+  <input type="text" value="foo">
+</body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001-expected.txt
new file mode 100644 (file)
index 0000000..45ca1b3
--- /dev/null
@@ -0,0 +1,4 @@
+
+FAIL overflow-x matches overflow-inline, and overflow-y matches overflow-block when the element has a horizontal writing mode assert_equals: expected "scroll" but got "visible"
+FAIL overflow-y matches overflow-inline, and overflow-x matches overflow-block when the element has a vertical writing mode assert_equals: expected "hidden" but got "visible"
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001.html
new file mode 100644 (file)
index 0000000..15bf57f
--- /dev/null
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow Test: flow-relative versions of overflow-x and -y</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#logical">
+<link rel="help" href="https://drafts.csswg.org/css-logical/#box">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+#d1, #d2 {
+  overflow-block: hidden;
+  overflow-inline: scroll
+}
+#d1 {
+  writing-mode: horizontal-tb;
+}
+#d2 {
+  writing-mode: vertical-rl;
+}
+
+</style>
+<body>
+  <div id="log"></div>
+
+  <div id=d1></div>
+  <div id=d2></div>
+
+  <script>
+    test(
+      function(){
+        var target = document.getElementById("d1");
+        assert_equals(getComputedStyle(target).overflowX, "scroll");
+        assert_equals(getComputedStyle(target).overflowY, "hidden");
+      }, "overflow-x matches overflow-inline, and overflow-y matches overflow-block when the element has a horizontal writing mode");
+    test(
+      function(){
+        var target = document.getElementById("d2");
+        assert_equals(getComputedStyle(target).overflowX, "hidden");
+        assert_equals(getComputedStyle(target).overflowY, "scroll");
+      }, "overflow-y matches overflow-inline, and overflow-x matches overflow-block when the element has a vertical writing mode");
+  </script>
+</body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin-expected.txt
new file mode 100644 (file)
index 0000000..553f3fe
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS Only trailing *block* margins should affect overflow 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin.html
new file mode 100644 (file)
index 0000000..534dff9
--- /dev/null
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<title>Scrollable container with orthogonal writing-mode child with inline-end margin</title>
+<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
+<link rel="help" href="https://www.w3.org/TR/CSS22/visufx.html#propdef-overflow">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="container" style="writing-mode:vertical-rl; overflow:auto; width:100px; height:100px;">
+  <div style="writing-mode:horizontal-tb; width:100px; height:100px; margin-bottom:200px;"></div>
+</div>
+<script>
+  test(function() {
+    var container = document.getElementById("container");
+    assert_equals(container.scrollWidth, 100);
+    assert_equals(container.scrollHeight, 100);
+  }, "Only trailing *block* margins should affect overflow");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform-expected.txt
new file mode 100644 (file)
index 0000000..edefe7c
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS #target used transform when computing scroll overflow 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform.html
new file mode 100644 (file)
index 0000000..03cf007
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<title>CSS Overflow and Transforms: css-overflow-3</title>
+<link rel="author" title="mailto:atotic@google.com">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#scrollable">
+<meta name="assert" content="css transform is used to compute scroll overflow of abspos children">
+<style>
+  #container {
+    position: relative;
+    overflow: auto;
+    width: 200px;
+    height: 200px;
+  }
+  #target {
+    position: absolute;
+    width: 150px;
+    height: 150px;
+    margin-left: 100px;
+    transform: translateX(-100px);
+    background: green;
+  }
+</style>
+<!--  There should be no scrollbars on this page  -->
+<div id="container">
+  <div id="target"></div>
+</div>
+<script>
+  test(() => {
+    assert_equals(document.querySelector("#container").scrollWidth, 200);
+  }, '#target used transform when computing scroll overflow');
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001-expected.html
new file mode 100644 (file)
index 0000000..340bda9
--- /dev/null
@@ -0,0 +1,5 @@
+<!doctype html>
+<html style="overflow:scroll">
+<title>CSS Overflow Test Reference</title>
+<body style="margin-top:100px">The viewport should have scrollbars, not the body.</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001.html
new file mode 100644 (file)
index 0000000..0998fe6
--- /dev/null
@@ -0,0 +1,12 @@
+<!doctype html>
+<title>CSS Overflow Test: Propagation of body overflow to viewport</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#overflow-propagation">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/pull/4148">
+<link rel="match" href="reference/overflow-body-propagation-ref.html">
+<style>
+  body {
+    overflow: scroll;
+    margin-top: 100px;
+  }
+</style>
+<body>The viewport should have scrollbars, not the body.</body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002-expected.html
new file mode 100644 (file)
index 0000000..4c2d469
--- /dev/null
@@ -0,0 +1,3 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<!--  Intentionally blank  -->
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002.html
new file mode 100644 (file)
index 0000000..5991dd5
--- /dev/null
@@ -0,0 +1,6 @@
+<!doctype html>
+<title>CSS Overflow Test: Do not propagate overflow of display:none body to viewport</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#overflow-propagation">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/pull/4148">
+<link rel="match" href="/css/reference/blank.html">
+<body style="display:none; overflow:scroll"></body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003-expected.html
new file mode 100644 (file)
index 0000000..4c2d469
--- /dev/null
@@ -0,0 +1,3 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<!--  Intentionally blank  -->
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003.html
new file mode 100644 (file)
index 0000000..a329a8d
--- /dev/null
@@ -0,0 +1,6 @@
+<!doctype html>
+<title>CSS Overflow Test: Do not propagate overflow of display:contents body to viewport</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#overflow-propagation">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/pull/4148">
+<link rel="match" href="/css/reference/blank.html">
+<body style="display:contents; overflow:scroll"></body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004-expected.html
new file mode 100644 (file)
index 0000000..9795d1f
--- /dev/null
@@ -0,0 +1,5 @@
+<!doctype html>
+<html style="overflow:auto">
+<title>CSS Overflow Test Reference</title>
+<body style="margin-top:100px;overflow:scroll">The body should have scrollbars, not the viewport.</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004.html
new file mode 100644 (file)
index 0000000..2ed8d26
--- /dev/null
@@ -0,0 +1,14 @@
+<!doctype html>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#overflow-propagation">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/pull/4148">
+<link rel="match" href="reference/overflow-body-no-propagation-ref.html">
+<style>
+  html {
+    overflow: hidden;
+  }
+  body {
+    overflow: scroll;
+    margin-top: 100px;
+  }
+</style>
+<body>The body should have scrollbars, not the viewport.</body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars-expected.txt
new file mode 100644 (file)
index 0000000..d66d72e
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS appearance of one scrollbar caused the other scrollbar to appear. 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html
new file mode 100644 (file)
index 0000000..dbe7ec6
--- /dev/null
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<link rel="author" href="mailto:atotic@google.com">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#scrollable">
+<meta name="assert" content="What happens when appearance of one scrollbar triggers the other one?">
+<style>
+.container {
+  width: 100px;
+  height: 100px;
+  overflow: auto;
+  background: #DDD;
+  --too-big: 120px;
+  --slightly-smaller: 95px;
+}
+.target {
+  width: 120px;
+  height: 95px;
+  background: rgba(0,255,0,0.3);
+}
+</style>
+<!--    -->
+<div class="container">
+  <div class="target" style="width:var(--too-big);height:var(--slightly-smaller)" ></div>
+</div>
+<div class="container">
+  <div class="target" style="height:var(--too-big);width:var(--slightly-smaller)" ></div>
+</div>
+
+<script>
+test(() => {
+  Array.from(document.querySelectorAll(".container")).forEach( el => {
+    let verticalScrollbar = el.offsetWidth - el.clientWidth;
+    let horizontalScrollbar = el.offsetHeight - el.clientHeight;
+    assert_equals(verticalScrollbar, horizontalScrollbar, "both scrollbars are visible.");
+  });
+}, 'appearance of one scrollbar caused the other scrollbar to appear.');
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative-expected.txt
new file mode 100644 (file)
index 0000000..bf453f4
--- /dev/null
@@ -0,0 +1,4 @@
+scroll  down
+
+PASS #target used transform when computing scroll overflow 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html
new file mode 100644 (file)
index 0000000..a26aa72
--- /dev/null
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<title>CSS Overflow and Transforms: css-overflow-3</title>
+<link rel="author" title="mailto:atotic@google.com">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#scrollable">
+<meta name="assert" content="css transform is used to compute scroll overflow of inline-block children">
+<style>
+  #container {
+    border: 1px solid black;
+    width: 200px;
+    overflow: auto;
+  }
+  #target {
+    display: inline-block;
+    width: 20px;
+    height: 20px;
+    background: green;
+    position: relative;
+    top: 100px;
+    transform: translateY(80px);
+  }
+</style>
+<!-- 
+  #container should have vertical scrollbar because target is offset
+  by position:relative and transform.
+ -->
+<div id="container">
+  <span>
+    scroll
+    <div id="target"></div>
+    down
+  </span>
+</div>
+<script>
+  test(() => {
+    assert_equals(document.querySelector("#container").scrollHeight, 200);
+  }, '#target used transform when computing scroll overflow');
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding-expected.txt
new file mode 100644 (file)
index 0000000..3849437
--- /dev/null
@@ -0,0 +1,17 @@
+green blocks get scrollbars, yellow do not.
+
+Block child gets only block padding.
+
+Inline child gets block and inline padding.
+
+X  XX
+XX  X
+Inline block child gets block and inline padding.
+
+Padding applies to linebox, not linebox overflow.
+
+
+PASS Container padding is applied approriately to block/inline children. 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding.html
new file mode 100644 (file)
index 0000000..963192f
--- /dev/null
@@ -0,0 +1,113 @@
+<!doctype html>
+<link rel="author" title="Aleks Totic" href="mailto:atotic@chromium.org">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/129">
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1003373">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+.container {
+  --size: 100px;
+  --padding-size: 30px;
+  --too-big-size: calc(var(--size) - var(--padding-size) + 1px);
+  --just-right-size: calc(var(--size) - var(--padding-size));
+  overflow:auto;
+  width: var(--size);
+  height: var(--size);
+  padding-right: var(--padding-size);
+  padding-bottom: var(--padding-size);
+  background: #DDD;
+  box-sizing: border-box;
+  display: inline-block;
+}
+.big {
+  width: var(--too-big-size);
+  height: var(--too-big-size);
+  background: green;
+}
+.small {
+  width: var(--just-right-size);
+  height: var(--just-right-size);
+  background: yellow;
+}
+.bigfont {
+  font-size: var(--too-big-size);
+  font-family: Ahem;
+  line-height: 1;
+  color:green;
+}
+.smallfont {
+  font-size: var(--just-right-size);
+  font-family: Ahem;
+  line-height: 1;
+  color:yellow;
+}
+.red {
+  background:red;
+}
+
+</style>
+<body onload="runTest()">
+<p><span style="background:green">green</span> blocks get scrollbars, <span style="background:yellow">yellow</span> do not.</p>
+<p>Block child gets only block padding.</p>
+<div class="container" data-scrollbar="v">
+  <div class="big"></div>
+</div>
+<div class="container" data-scrollbar="">
+  <div class="small"></div>
+</div>
+
+<p>Inline child gets block and inline padding.</p>
+<div class="container bigfont" data-scrollbar="hv">
+  <span>X</span>
+</div>
+<div class="container" style="font:36px/1 Ahem;color:green" data-scrollbar="hv">
+  <span>XX</span><br>XX
+</div>
+<div class="container smallfont" data-scrollbar="">
+  <span>X</span>
+</div>
+
+<p>Inline block child gets block and inline padding.</p>
+<div class="container" data-scrollbar="hv">
+  <div class="big" style="display:inline-block;vertical-align:bottom;"></div>
+</div>
+<div class="container" data-scrollbar="">
+  <div class="small" style="display:inline-block;vertical-align:bottom;"></div>
+</div>
+
+<p>Padding applies to linebox, not linebox overflow.</p>
+<div class="container" data-scrollbar="">
+  <div class="small" style="display:inline-block;vertical-align:bottom">
+    <div style="height:90px;width:80px;background: rgba(0,0,255,0.3)"></div>
+  </div>
+</div>
+<script>
+  function hasHorizontalScrollbar(el) {
+    return (el.offsetHeight - el.clientHeight) > 0;
+  }
+  function hasVerticalScrollbar(el) {
+    return (el.offsetWidth - el.clientWidth) > 0;
+  }
+  // Tests needs to be run after load.
+  function runTest() {
+    test(()=> {
+      let i=0;
+      for (el of Array.from(document.querySelectorAll(".container"))) {
+        i++;
+        el.classList.toggle("red");
+        let expected = el.getAttribute("data-scrollbar");
+        if (expected.match(/h/))
+          assert_true(hasHorizontalScrollbar(el), `horizontal scrollbar ${i}`);
+        else
+          assert_false(hasHorizontalScrollbar(el), `horizontal scrollbar ${i}`);
+        if (expected.match(/v/))
+          assert_true(hasVerticalScrollbar(el), `vertical scrollbar ${i}`);
+        else
+          assert_false(hasVerticalScrollbar(el), `vertical scrollbar ${i}`);
+        el.classList.toggle("red");
+      }
+    }, "Container padding is applied approriately to block/inline children.");
+  }
+</script>
+</body>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001-expected.txt
new file mode 100644 (file)
index 0000000..8f35ddf
--- /dev/null
@@ -0,0 +1,18 @@
+
+FAIL overflow: auto auto works assert_equals: expected "auto" but got ""
+FAIL overflow: auto hidden works assert_equals: expected "auto hidden" but got ""
+FAIL overflow: auto scroll works assert_equals: expected "auto scroll" but got ""
+FAIL overflow: auto visible works assert_equals: expected "auto visible" but got ""
+FAIL overflow: hidden auto works assert_equals: expected "hidden auto" but got ""
+FAIL overflow: hidden hidden works assert_equals: expected "hidden" but got ""
+FAIL overflow: hidden scroll works assert_equals: expected "hidden scroll" but got ""
+FAIL overflow: hidden visible works assert_equals: expected "hidden visible" but got ""
+FAIL overflow: scroll auto works assert_equals: expected "scroll auto" but got ""
+FAIL overflow: scroll hidden works assert_equals: expected "scroll hidden" but got ""
+FAIL overflow: scroll scroll works assert_equals: expected "scroll" but got ""
+FAIL overflow: scroll visible works assert_equals: expected "scroll visible" but got ""
+FAIL overflow: visible auto works assert_equals: expected "visible auto" but got ""
+FAIL overflow: visible hidden works assert_equals: expected "visible hidden" but got ""
+FAIL overflow: visible scroll works assert_equals: expected "visible scroll" but got ""
+FAIL overflow: visible visible works assert_equals: expected "visible" but got ""
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001.html
new file mode 100644 (file)
index 0000000..f425636
--- /dev/null
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow Test: Overflow longhand accepts two values</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="author" title="Emilio Cobos Álvarez <emilio@crisal.io>">
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-overflow">
+<div id="test-div"></div>
+<script>
+let div = document.getElementById("test-div");
+function testOverflowShorthand(x, y) {
+  test(function() {
+    div.style.overflowX = x;
+    div.style.overflowY = y;
+
+    let expectedX = getComputedStyle(div).overflowX;
+    let expectedY = getComputedStyle(div).overflowY;
+    let expectedComputedSerialization = expectedX == expectedY ? expectedX : `${expectedX} ${expectedY}`;
+    let expectedSpecifiedSerialization = x == y ? x : `${x} ${y}`;
+
+    assert_equals(div.style.overflow, expectedSpecifiedSerialization);
+    assert_equals(getComputedStyle(div).overflow, expectedComputedSerialization);
+
+    div.style.overflowX = "";
+    div.style.overflowY = "";
+    assert_equals(div.style.overflow, "");
+
+    div.style.overflow = `${x} ${y}`;
+    assert_equals(div.style.overflow, expectedSpecifiedSerialization);
+    assert_equals(div.style.overflowX, x);
+    assert_equals(div.style.overflowY, y);
+    assert_equals(getComputedStyle(div).overflow, expectedComputedSerialization);
+    assert_equals(getComputedStyle(div).overflowX, expectedX);
+    assert_equals(getComputedStyle(div).overflowY, expectedY);
+  }, `overflow: ${x} ${y} works`);
+}
+
+let OVERFLOW_VALUES = [ "auto", "hidden", "scroll", "visible" ];
+for (let x of OVERFLOW_VALUES)
+  for (let y of OVERFLOW_VALUES)
+    testOverflowShorthand(x, y);
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding-expected.txt
new file mode 100644 (file)
index 0000000..4e664f9
--- /dev/null
@@ -0,0 +1,4 @@
+htb  htb rtl  vrl  vrl rtl  vlr  vlr rtl
+
+PASS #target did not trigger scroll overflow 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding.html
new file mode 100644 (file)
index 0000000..9e52c1a
--- /dev/null
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<title>CSS Overflow and Transforms: css-overflow-3</title>
+<link rel="author" href="mailto:atotic@google.com">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<link rel="help" href="https://www.w3.org/TR/css-overflow-3/#scrollable">
+<meta name="assert" content="blocks wholly outside padding edges should not contribute to overflow">
+<style>
+.container {
+  position: relative;
+  display: inline-block;
+  border: 5px solid rgba(0,0,0,0.5);
+  border-width: 0px 0px 50px 80px;
+  overflow: auto;
+  width: 200px;
+  height: 200px;
+  background: gray;
+}
+.target {
+  position: absolute;
+  width: 1000px;
+  height: 1000px;
+  background: red;
+}
+.htb {
+  writing-mode: horizontal-tb;
+}
+.vrl {
+  writing-mode: vertical-rl;
+}
+.vlr {
+  writing-mode: vertical-lr;
+}
+.rtl {
+  direction: rtl;
+}
+</style>
+<!--    -->
+<div class="container htb">
+  <div class="target" style="top: -1000px"></div>
+  htb
+</div>
+<div class="container htb rtl">
+  <div class="target" style="right: -1000px" ></div>
+  htb rtl
+</div>
+<div class="container vrl">
+  <div class="target" style="top: -1000px"></div>
+  vrl
+</div>
+<div class="container vrl rtl">
+  <div class="target" style="bottom: -1000px"></div>
+  vrl rtl
+</div>
+<div class="container vlr">
+  <div class="target" style="top: -1000px"></div>
+  vlr
+</div>
+<div class="container vlr rtl">
+  <div class="target" style="left: -1000px"></div>
+  vlr rtl
+</div>
+<script>
+test(() => {
+  Array.from(document.querySelectorAll(".container")).forEach( el => {
+    assert_equals(el.scrollWidth, 200);
+  });
+}, '#target did not trigger scroll overflow');
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-invalid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-invalid-expected.txt
new file mode 100644 (file)
index 0000000..41e6c23
--- /dev/null
@@ -0,0 +1,7 @@
+
+PASS e.style['block-ellipsis'] = "hidden" should not set the property value 
+PASS e.style['block-ellipsis'] = "none auto" should not set the property value 
+PASS e.style['block-ellipsis'] = "auto \"string\"" should not set the property value 
+PASS e.style['block-ellipsis'] = "\"string\" none" should not set the property value 
+PASS e.style['block-ellipsis'] = "\"first\" \"second\"" should not set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-invalid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-invalid.html
new file mode 100644 (file)
index 0000000..2b9c059
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing block-ellipsis with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-block-ellipsis">
+<meta name="assert" content="block-ellipsis supports only the grammar 'none | auto | <string>'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("block-ellipsis", 'hidden');
+
+test_invalid_value("block-ellipsis", 'none auto');
+test_invalid_value("block-ellipsis", 'auto "string"');
+test_invalid_value("block-ellipsis", '"string" none');
+test_invalid_value("block-ellipsis", '"first" "second"');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-valid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-valid-expected.txt
new file mode 100644 (file)
index 0000000..4c651dd
--- /dev/null
@@ -0,0 +1,5 @@
+
+FAIL e.style['block-ellipsis'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['block-ellipsis'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['block-ellipsis'] = "\" etc., etc. \"" should set the property value assert_not_equals: property should be set got disallowed value ""
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-valid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-valid.html
new file mode 100644 (file)
index 0000000..06148ef
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing block-ellipsis with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-block-ellipsis">
+<meta name="assert" content="block-ellipsis supports the full grammar 'none | auto | <string>'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("block-ellipsis", 'none');
+test_valid_value("block-ellipsis", 'auto');
+test_valid_value("block-ellipsis", '" etc., etc. "');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-invalid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-invalid-expected.txt
new file mode 100644 (file)
index 0000000..da001a1
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS e.style['continue'] = "none" should not set the property value 
+PASS e.style['continue'] = "auto discard" should not set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-invalid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-invalid.html
new file mode 100644 (file)
index 0000000..36e1641
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing continue with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-continue">
+<meta name="assert" content="continue supports only the grammar 'auto | discard'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("continue", 'none');
+
+test_invalid_value("continue", 'auto discard');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-valid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-valid-expected.txt
new file mode 100644 (file)
index 0000000..1b5b5f7
--- /dev/null
@@ -0,0 +1,4 @@
+
+FAIL e.style['continue'] = "auto" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['continue'] = "discard" should set the property value assert_not_equals: property should be set got disallowed value ""
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-valid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-valid.html
new file mode 100644 (file)
index 0000000..97524cf
--- /dev/null
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing continue with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-continue">
+<meta name="assert" content="continue supports the full grammar 'auto | discard'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("continue", 'auto');
+test_valid_value("continue", 'discard');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-invalid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-invalid-expected.txt
new file mode 100644 (file)
index 0000000..8fdba6d
--- /dev/null
@@ -0,0 +1,9 @@
+
+PASS e.style['line-clamp'] = "auto" should not set the property value 
+PASS e.style['line-clamp'] = "0" should not set the property value 
+PASS e.style['line-clamp'] = "-5" should not set the property value 
+PASS e.style['line-clamp'] = "\" etc., etc. \"" should not set the property value 
+PASS e.style['line-clamp'] = "none 2" should not set the property value 
+PASS e.style['line-clamp'] = "3 none" should not set the property value 
+PASS e.style['line-clamp'] = "auto 4" should not set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-invalid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-invalid.html
new file mode 100644 (file)
index 0000000..7b64e47
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing line-clamp with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-line-clamp">
+<meta name="assert" content="line-clamp supports only the grammar 'none | <integer> <‘block-ellipsis’>?'.">
+<meta name="assert" content="Zero or negative max-lines integers are invalid.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("line-clamp", 'auto');
+
+test_invalid_value("line-clamp", '0');
+test_invalid_value("line-clamp", '-5');
+
+test_invalid_value("line-clamp", '" etc., etc. "');
+
+test_invalid_value("line-clamp", 'none 2');
+test_invalid_value("line-clamp", '3 none');
+test_invalid_value("line-clamp", 'auto 4');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-valid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-valid-expected.txt
new file mode 100644 (file)
index 0000000..d034320
--- /dev/null
@@ -0,0 +1,8 @@
+
+FAIL e.style['line-clamp'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['line-clamp'] = "1" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['line-clamp'] = "6" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['line-clamp'] = "7 none" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['line-clamp'] = "8 auto" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['line-clamp'] = "9 \" etc., etc. \"" should set the property value assert_not_equals: property should be set got disallowed value ""
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-valid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-valid.html
new file mode 100644 (file)
index 0000000..735300c
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing line-clamp with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-line-clamp">
+<meta name="assert" content="line-clamp supports the full grammar 'none | <integer> <‘block-ellipsis’>?'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("line-clamp", 'none');
+
+test_valid_value("line-clamp", '1');
+test_valid_value("line-clamp", '6');
+
+test_valid_value("line-clamp", '7 none');
+test_valid_value("line-clamp", '8 auto', '8');
+test_valid_value("line-clamp", '9 " etc., etc. "');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-invalid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-invalid-expected.txt
new file mode 100644 (file)
index 0000000..885254e
--- /dev/null
@@ -0,0 +1,9 @@
+
+PASS e.style['max-lines'] = "auto" should not set the property value 
+PASS e.style['max-lines'] = "0" should not set the property value 
+PASS e.style['max-lines'] = "-5" should not set the property value 
+PASS e.style['max-lines'] = "none none" should not set the property value 
+PASS e.style['max-lines'] = "1 none" should not set the property value 
+PASS e.style['max-lines'] = "none 2" should not set the property value 
+PASS e.style['max-lines'] = "3 4" should not set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-invalid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-invalid.html
new file mode 100644 (file)
index 0000000..85fe77f
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing max-lines with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-max-lines">
+<meta name="assert" content="max-lines supports only the grammar 'none | <integer>'.">
+<meta name="assert" content="Zero or negative integers are invalid.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("max-lines", 'auto');
+test_invalid_value("max-lines", '0');
+test_invalid_value("max-lines", '-5');
+
+test_invalid_value("max-lines", 'none none');
+test_invalid_value("max-lines", '1 none');
+test_invalid_value("max-lines", 'none 2');
+test_invalid_value("max-lines", '3 4');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-valid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-valid-expected.txt
new file mode 100644 (file)
index 0000000..1622aa8
--- /dev/null
@@ -0,0 +1,5 @@
+
+FAIL e.style['max-lines'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['max-lines'] = "1" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['max-lines'] = "6" should set the property value assert_not_equals: property should be set got disallowed value ""
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-valid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-valid.html
new file mode 100644 (file)
index 0000000..f2fda80
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing max-lines with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-max-lines">
+<meta name="assert" content="max-lines supports the full grammar 'none | <integer>'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("max-lines", 'none');
+test_valid_value("max-lines", '1');
+test_valid_value("max-lines", '6');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed-expected.txt
new file mode 100644 (file)
index 0000000..1382189
--- /dev/null
@@ -0,0 +1,34 @@
+
+PASS Property overflow value 'visible' computes to 'visible' 
+PASS Property overflow value 'hidden' computes to 'hidden' 
+FAIL Property overflow value 'clip' computes to 'clip' assert_equals: expected "clip" but got "visible"
+PASS Property overflow value 'scroll' computes to 'scroll' 
+PASS Property overflow value 'auto' computes to 'auto' 
+FAIL Property overflow value 'auto auto' computes to 'auto' assert_equals: expected "auto" but got "visible"
+FAIL Property overflow value 'auto clip' computes to 'auto hidden' assert_equals: expected "auto hidden" but got "visible"
+FAIL Property overflow value 'auto visible' computes to 'auto' assert_equals: expected "auto" but got "visible"
+FAIL Property overflow value 'clip auto' computes to 'hidden auto' assert_equals: expected "hidden auto" but got "visible"
+FAIL Property overflow value 'clip clip' computes to 'clip' assert_equals: expected "clip" but got "visible"
+FAIL Property overflow value 'clip hidden' computes to 'hidden' assert_equals: expected "hidden" but got "visible"
+FAIL Property overflow value 'clip scroll' computes to 'hidden scroll' assert_equals: expected "hidden scroll" but got "visible"
+FAIL Property overflow value 'hidden clip' computes to 'hidden' assert_equals: expected "hidden" but got "visible"
+FAIL Property overflow value 'hidden visible' computes to 'hidden auto' assert_equals: expected "hidden auto" but got "visible"
+FAIL Property overflow value 'scroll auto' computes to 'scroll auto' assert_equals: expected "scroll auto" but got "visible"
+FAIL Property overflow value 'scroll clip' computes to 'scroll hidden' assert_equals: expected "scroll hidden" but got "visible"
+FAIL Property overflow value 'scroll visible' computes to 'scroll auto' assert_equals: expected "scroll auto" but got "visible"
+FAIL Property overflow value 'visible auto' computes to 'auto' assert_equals: expected "auto" but got "visible"
+FAIL Property overflow value 'visible hidden' computes to 'auto hidden' assert_equals: expected "auto hidden" but got "visible"
+FAIL Property overflow value 'visible scroll' computes to 'auto scroll' assert_equals: expected "auto scroll" but got "visible"
+PASS Property overflow value 'visible visible' computes to 'visible' 
+PASS Property overflow-x value 'scroll' computes to 'scroll' 
+PASS Property overflow-x value 'hidden' computes to 'hidden' 
+PASS Property overflow-x value 'visible' computes to 'visible' 
+FAIL Property overflow-y value 'clip' computes to 'clip' assert_equals: expected "clip" but got "visible"
+PASS Property overflow-y value 'auto' computes to 'auto' 
+PASS Property overflow-y value 'visible' computes to 'visible' 
+PASS Property overflow-block value 'hidden' computes to 'hidden' 
+PASS Property overflow-block value 'clip' computes to 'clip' 
+PASS Property overflow-block value 'visible' computes to 'visible' 
+PASS Property overflow-inline value 'scroll' computes to 'scroll' 
+PASS Property overflow-inline value 'visible' computes to 'visible' 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed.html
new file mode 100644 (file)
index 0000000..1bacd9b
--- /dev/null
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: getComputedStyle().overflow</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-overflow">
+<meta name="assert" content="visible/clip compute to auto/hidden (respectively) if one of overflow-x or overflow-y is neither visible nor clip.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("overflow", 'visible');
+test_computed_value("overflow", 'hidden');
+test_computed_value("overflow", 'clip');
+test_computed_value("overflow", 'scroll');
+test_computed_value("overflow", 'auto');
+
+test_computed_value("overflow", 'auto auto', 'auto');
+test_computed_value("overflow", 'auto clip', 'auto hidden');
+test_computed_value("overflow", 'auto visible', 'auto');
+test_computed_value("overflow", 'clip auto', 'hidden auto');
+test_computed_value("overflow", 'clip clip', 'clip');
+test_computed_value("overflow", 'clip hidden', 'hidden');
+test_computed_value("overflow", 'clip scroll', 'hidden scroll')
+test_computed_value("overflow", 'hidden clip', 'hidden');
+test_computed_value("overflow", 'hidden visible', 'hidden auto');
+test_computed_value("overflow", 'scroll auto');
+test_computed_value("overflow", 'scroll clip', 'scroll hidden');
+test_computed_value("overflow", 'scroll visible', 'scroll auto');
+test_computed_value("overflow", 'visible auto', 'auto');
+test_computed_value("overflow", 'visible hidden', 'auto hidden');
+test_computed_value("overflow", 'visible scroll', 'auto scroll');
+test_computed_value("overflow", 'visible visible', 'visible');
+
+
+test_computed_value("overflow-x", 'scroll');
+test_computed_value("overflow-x", 'hidden');
+test_computed_value("overflow-x", 'visible');
+test_computed_value("overflow-y", 'clip');
+test_computed_value("overflow-y", 'auto');
+test_computed_value("overflow-y", 'visible');
+test_computed_value("overflow-block", 'hidden');
+test_computed_value("overflow-block", 'clip');
+test_computed_value("overflow-block", 'visible');
+test_computed_value("overflow-inline", 'scroll');
+test_computed_value("overflow-inline", 'visible');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid-expected.txt
new file mode 100644 (file)
index 0000000..51f688c
--- /dev/null
@@ -0,0 +1,8 @@
+
+PASS e.style['overflow'] = "none" should not set the property value 
+PASS e.style['overflow'] = "visible clip auto" should not set the property value 
+PASS e.style['overflow-x'] = "visible clip" should not set the property value 
+PASS e.style['overflow-y'] = "clip hidden" should not set the property value 
+PASS e.style['overflow-block'] = "hidden scroll" should not set the property value 
+PASS e.style['overflow-inline'] = "scroll auto" should not set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid.html
new file mode 100644 (file)
index 0000000..c99fda7
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing overflow with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-overflow">
+<meta name="assert" content="overflow supports only the grammar '[ visible | hidden | clip | scroll | auto ]{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("overflow", 'none');
+test_invalid_value("overflow", 'visible clip auto');
+
+
+test_invalid_value("overflow-x", 'visible clip');
+test_invalid_value("overflow-y", 'clip hidden');
+test_invalid_value("overflow-block", 'hidden scroll');
+test_invalid_value("overflow-inline", 'scroll auto');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid-expected.txt
new file mode 100644 (file)
index 0000000..1f0b906
--- /dev/null
@@ -0,0 +1,20 @@
+
+PASS e.style['overflow'] = "visible" should set the property value 
+PASS e.style['overflow'] = "hidden" should set the property value 
+FAIL e.style['overflow'] = "clip" should set the property value assert_not_equals: property should be set got disallowed value ""
+PASS e.style['overflow'] = "scroll" should set the property value 
+PASS e.style['overflow'] = "auto" should set the property value 
+FAIL e.style['overflow'] = "visible visible" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['overflow'] = "hidden visible" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['overflow'] = "clip clip" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['overflow'] = "scroll auto" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['overflow'] = "auto auto" should set the property value assert_not_equals: property should be set got disallowed value ""
+PASS e.style['overflow-x'] = "visible" should set the property value 
+PASS e.style['overflow-x'] = "scroll" should set the property value 
+FAIL e.style['overflow-y'] = "clip" should set the property value assert_not_equals: property should be set got disallowed value ""
+PASS e.style['overflow-y'] = "auto" should set the property value 
+FAIL e.style['overflow-block'] = "hidden" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['overflow-block'] = "clip" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['overflow-inline'] = "scroll" should set the property value assert_not_equals: property should be set got disallowed value ""
+FAIL e.style['overflow-inline'] = "visible" should set the property value assert_not_equals: property should be set got disallowed value ""
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid.html
new file mode 100644 (file)
index 0000000..02ddd93
--- /dev/null
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing overflow with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-overflow">
+<meta name="assert" content="overflow supports the full grammar '[ visible | hidden | clip | scroll | auto ]{1,2}'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("overflow", 'visible');
+test_valid_value("overflow", 'hidden');
+test_valid_value("overflow", 'clip');
+test_valid_value("overflow", 'scroll');
+test_valid_value("overflow", 'auto');
+
+test_valid_value("overflow", 'visible visible', 'visible');
+test_valid_value("overflow", 'hidden visible');
+test_valid_value("overflow", 'clip clip', 'clip');
+test_valid_value("overflow", 'scroll auto');
+test_valid_value("overflow", 'auto auto', 'auto');
+
+
+test_valid_value("overflow-x", 'visible');
+test_valid_value("overflow-x", 'scroll');
+test_valid_value("overflow-y", 'clip');
+test_valid_value("overflow-y", 'auto');
+test_valid_value("overflow-block", 'hidden');
+test_valid_value("overflow-block", 'clip');
+test_valid_value("overflow-inline", 'scroll');
+test_valid_value("overflow-inline", 'visible');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed-expected.txt
new file mode 100644 (file)
index 0000000..58234cf
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS Property text-overflow value 'clip' computes to 'clip' 
+PASS Property text-overflow value 'ellipsis' computes to 'ellipsis' 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed.html
new file mode 100644 (file)
index 0000000..60add5d
--- /dev/null
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: getComputedStyle().textOverflow</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-text-overflow">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/computed-testcommon.js"></script>
+</head>
+<body>
+<div id="target"></div>
+<script>
+test_computed_value("text-overflow", 'clip');
+test_computed_value("text-overflow", 'ellipsis');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid-expected.txt
new file mode 100644 (file)
index 0000000..88c230d
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS e.style['text-overflow'] = "auto" should not set the property value 
+PASS e.style['text-overflow'] = "clip ellipsis clip" should not set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid.html
new file mode 100644 (file)
index 0000000..785632a
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing text-overflow with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-text-overflow">
+<meta name="assert" content="text-overflow supports only the grammar 'clip | ellipsis'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("text-overflow", 'auto');
+
+test_invalid_value("text-overflow", 'clip ellipsis clip');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid-expected.txt
new file mode 100644 (file)
index 0000000..d45f568
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS e.style['text-overflow'] = "clip" should set the property value 
+PASS e.style['text-overflow'] = "ellipsis" should set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid.html
new file mode 100644 (file)
index 0000000..df77dff
--- /dev/null
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing text-overflow with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#propdef-text-overflow">
+<meta name="assert" content="text-overflow supports the full grammar 'clip | ellipsis'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("text-overflow", 'clip');
+test_valid_value("text-overflow", 'ellipsis');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/w3c-import.log
new file mode 100644 (file)
index 0000000..7453124
--- /dev/null
@@ -0,0 +1,32 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-invalid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/block-ellipsis-valid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-invalid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/continue-valid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-invalid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/line-clamp-valid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-invalid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/max-lines-valid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-computed.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-invalid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/overflow-valid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-computed.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-invalid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/text-overflow-valid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-invalid.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-valid.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-invalid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-invalid-expected.txt
new file mode 100644 (file)
index 0000000..f3d086d
--- /dev/null
@@ -0,0 +1,7 @@
+
+PASS e.style['-webkit-line-clamp'] = "auto" should not set the property value 
+PASS e.style['-webkit-line-clamp'] = "0" should not set the property value 
+PASS e.style['-webkit-line-clamp'] = "-5" should not set the property value 
+PASS e.style['-webkit-line-clamp'] = "none \"~\"" should not set the property value 
+PASS e.style['-webkit-line-clamp'] = "1 \"~\"" should not set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-invalid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-invalid.html
new file mode 100644 (file)
index 0000000..6bb90fa
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing -webkit-line-clamp with invalid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#webkit-line-clamp">
+<meta name="assert" content="-webkit-line-clamp supports only the grammar 'none | <integer>'.">
+<meta name="assert" content="Zero or negative max-lines integers are invalid.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_invalid_value("-webkit-line-clamp", 'auto');
+
+test_invalid_value("-webkit-line-clamp", '0');
+test_invalid_value("-webkit-line-clamp", '-5');
+
+test_invalid_value("-webkit-line-clamp", 'none "~"');
+test_invalid_value("-webkit-line-clamp", '1 "~"');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-valid-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-valid-expected.txt
new file mode 100644 (file)
index 0000000..ab977f0
--- /dev/null
@@ -0,0 +1,5 @@
+
+FAIL e.style['-webkit-line-clamp'] = "none" should set the property value assert_not_equals: property should be set got disallowed value ""
+PASS e.style['-webkit-line-clamp'] = "1" should set the property value 
+PASS e.style['-webkit-line-clamp'] = "6" should set the property value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-valid.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/parsing/webkit-line-clamp-valid.html
new file mode 100644 (file)
index 0000000..8b0e9c4
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CSS Overflow: parsing -webkit-line-clamp with valid values</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow/#webkit-line-clamp">
+<meta name="assert" content="-webkit-line-clamp supports the full grammar 'none | <integer>'.">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/parsing-testcommon.js"></script>
+</head>
+<body>
+<script>
+test_valid_value("-webkit-line-clamp", 'none');
+
+test_valid_value("-webkit-line-clamp", '1');
+test_valid_value("-webkit-line-clamp", '6');
+</script>
+</body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash-expected.txt
new file mode 100644 (file)
index 0000000..d353339
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS no crash 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash.html
new file mode 100644 (file)
index 0000000..c0f0214
--- /dev/null
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=919415">
+<div id="target" style="position:absolute; overflow:auto; height:100px; top:100px;"></div>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+  test(()=> {
+      document.body.offsetTop;
+      target.style.top = "50px";
+  }, "no crash");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/w3c-import.log
new file mode 100644 (file)
index 0000000..0df6229
--- /dev/null
@@ -0,0 +1,103 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/META.yml
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/float-with-relpos-and-transform.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/inheritance.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/input-scrollable-region-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/logical-overflow-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/orthogonal-flow-with-inline-end-margin.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-abpos-transform.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-002.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-003.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-body-propagation-004.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-codependent-scrollbars.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-inline-transform-relative.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-padding.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overflow-shorthand-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/overfow-outside-padding.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/shrink-to-fit-auto-overflow-relayout-crash.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-003-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-003.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-004-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-004.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-015-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-015.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-019-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-019.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-022-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-022.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-023-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-023.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001-expected.html
new file mode 100644 (file)
index 0000000..ef28e01
--- /dev/null
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-001.html
new file mode 100644 (file)
index 0000000..bba3d1c
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp when not display:-webkit-box</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-001-ref.html">
+<meta name="assert" content="-webkit-line-clamp should not apply to an element that is not a flex item for a legacy -webkit-box or -webkit-inline-box flex container.">
+<style>
+.clamp {
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002-expected.html
new file mode 100644 (file)
index 0000000..ef28e01
--- /dev/null
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-002.html
new file mode 100644 (file)
index 0000000..a04b959
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp when not -webkit-box-orient:vertical</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-001-ref.html">
+<meta name="assert" content="-webkit-line-clamp should not apply to an element whose parent is not -webkit-box-orient:vertical.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-003-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-003-expected.html
new file mode 100644 (file)
index 0000000..ef28e01
--- /dev/null
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-003.html
new file mode 100644 (file)
index 0000000..5ebe646
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with fewer lines than specified</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-001-ref.html">
+<meta name="assert" content="-webkit-line-clamp should not have an effect on an element with fewer lines than specified.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 6;
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-004-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-004-expected.html
new file mode 100644 (file)
index 0000000..ef28e01
--- /dev/null
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-004.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-004.html
new file mode 100644 (file)
index 0000000..d66d0bb
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with exactly as many lines as specified</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-001-ref.html">
+<meta name="assert" content="-webkit-line-clamp should not have an effect on an element with exactly as many lines as specified.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 5;
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005-expected.html
new file mode 100644 (file)
index 0000000..c9a9ae5
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4…</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-005.html
new file mode 100644 (file)
index 0000000..73b4b8c
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with more lines than specified</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-005-ref.html">
+<meta name="assert" content="-webkit-line-clamp should clamp to the specified number of lines.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 4;
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+  padding: 0 4px;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006-expected.html
new file mode 100644 (file)
index 0000000..3a17a6d
--- /dev/null
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4…</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-006.html
new file mode 100644 (file)
index 0000000..0d2c1f9
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: sizing of -webkit-line-clamp affected elements</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-006-ref.html">
+<meta name="assert" content="-webkit-line-clamp should size the element to the clamped number of lines.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 4;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007-expected.html
new file mode 100644 (file)
index 0000000..1c9a728
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2
+Line 3
+Line 4…</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-007.html
new file mode 100644 (file)
index 0000000..95c2db5
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp applied to a non-anonymous flex item</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-007-ref.html">
+<meta name="assert" content="-webkit-line-clamp should apply to a flex item in a -webkit-box or -webkit-inline-box flex container.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 4;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008-expected.html
new file mode 100644 (file)
index 0000000..dd1304d
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2…</div><div>Line A
+Line B…</div>Line 一
+Line 二…</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-008.html
new file mode 100644 (file)
index 0000000..471333e
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp applied to all flex items</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-008-ref.html">
+<meta name="assert" content="-webkit-line-clamp should apply to all flex items in a -webkit-box or -webkit-inline-box flex container independently.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+div {
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2
+Line 3</div><div>Line A
+Line B
+Line C</div>Line 一
+Line 二
+Line 三</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009-expected.html
new file mode 100644 (file)
index 0000000..62e100d
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+.child {
+  font: 24px / 48px serif;
+  color: blue;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<div class="child">Line 3…</div></div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-009.html
new file mode 100644 (file)
index 0000000..240f6b1
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with non-BFC block children in flex item</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-009-ref.html">
+<meta name="assert" content="-webkit-line-clamp should count lines in non-BFC block children of the flex items.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.child {
+  font: 24px / 48px serif;
+  color: blue;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<div class="child">Line 3
+Line 4</div></div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010-expected.html
new file mode 100644 (file)
index 0000000..63e9885
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+.child {
+  font: 24px / 48px serif;
+  color: blue;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<div class="child">Line 3
+Line 4</div>Line 5…</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-010.html
new file mode 100644 (file)
index 0000000..9ff23a2
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with non-BFC block children in flex item</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-010-ref.html">
+<meta name="assert" content="-webkit-line-clamp should count lines in non-BFC block children of the flex items.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 5;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.child {
+  font: 24px / 48px serif;
+  color: blue;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<div class="child">Line 3
+Line 4</div>Line 5
+Line 6</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011-expected.html
new file mode 100644 (file)
index 0000000..fbcd8ca
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+.child {
+  font: 24px / 48px serif;
+  color: blue;
+  padding: 0 4px;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<div class="child">Line 3
+Line 4</div>Line 5…</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-011.html
new file mode 100644 (file)
index 0000000..3a0016e
--- /dev/null
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with BFC child in flex item</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-011-ref.html">
+<meta name="assert" content="-webkit-line-clamp should skip lines in BFC children of the flex items.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.child {
+  overflow: auto;
+  font: 24px / 48px serif;
+  color: blue;
+  padding: 0 4px;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<div class="child">Line 3
+Line 4</div>Line 5
+Line 6</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012-expected.html
new file mode 100644 (file)
index 0000000..d28c938
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+.child {
+  display: flex;
+  font: 24px / 48px serif;
+  color: blue;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<div class="child">Line 3
+Line 4</div>Line 5…</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-012.html
new file mode 100644 (file)
index 0000000..d46a794
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with flex container child in flex item</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-012-ref.html">
+<meta name="assert" content="-webkit-line-clamp should skip lines in independent formatting contexts in the flex items.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.child {
+  display: flex;
+  font: 24px / 48px serif;
+  color: blue;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<div class="child">Line 3
+Line 4</div>Line 5
+Line 6</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013-expected.html
new file mode 100644 (file)
index 0000000..ba14aef
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+.child {
+  font: 24px / 48px serif;
+  color: blue;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<table class="child" border="1"><tr><td>Line 3
+Line 4</td></tr></table>Line 5…</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-013.html
new file mode 100644 (file)
index 0000000..6db5390
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with table child in flex item</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-013-ref.html">
+<meta name="assert" content="-webkit-line-clamp should skip lines in independent formatting contexts in the flex items.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.child {
+  font: 24px / 48px serif;
+  color: blue;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<table class="child" border="1"><tr><td>Line 3
+Line 4</td></tr></table>Line 5
+Line 6</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014-expected.html
new file mode 100644 (file)
index 0000000..c7346ab
--- /dev/null
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  direction: rtl;
+}
+</style>
+<div class="clamp">Line 1
+Line 2…</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-014.html
new file mode 100644 (file)
index 0000000..948b247
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp on RTL flex item</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-014-ref.html">
+<meta name="assert" content="-webkit-line-clamp should place the ellipsis appropriately in RTL content.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+  direction: rtl;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-015-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-015-expected.html
new file mode 100644 (file)
index 0000000..d73bc7d
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: horizontal;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 4px 0;
+  background-color: yellow;
+  writing-mode: vertical-rl;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-015.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-015.html
new file mode 100644 (file)
index 0000000..c1817e0
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp on vertical writing mode flex item when -webkit-box-orient:horizontal</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-015-ref.html">
+<meta name="assert" content="-webkit-line-clamp should not apply to a -webkit-box-orient:horizontal flex item even if using a vertical writing mode.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: horizontal;
+  -webkit-line-clamp: 2;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 4px 0;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+  writing-mode: vertical-rl;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016-expected.html
new file mode 100644 (file)
index 0000000..e54947e
--- /dev/null
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2…</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-016.html
new file mode 100644 (file)
index 0000000..5b2d459
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp value on flex child</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-016-ref.html">
+<meta name="assert" content="-webkit-line-clamp value on the flex child should be ignored.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.child {
+  -webkit-line-clamp: 3;
+}
+</style>
+<div class="clamp"><div class="child">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017-expected.html
new file mode 100644 (file)
index 0000000..043e5f3
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3…</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-017.html
new file mode 100644 (file)
index 0000000..ece4d31
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Overflow: Dynamically changing -webkit-line-clamp</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-017-ref.html">
+<meta name="assert" content="Dynamically changing -webkit-line-clamp on an element from none to a number less than the number of lines should apply the clamping.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
+<script>
+window.onload = function() {
+  document.querySelector(".clamp").style.webkitLineClamp = 3;
+  document.documentElement.className = "";
+};
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018-expected.html
new file mode 100644 (file)
index 0000000..b95f7ce
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-018.html
new file mode 100644 (file)
index 0000000..d381c64
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Overflow: Dynamically changing -webkit-line-clamp</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-018-ref.html">
+<meta name="assert" content="Dynamically changing -webkit-line-clamp on an element from a number to none remove the clamping.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
+<script>
+window.onload = function() {
+  document.querySelector(".clamp").style.webkitLineClamp = "none";
+  document.documentElement.className = "";
+};
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-019-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-019-expected.html
new file mode 100644 (file)
index 0000000..b95f7ce
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-019.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-019.html
new file mode 100644 (file)
index 0000000..ff6f7e3
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Overflow: Dynamically changing -webkit-line-clamp</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-019-ref.html">
+<meta name="assert" content="Dynamically changing -webkit-line-clamp on an element from a number less than to a number greater than the number of lines.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
+<script>
+window.onload = function() {
+  document.querySelector(".clamp").style.webkitLineClamp = 6;
+  document.documentElement.className = "";
+};
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020-expected.html
new file mode 100644 (file)
index 0000000..043e5f3
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3…</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-020.html
new file mode 100644 (file)
index 0000000..9d875d5
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Overflow: Dynamically changing -webkit-line-clamp</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-020-ref.html">
+<meta name="assert" content="Dynamically changing -webkit-line-clamp on an element from a number greater than to a number less than the number of lines.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 6;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
+<script>
+window.onload = function() {
+  document.querySelector(".clamp").style.webkitLineClamp = 3;
+  document.documentElement.className = "";
+};
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021-expected.html
new file mode 100644 (file)
index 0000000..043e5f3
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3…</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-021.html
new file mode 100644 (file)
index 0000000..44a196c
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Overflow: Dynamically changing contents of a -webkit-line-clamp affected element</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-021-ref.html">
+<meta name="assert" content="Dynamically changing contents of a -webkit-line-clamp element so that it exceeds the specified number of lines should start clamping.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2</div>
+<p>Following content.</p>
+<script>
+window.onload = function() {
+  document.querySelector(".clamp").textContent = `Line 1
+Line 2
+Line 3
+Line 4
+Line 5`;
+  document.documentElement.className = "";
+};
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-022-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-022-expected.html
new file mode 100644 (file)
index 0000000..29d7385
--- /dev/null
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-022.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-022.html
new file mode 100644 (file)
index 0000000..2959a73
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Overflow: Dynamically changing contents of a -webkit-line-clamp affected element</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-022-ref.html">
+<meta name="assert" content="Dynamically changing contents of a -webkit-line-clamp element so that it no longer exceeds the specified number of lines should stop clamping.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
+<script>
+window.onload = function() {
+  document.querySelector(".clamp").textContent = `Line 1
+Line 2`;
+  document.documentElement.className = "";
+};
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-023-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-023-expected.html
new file mode 100644 (file)
index 0000000..3127bb0
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-023.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-023.html
new file mode 100644 (file)
index 0000000..b9be4f6
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<meta charset="utf-8">
+<title>CSS Overflow: Dynamically changing contents of a -webkit-line-clamp affected element</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-023-ref.html">
+<meta name="assert" content="Dynamically changing contents of a -webkit-line-clamp element so that it matches the specified number of lines should stop clamping.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
+<script>
+window.onload = function() {
+  document.querySelector(".clamp").textContent = `Line 1
+Line 2
+Line 3`;
+  document.documentElement.className = "";
+};
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024-expected.html
new file mode 100644 (file)
index 0000000..9b81b6f
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-inline-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+Before <div class="clamp">Line 1
+Line 2
+Line …</div> After</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-024.html
new file mode 100644 (file)
index 0000000..6ebf5a8
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp on a display:-webkit-inline-box container</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-024-ref.html">
+<meta name="assert" content="-webkit-line-clamp should apply to display:-webkit-inline-box containers.">
+<style>
+.clamp {
+  display: -webkit-inline-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+Before <div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div> After</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025-expected.html
new file mode 100644 (file)
index 0000000..c33a6b5
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  width: 11ch;
+}
+.float {
+  float: right;
+  color: orange;
+}
+</style>
+<div class="clamp"><div><div class="float">[f]</div>A B C D…</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-025.html
new file mode 100644 (file)
index 0000000..67804de
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with floats</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-025-ref.html">
+<meta name="assert" content="A -webkit-line-clamp induced ellipsis is placed after shrinking the line due to floats.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 1;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  width: 11ch;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.float {
+  float: right;
+  color: orange;
+}
+</style>
+<div class="clamp"><div><div class="float">[f]</div>A B C D
+E F G H</div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026-expected.html
new file mode 100644 (file)
index 0000000..e4c1b03
--- /dev/null
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-026.html
new file mode 100644 (file)
index 0000000..741384f
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: Dynamically changing -webkit-box-orient when -webkit-line-clamp applies</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-026-ref.html">
+<meta name="assert" content="Dynamically changing a -webkit-line-clamp affected element to be -webkit-box-orient:horizontal should cause the line clamp to be removed.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div>
+<p>Following content.</p>
+<script>
+  document.body.offsetTop;
+  document.querySelector(".clamp").style.webkitBoxOrient = "horizontal";
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027-expected.html
new file mode 100644 (file)
index 0000000..be27d6d
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  background-color: yellow;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<fieldset>Line 3
+Line 4<legend>Line 5
+Line 6</legend></fieldset>Line 7…</div></div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-027.html
new file mode 100644 (file)
index 0000000..93bfb0f
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp and fieldset</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-027-ref.html">
+<meta name="assert" content="-webkit-line-clamp should skip over fieldsets.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2<fieldset>Line 3
+Line 4<legend>Line 5
+Line 6</legend></fieldset>Line 7
+Line 8</div></div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029-expected.html
new file mode 100644 (file)
index 0000000..5a26a4f
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  background-color: yellow;
+}
+.child {
+  overflow: hidden;
+}
+</style>
+<div class="clamp"><div class="child">Line 1
+Line 2
+Line 3…</div></div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-029.html
new file mode 100644 (file)
index 0000000..fc395d3
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp and scrollable items</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-029-ref.html">
+<meta name="assert" content="-webkit-line-clamp should apply to flex items that are scrollable.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.child {
+  overflow: hidden;
+}
+</style>
+<div class="clamp"><div class="child">Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div></div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030-expected.html
new file mode 100644 (file)
index 0000000..e88c8bf
--- /dev/null
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  background-color: yellow;
+  border: none;
+  overflow: hidden;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2
+Line 3…</div></div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-030.html
new file mode 100644 (file)
index 0000000..5e14a78
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp and scrollable container</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-030-ref.html">
+<meta name="assert" content="-webkit-line-clamp should apply to flex items when the container is scrollable.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px monospace;
+  white-space: pre;
+  background-color: yellow;
+  overflow: hidden;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2
+Line 3
+Line 4
+Line 5</div></div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031-expected.html
new file mode 100644 (file)
index 0000000..14f2fb1
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+.big {
+  font-weight: bold;
+  border-top: 2px solid blue;
+  padding: 20px 0;
+}
+</style>
+<div class="clamp"><div class="item">Line 1
+Line 2
+Line 3 <span class="big">BIG</span>…</div></div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-031.html
new file mode 100644 (file)
index 0000000..4f8c553
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp and a line with inlines of different heights</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-031-ref.html">
+<meta name="assert" content="-webkit-line-clamp should clamp to the bottom of the line box.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+.big {
+  font-weight: bold;
+  border-top: 2px solid blue;
+  border-bottom: 2px solid blue;
+  padding: 20px 0;
+}
+</style>
+<div class="clamp"><div>Line 1
+Line 2
+Line 3 <span class="big">BIG</span>
+Line 4
+Line 5</div></div>
+<p>Following content.</p>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032-expected.html
new file mode 100644 (file)
index 0000000..8f5b1ef
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+…</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-032.html
new file mode 100644 (file)
index 0000000..4d07313
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with an ellipsis on a blank line</title>
+<link rel="author" title="Cameron McCormack" href="mailto:cam@mcc.id.au">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="reference/webkit-line-clamp-032-ref.html">
+<meta name="assert" content="-webkit-line-clamp should render an ellipsis on a blank line.">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 4;
+  font: 16px / 32px serif;
+  white-space: pre;
+  padding: 0 4px;
+  background-color: yellow;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp">Line 1
+Line 2
+Line 3
+
+Line 5</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033-expected.html
new file mode 100644 (file)
index 0000000..4c2d469
--- /dev/null
@@ -0,0 +1,3 @@
+<!doctype html>
+<title>CSS Test Reference</title>
+<!--  Intentionally blank  -->
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp-033.html
new file mode 100644 (file)
index 0000000..261cf5b
--- /dev/null
@@ -0,0 +1,19 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>CSS Overflow: -webkit-line-clamp with an empty line</title>
+<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
+<link rel="help" href="https://drafts.csswg.org/css-overflow-3/#webkit-line-clamp">
+<link rel="match" href="/css/reference/blank.html">
+<style>
+.clamp {
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 3;
+  font: 16px / 32px serif;
+  white-space: pre;
+  background-color: yellow;
+  padding: 0 4px;
+  overflow: hidden; /* can be removed once implementations update their old -webkit-line-clamp implementations */
+}
+</style>
+<div class="clamp"><div><span></span></div></div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/w3c-import.log
new file mode 100644 (file)
index 0000000..a10fb10
--- /dev/null
@@ -0,0 +1,18 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/web-platform-tests/wpt
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative-expected.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative-expected.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative-expected.html
new file mode 100644 (file)
index 0000000..c2c8914
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+#test {
+  width: 100px;
+
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+
+  border: solid thin grey;
+  font: 20px 'Ahem';
+  line-height: 40px;
+}
+</style>
+<p>This tests the -webkit-line-clamp property with line-height applied.</p>
+<div id="test">
+  XXXX XXX
+</div>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-overflow/webkit-line-clamp/webkit-line-clamp-with-line-height.tentative.html
new file mode 100644 (file)
index 0000000..94a62a5
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<link rel="match" href="webkit-line-clamp-with-line-height-ref.html">
+<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/2847#issuecomment-468084957">
+<meta name="assert" content="This test checks that -webkit-line-clamp calculates respects line-height when calculating its block-size.">
+<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
+<style>
+#test {
+  width: 100px;
+
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 1;
+  overflow: hidden;
+
+  border: solid thin grey;
+  font: 20px 'Ahem';
+  line-height: 40px;
+}
+</style>
+<p>This tests the -webkit-line-clamp property with line-height applied.</p>
+<div id="test">
+  XXXX XXX
+</div>