Bug 1275511 - Should not ignore entire <source-size-list> if something is invalid; r=heycam
authorEdgar Chen <echen@mozilla.com>
Tue, 12 Apr 2016 11:49:50 -0400
changeset 327346 bf3c6f8d57ab5e93229476fd0a5cebcd9fe35079
parent 327345 587331c6f44b49dd2126eb5cc7a2e9799d3dc084
child 327347 dec7eb3938fbed2fecfe982eb91700e2999fe9c2
push id9858
push userjlund@mozilla.com
push dateMon, 01 Aug 2016 14:37:10 +0000
treeherdermozilla-aurora@203106ef6cb6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersheycam
bugs1275511
milestone50.0a1
Bug 1275511 - Should not ignore entire <source-size-list> if something is invalid; r=heycam MozReview-Commit-ID: 3YGpXm7dJMM
layout/style/nsCSSParser.cpp
testing/web-platform/meta/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html.ini
--- a/layout/style/nsCSSParser.cpp
+++ b/layout/style/nsCSSParser.cpp
@@ -2111,72 +2111,81 @@ CSSParserImpl::ParseSourceSizeList(const
   // fake base URI since media value lists don't have URIs in them
   nsCSSScanner scanner(aBuffer, aLineNumber);
   css::ErrorReporter reporter(scanner, mSheet, mChildLoader, aURI);
   InitScanner(scanner, reporter, aURI, aURI, nullptr);
 
   // See ParseMediaList comment about HTML mode
   mHTMLMediaMode = aHTMLMode;
 
-  bool hitError = false;
-  for (;;) {
-    nsAutoPtr<nsMediaQuery> query;
-    nsCSSValue value;
-
-    bool hitStop;
-    if (!ParseMediaQuery(eMediaQuerySingleCondition, getter_Transfers(query),
-                         &hitStop)) {
-      NS_ASSERTION(!hitStop, "should return true when hit stop");
-      hitError = true;
-      break;
-    }
-
-    if (!query) {
-      REPORT_UNEXPECTED_EOF(PEParseSourceSizeListEOF);
-      NS_ASSERTION(hitStop,
-                   "should return hitStop or an error if returning no query");
-      hitError = true;
-      break;
-    }
-
-    if (hitStop) {
-      // Empty conditions (e.g. just a bare value) should be treated as always
-      // matching (a query with no expressions fails to match, so a negated one
-      // always matches.)
-      query->SetNegated();
-    }
-
-    // https://html.spec.whatwg.org/multipage/embedded-content.html#source-size-value
-    // Percentages are not allowed in a <source-size-value>, to avoid
-    // confusion about what it would be relative to.
-    if (ParseNonNegativeVariant(value, VARIANT_LCALC, nullptr) !=
-        CSSParseResult::Ok) {
-      hitError = true;
-      break;
-    }
-
-    if (GetToken(true)) {
-      if (!mToken.IsSymbol(',')) {
-        REPORT_UNEXPECTED_TOKEN(PEParseSourceSizeListNotComma);
+  // https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-sizes-attribute
+  bool hitEnd = false;
+  do {
+    bool hitError = false;
+    // Parse single <media-condition> <source-size-value>
+    do {
+      nsAutoPtr<nsMediaQuery> query;
+      nsCSSValue value;
+
+      bool hitStop;
+      if (!ParseMediaQuery(eMediaQuerySingleCondition, getter_Transfers(query),
+                           &hitStop)) {
+        NS_ASSERTION(!hitStop, "should return true when hit stop");
+        hitError = true;
+        break;
+      }
+
+      if (!query) {
+        REPORT_UNEXPECTED_EOF(PEParseSourceSizeListEOF);
+        NS_ASSERTION(hitStop,
+                     "should return hitStop or an error if returning no query");
         hitError = true;
         break;
       }
-    }
-
-    aQueries.AppendElement(query.forget());
-    aValues.AppendElement(value);
-  }
-
-  if (hitError) {
-    // Per spec, a parse failure in this list invalidates it
-    // entirely. Currently, this grammar is specified standalone and not part of
-    // any larger grammar, so it doesn't make sense to try to advance the token
-    // beyond it.
-    OUTPUT_ERROR();
-  }
+
+      if (hitStop) {
+        // Empty conditions (e.g. just a bare value) should be treated as always
+        // matching (a query with no expressions fails to match, so a negated one
+        // always matches.)
+        query->SetNegated();
+      }
+
+      // https://html.spec.whatwg.org/multipage/embedded-content.html#source-size-value
+      // Percentages are not allowed in a <source-size-value>, to avoid
+      // confusion about what it would be relative to.
+      if (ParseNonNegativeVariant(value, VARIANT_LCALC, nullptr) !=
+          CSSParseResult::Ok) {
+        hitError = true;
+        break;
+      }
+
+      if (GetToken(true)) {
+        if (!mToken.IsSymbol(',')) {
+          REPORT_UNEXPECTED_TOKEN(PEParseSourceSizeListNotComma);
+          hitError = true;
+          break;
+        }
+      } else {
+        hitEnd = true;
+      }
+
+      aQueries.AppendElement(query.forget());
+      aValues.AppendElement(value);
+    } while(0);
+
+    if (hitError) {
+      OUTPUT_ERROR();
+
+      // Per spec, we just skip the current entry if there was a parse error.
+      // Jumps to next entry of <source-size-list> which is a comma-separated list.
+      if (!SkipUntil(',')) {
+        hitEnd = true;
+      }
+    }
+  } while (!hitEnd);
 
   CLEAR_ERROR();
   ReleaseScanner();
   mHTMLMediaMode = false;
 
   return !aQueries.IsEmpty();
 }
 
--- a/testing/web-platform/meta/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html.ini
+++ b/testing/web-platform/meta/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html.ini
@@ -1,73 +1,13 @@
 [parse-a-sizes-attribute.html]
   type: testharness
-  [<img srcset="/images/green-1x1.png?e23 50w, /images/green-16x16.png?e23 51w" sizes="(),1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e24 50w, /images/green-16x16.png?e24 51w" sizes="x(),1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e25 50w, /images/green-16x16.png?e25 51w" sizes="{},1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e26 50w, /images/green-16x16.png?e26 51w" sizes="[\],1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e31 50w, /images/green-16x16.png?e31 51w" sizes="\\(,1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e32 50w, /images/green-16x16.png?e32 51w" sizes="x\\(,1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e33 50w, /images/green-16x16.png?e33 51w" sizes="\\{,1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e34 50w, /images/green-16x16.png?e34 51w" sizes="\\[,1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e38 50w, /images/green-16x16.png?e38 51w" sizes="(min-width:calc(0)) 1px"> ref sizes="1px" (standards mode)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e42 50w, /images/green-16x16.png?e42 51w" sizes="not (min-width:0) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not (unknown &quot;general-enclosed&quot;) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="data:,a 50w, data:,b 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e51 50w, /images/green-16x16.png?e51 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e53 50w, /images/green-16x16.png?e53 51w" sizes="print 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e54 50w, /images/green-16x16.png?e54 51w" sizes="not print 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e55 50w, /images/green-16x16.png?e55 51w" sizes="unknown-media-type 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e56 50w, /images/green-16x16.png?e56 51w" sizes="not unknown-media-type 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e57 50w, /images/green-16x16.png?e57 51w" sizes="(min-width:0) or (min-width:0) 1px"> ref sizes="1px" (standards mode)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e58 50w, /images/green-16x16.png?e58 51w" sizes="(min-width:0) or (unknown-mf-name) 1px"> ref sizes="1px" (standards mode)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e59 50w, /images/green-16x16.png?e59 51w" sizes="(min-width:0) or (min-width:unknown-mf-value) 1px"> ref sizes="1px" (standards mode)]
     expected: FAIL
@@ -76,169 +16,28 @@
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or (unknown &quot;general-enclosed&quot;) 1px"> ref sizes="1px" (standards mode)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e62 50w, /images/green-16x16.png?e62 51w" sizes="(min-width:0) or unknown-general-enclosed(foo) 1px"> ref sizes="1px" (standards mode)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e63 50w, /images/green-16x16.png?e63 51w" sizes="(min-width:0) or (!) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e64 50w, /images/green-16x16.png?e64 51w" sizes="(min-width:0) or unknown-media-type 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e68 50w, /images/green-16x16.png?e68 51w" sizes="not (!) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e69 50w, /images/green-16x16.png?e69 51w" sizes="! 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e70 50w, /images/green-16x16.png?e70 51w" sizes="not ! 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e72 50w, /images/green-16x16.png?e72 51w" sizes="not (\]) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e73 50w, /images/green-16x16.png?e73 51w" sizes="\] 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e74 50w, /images/green-16x16.png?e74 51w" sizes="not \] 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w" sizes="not (}) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51w" sizes="} 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e78 50w, /images/green-16x16.png?e78 51w" sizes="not } 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e79 50w, /images/green-16x16.png?e79 51w" sizes=") 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e80 50w, /images/green-16x16.png?e80 51w" sizes="not ) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e82 50w, /images/green-16x16.png?e82 51w" sizes="not (;) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e85 50w, /images/green-16x16.png?e85 51w" sizes="; 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e86 50w, /images/green-16x16.png?e86 51w" sizes="not ; 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e87 50w, /images/green-16x16.png?e87 51w" sizes=", 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e95 50w, /images/green-16x16.png?e95 51w" sizes="all 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e96 50w, /images/green-16x16.png?e96 51w" sizes="all and (min-width:0) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e97 50w, /images/green-16x16.png?e97 51w" sizes="min-width:0 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e103 50w, /images/green-16x16.png?e103 51w" sizes="not (&quot;grammar does not match&quot;) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e105 50w, /images/green-16x16.png?e105 51w" sizes="not (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e106 50w, /images/green-16x16.png?e106 51w" sizes="(min-width:0) or (unknown-general-enclosed !) 1px"> ref sizes="1px" (standards mode)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e107 50w, /images/green-16x16.png?e107 51w" sizes="not ((min-width:0) or (unknown &quot;general-enclosed&quot;)) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e108 50w, /images/green-16x16.png?e108 51w" sizes="(max-width:0) or (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e109 50w, /images/green-16x16.png?e109 51w" sizes="not ((max-width:0) or (unknown &quot;general-enclosed&quot;)) 100vw, 1px"> ref sizes="1px" (standards mode)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="100vw" (standards mode)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="100vw" (standards mode)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e23 50w, /images/green-16x16.png?e23 51w" sizes="(),1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e24 50w, /images/green-16x16.png?e24 51w" sizes="x(),1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e25 50w, /images/green-16x16.png?e25 51w" sizes="{},1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e26 50w, /images/green-16x16.png?e26 51w" sizes="[\],1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e31 50w, /images/green-16x16.png?e31 51w" sizes="\\(,1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e32 50w, /images/green-16x16.png?e32 51w" sizes="x\\(,1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e33 50w, /images/green-16x16.png?e33 51w" sizes="\\{,1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e34 50w, /images/green-16x16.png?e34 51w" sizes="\\[,1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e38 50w, /images/green-16x16.png?e38 51w" sizes="(min-width:calc(0)) 1px"> ref sizes="1px" (quirks mode)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e42 50w, /images/green-16x16.png?e42 51w" sizes="not (min-width:0) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not (unknown &quot;general-enclosed&quot;) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="data:,a 50w, data:,b 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e51 50w, /images/green-16x16.png?e51 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e53 50w, /images/green-16x16.png?e53 51w" sizes="print 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e54 50w, /images/green-16x16.png?e54 51w" sizes="not print 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e55 50w, /images/green-16x16.png?e55 51w" sizes="unknown-media-type 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e56 50w, /images/green-16x16.png?e56 51w" sizes="not unknown-media-type 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e57 50w, /images/green-16x16.png?e57 51w" sizes="(min-width:0) or (min-width:0) 1px"> ref sizes="1px" (quirks mode)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e58 50w, /images/green-16x16.png?e58 51w" sizes="(min-width:0) or (unknown-mf-name) 1px"> ref sizes="1px" (quirks mode)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e59 50w, /images/green-16x16.png?e59 51w" sizes="(min-width:0) or (min-width:unknown-mf-value) 1px"> ref sizes="1px" (quirks mode)]
     expected: FAIL
@@ -247,169 +46,28 @@
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or (unknown &quot;general-enclosed&quot;) 1px"> ref sizes="1px" (quirks mode)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e62 50w, /images/green-16x16.png?e62 51w" sizes="(min-width:0) or unknown-general-enclosed(foo) 1px"> ref sizes="1px" (quirks mode)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e63 50w, /images/green-16x16.png?e63 51w" sizes="(min-width:0) or (!) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e64 50w, /images/green-16x16.png?e64 51w" sizes="(min-width:0) or unknown-media-type 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e68 50w, /images/green-16x16.png?e68 51w" sizes="not (!) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e69 50w, /images/green-16x16.png?e69 51w" sizes="! 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e70 50w, /images/green-16x16.png?e70 51w" sizes="not ! 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e72 50w, /images/green-16x16.png?e72 51w" sizes="not (\]) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e73 50w, /images/green-16x16.png?e73 51w" sizes="\] 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e74 50w, /images/green-16x16.png?e74 51w" sizes="not \] 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w" sizes="not (}) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51w" sizes="} 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e78 50w, /images/green-16x16.png?e78 51w" sizes="not } 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e79 50w, /images/green-16x16.png?e79 51w" sizes=") 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e80 50w, /images/green-16x16.png?e80 51w" sizes="not ) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e82 50w, /images/green-16x16.png?e82 51w" sizes="not (;) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e85 50w, /images/green-16x16.png?e85 51w" sizes="; 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e86 50w, /images/green-16x16.png?e86 51w" sizes="not ; 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e87 50w, /images/green-16x16.png?e87 51w" sizes=", 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e95 50w, /images/green-16x16.png?e95 51w" sizes="all 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e96 50w, /images/green-16x16.png?e96 51w" sizes="all and (min-width:0) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e97 50w, /images/green-16x16.png?e97 51w" sizes="min-width:0 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e103 50w, /images/green-16x16.png?e103 51w" sizes="not (&quot;grammar does not match&quot;) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e105 50w, /images/green-16x16.png?e105 51w" sizes="not (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e106 50w, /images/green-16x16.png?e106 51w" sizes="(min-width:0) or (unknown-general-enclosed !) 1px"> ref sizes="1px" (quirks mode)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e107 50w, /images/green-16x16.png?e107 51w" sizes="not ((min-width:0) or (unknown &quot;general-enclosed&quot;)) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e108 50w, /images/green-16x16.png?e108 51w" sizes="(max-width:0) or (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e109 50w, /images/green-16x16.png?e109 51w" sizes="not ((max-width:0) or (unknown &quot;general-enclosed&quot;)) 100vw, 1px"> ref sizes="1px" (quirks mode)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="100vw" (quirks mode)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="100vw" (quirks mode)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e23 50w, /images/green-16x16.png?e23 51w" sizes="(),1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e24 50w, /images/green-16x16.png?e24 51w" sizes="x(),1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e25 50w, /images/green-16x16.png?e25 51w" sizes="{},1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e26 50w, /images/green-16x16.png?e26 51w" sizes="[\],1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e31 50w, /images/green-16x16.png?e31 51w" sizes="\\(,1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e32 50w, /images/green-16x16.png?e32 51w" sizes="x\\(,1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e33 50w, /images/green-16x16.png?e33 51w" sizes="\\{,1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e34 50w, /images/green-16x16.png?e34 51w" sizes="\\[,1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e38 50w, /images/green-16x16.png?e38 51w" sizes="(min-width:calc(0)) 1px"> ref sizes="1px" (display:none)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e42 50w, /images/green-16x16.png?e42 51w" sizes="not (min-width:0) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not (unknown &quot;general-enclosed&quot;) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="data:,a 50w, data:,b 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e51 50w, /images/green-16x16.png?e51 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e53 50w, /images/green-16x16.png?e53 51w" sizes="print 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e54 50w, /images/green-16x16.png?e54 51w" sizes="not print 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e55 50w, /images/green-16x16.png?e55 51w" sizes="unknown-media-type 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e56 50w, /images/green-16x16.png?e56 51w" sizes="not unknown-media-type 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e57 50w, /images/green-16x16.png?e57 51w" sizes="(min-width:0) or (min-width:0) 1px"> ref sizes="1px" (display:none)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e58 50w, /images/green-16x16.png?e58 51w" sizes="(min-width:0) or (unknown-mf-name) 1px"> ref sizes="1px" (display:none)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e59 50w, /images/green-16x16.png?e59 51w" sizes="(min-width:0) or (min-width:unknown-mf-value) 1px"> ref sizes="1px" (display:none)]
     expected: FAIL
@@ -418,169 +76,28 @@
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or (unknown &quot;general-enclosed&quot;) 1px"> ref sizes="1px" (display:none)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e62 50w, /images/green-16x16.png?e62 51w" sizes="(min-width:0) or unknown-general-enclosed(foo) 1px"> ref sizes="1px" (display:none)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e63 50w, /images/green-16x16.png?e63 51w" sizes="(min-width:0) or (!) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e64 50w, /images/green-16x16.png?e64 51w" sizes="(min-width:0) or unknown-media-type 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e68 50w, /images/green-16x16.png?e68 51w" sizes="not (!) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e69 50w, /images/green-16x16.png?e69 51w" sizes="! 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e70 50w, /images/green-16x16.png?e70 51w" sizes="not ! 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e72 50w, /images/green-16x16.png?e72 51w" sizes="not (\]) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e73 50w, /images/green-16x16.png?e73 51w" sizes="\] 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e74 50w, /images/green-16x16.png?e74 51w" sizes="not \] 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w" sizes="not (}) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51w" sizes="} 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e78 50w, /images/green-16x16.png?e78 51w" sizes="not } 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e79 50w, /images/green-16x16.png?e79 51w" sizes=") 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e80 50w, /images/green-16x16.png?e80 51w" sizes="not ) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e82 50w, /images/green-16x16.png?e82 51w" sizes="not (;) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e85 50w, /images/green-16x16.png?e85 51w" sizes="; 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e86 50w, /images/green-16x16.png?e86 51w" sizes="not ; 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e87 50w, /images/green-16x16.png?e87 51w" sizes=", 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e95 50w, /images/green-16x16.png?e95 51w" sizes="all 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e96 50w, /images/green-16x16.png?e96 51w" sizes="all and (min-width:0) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e97 50w, /images/green-16x16.png?e97 51w" sizes="min-width:0 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e103 50w, /images/green-16x16.png?e103 51w" sizes="not (&quot;grammar does not match&quot;) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e105 50w, /images/green-16x16.png?e105 51w" sizes="not (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e106 50w, /images/green-16x16.png?e106 51w" sizes="(min-width:0) or (unknown-general-enclosed !) 1px"> ref sizes="1px" (display:none)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e107 50w, /images/green-16x16.png?e107 51w" sizes="not ((min-width:0) or (unknown &quot;general-enclosed&quot;)) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e108 50w, /images/green-16x16.png?e108 51w" sizes="(max-width:0) or (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e109 50w, /images/green-16x16.png?e109 51w" sizes="not ((max-width:0) or (unknown &quot;general-enclosed&quot;)) 100vw, 1px"> ref sizes="1px" (display:none)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="100vw" (display:none)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="100vw" (display:none)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e23 50w, /images/green-16x16.png?e23 51w" sizes="(),1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e24 50w, /images/green-16x16.png?e24 51w" sizes="x(),1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e25 50w, /images/green-16x16.png?e25 51w" sizes="{},1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e26 50w, /images/green-16x16.png?e26 51w" sizes="[\],1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e31 50w, /images/green-16x16.png?e31 51w" sizes="\\(,1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e32 50w, /images/green-16x16.png?e32 51w" sizes="x\\(,1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e33 50w, /images/green-16x16.png?e33 51w" sizes="\\{,1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e34 50w, /images/green-16x16.png?e34 51w" sizes="\\[,1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e38 50w, /images/green-16x16.png?e38 51w" sizes="(min-width:calc(0)) 1px"> ref sizes="1px" (width:1000px)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e42 50w, /images/green-16x16.png?e42 51w" sizes="not (min-width:0) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e44 50w, /images/green-16x16.png?e44 51w" sizes="not (min-width:unknown-mf-value) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e46 50w, /images/green-16x16.png?e46 51w" sizes="not (min-width:-1px) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e48 50w, /images/green-16x16.png?e48 51w" sizes="not (unknown-mf-name) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e50 50w, /images/green-16x16.png?e50 51w" sizes="not (unknown &quot;general-enclosed&quot;) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="data:,a 50w, data:,b 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e51 50w, /images/green-16x16.png?e51 51w" sizes="unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e52 50w, /images/green-16x16.png?e52 51w" sizes="not unknown-general-enclosed(foo) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e53 50w, /images/green-16x16.png?e53 51w" sizes="print 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e54 50w, /images/green-16x16.png?e54 51w" sizes="not print 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e55 50w, /images/green-16x16.png?e55 51w" sizes="unknown-media-type 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e56 50w, /images/green-16x16.png?e56 51w" sizes="not unknown-media-type 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e57 50w, /images/green-16x16.png?e57 51w" sizes="(min-width:0) or (min-width:0) 1px"> ref sizes="1px" (width:1000px)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e58 50w, /images/green-16x16.png?e58 51w" sizes="(min-width:0) or (unknown-mf-name) 1px"> ref sizes="1px" (width:1000px)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e59 50w, /images/green-16x16.png?e59 51w" sizes="(min-width:0) or (min-width:unknown-mf-value) 1px"> ref sizes="1px" (width:1000px)]
     expected: FAIL
@@ -589,98 +106,17 @@
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e61 50w, /images/green-16x16.png?e61 51w" sizes="(min-width:0) or (unknown &quot;general-enclosed&quot;) 1px"> ref sizes="1px" (width:1000px)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?e62 50w, /images/green-16x16.png?e62 51w" sizes="(min-width:0) or unknown-general-enclosed(foo) 1px"> ref sizes="1px" (width:1000px)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e63 50w, /images/green-16x16.png?e63 51w" sizes="(min-width:0) or (!) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e64 50w, /images/green-16x16.png?e64 51w" sizes="(min-width:0) or unknown-media-type 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e66 50w, /images/green-16x16.png?e66 51w" sizes="not (123) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e68 50w, /images/green-16x16.png?e68 51w" sizes="not (!) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e69 50w, /images/green-16x16.png?e69 51w" sizes="! 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e70 50w, /images/green-16x16.png?e70 51w" sizes="not ! 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e72 50w, /images/green-16x16.png?e72 51w" sizes="not (\]) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e73 50w, /images/green-16x16.png?e73 51w" sizes="\] 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e74 50w, /images/green-16x16.png?e74 51w" sizes="not \] 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e76 50w, /images/green-16x16.png?e76 51w" sizes="not (}) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e77 50w, /images/green-16x16.png?e77 51w" sizes="} 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e78 50w, /images/green-16x16.png?e78 51w" sizes="not } 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e79 50w, /images/green-16x16.png?e79 51w" sizes=") 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e80 50w, /images/green-16x16.png?e80 51w" sizes="not ) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e82 50w, /images/green-16x16.png?e82 51w" sizes="not (;) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e84 50w, /images/green-16x16.png?e84 51w" sizes="not (.) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e85 50w, /images/green-16x16.png?e85 51w" sizes="; 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e86 50w, /images/green-16x16.png?e86 51w" sizes="not ; 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e87 50w, /images/green-16x16.png?e87 51w" sizes=", 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e95 50w, /images/green-16x16.png?e95 51w" sizes="all 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e96 50w, /images/green-16x16.png?e96 51w" sizes="all and (min-width:0) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e97 50w, /images/green-16x16.png?e97 51w" sizes="min-width:0 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e103 50w, /images/green-16x16.png?e103 51w" sizes="not (&quot;grammar does not match&quot;) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e105 50w, /images/green-16x16.png?e105 51w" sizes="not (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?e106 50w, /images/green-16x16.png?e106 51w" sizes="(min-width:0) or (unknown-general-enclosed !) 1px"> ref sizes="1px" (width:1000px)]
     expected: FAIL
 
-  [<img srcset="/images/green-1x1.png?e107 50w, /images/green-16x16.png?e107 51w" sizes="not ((min-width:0) or (unknown &quot;general-enclosed&quot;)) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e108 50w, /images/green-16x16.png?e108 51w" sizes="(max-width:0) or (unknown-general-enclosed !) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
-  [<img srcset="/images/green-1x1.png?e109 50w, /images/green-16x16.png?e109 51w" sizes="not ((max-width:0) or (unknown &quot;general-enclosed&quot;)) 100vw, 1px"> ref sizes="1px" (width:1000px)]
-    expected: FAIL
-
   [<img srcset="/images/green-1x1.png?f48 50w, /images/green-16x16.png?f48 51w" sizes="calc(1px"> ref sizes="100vw" (width:1000px)]
     expected: FAIL
 
   [<img srcset="/images/green-1x1.png?f49 50w, /images/green-16x16.png?f49 51w" sizes="(min-width:0) calc(1px"> ref sizes="100vw" (width:1000px)]
     expected: FAIL