`theme_color`, `icons` and `display` member tests for Web App Manifest (#24373)

diff --git a/appmanifest/display-member/display-member-media-feature-manual.html b/appmanifest/display-member/display-member-media-feature-manual.html
new file mode 100644
index 0000000..d4807fe
--- /dev/null
+++ b/appmanifest/display-member/display-member-media-feature-manual.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<title>Test that display member plus media feature is supported</title>
+<link rel="help" href="https://w3c.github.io/manifest#display-member" />
+<link rel="help" href="https://w3c.github.io/manifest/#the-display-mode-media-feature" />
+<link rel="manifest" href="display-member-media-feature.webmanifest" />
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<h1>Testing support for display member plus media feature</h1>
+<style>
+  .fail {
+    background-color: red;
+  }
+
+  @media all and (display-mode: standalone) {
+    body {
+      background-color: green;
+    }
+  }
+</style>
+<script>
+const standalone = matchMedia("(display-mode: standalone)");
+
+standalone.onchange = () => {
+  if (standalone.matches) {
+    document.body.classList.remove("fail");
+  }
+}
+
+if (!standalone.matches) {
+  document.body.classList.add("fail");
+}
+</script>
+<p>
+  To pass, the background color must be green after installing.
+</p>
diff --git a/appmanifest/display-member/display-member-media-feature.webmanifest b/appmanifest/display-member/display-member-media-feature.webmanifest
new file mode 100644
index 0000000..891bd79
--- /dev/null
+++ b/appmanifest/display-member/display-member-media-feature.webmanifest
@@ -0,0 +1,3 @@
+{
+    "display": "standalone"
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/display-member/display-member-media-feature.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/display-member/display-member-media-feature.webmanifest.headers
diff --git a/appmanifest/icons-member/fail.png b/appmanifest/icons-member/fail.png
new file mode 100644
index 0000000..1d596c6
--- /dev/null
+++ b/appmanifest/icons-member/fail.png
Binary files differ
diff --git a/appmanifest/icons-member/icons-member-last-matching-manual.html b/appmanifest/icons-member/icons-member-last-matching-manual.html
new file mode 100644
index 0000000..04f18f4
--- /dev/null
+++ b/appmanifest/icons-member/icons-member-last-matching-manual.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<title>Test that icons member is supported</title>
+<link rel="help" href="https://w3c.github.io/manifest#icons-member" />
+<link rel="manifest" href="icons-member-last-matching.webmanifest" />
+<h1>Testing support for icons member</h1>
+<p>
+  To pass, the icon must show a white check mark on a green background.
+</p>
diff --git a/appmanifest/icons-member/icons-member-last-matching.webmanifest b/appmanifest/icons-member/icons-member-last-matching.webmanifest
new file mode 100644
index 0000000..f4423d2
--- /dev/null
+++ b/appmanifest/icons-member/icons-member-last-matching.webmanifest
@@ -0,0 +1,11 @@
+{
+    "icons": [{
+        "src": "fail.png",
+        "sizes": "256x256",
+        "type": "image/png"
+    }, {
+        "src": "pass.png",
+        "sizes": "256x256",
+        "type": "image/png"
+    }]
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/icons-member/icons-member-last-matching.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/icons-member/icons-member-last-matching.webmanifest.headers
diff --git a/appmanifest/icons-member/icons-member-manual.html b/appmanifest/icons-member/icons-member-manual.html
new file mode 100644
index 0000000..f42db8d
--- /dev/null
+++ b/appmanifest/icons-member/icons-member-manual.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<title>Test that icons member is supported</title>
+<link rel="help" href="https://w3c.github.io/manifest#icons-member" />
+<link rel="manifest" href="icons-member.webmanifest" />
+<h1>Testing support for icons member</h1>
+<p>
+  To pass, the icon should must a white check mark on a green background.
+</p>
diff --git a/appmanifest/icons-member/icons-member-next-appropriate-manual.html b/appmanifest/icons-member/icons-member-next-appropriate-manual.html
new file mode 100644
index 0000000..1e84ba9
--- /dev/null
+++ b/appmanifest/icons-member/icons-member-next-appropriate-manual.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<title>Test that icons member is supported</title>
+<link rel="help" href="https://w3c.github.io/manifest#icons-member" />
+<link rel="manifest" href="icons-member-next-appropriate.webmanifest" />
+<h1>Testing support for icons member</h1>
+<p>
+  To pass, the icon must show a white check mark on a green background.
+</p>
diff --git a/appmanifest/icons-member/icons-member-next-appropriate.webmanifest b/appmanifest/icons-member/icons-member-next-appropriate.webmanifest
new file mode 100644
index 0000000..5ae381e
--- /dev/null
+++ b/appmanifest/icons-member/icons-member-next-appropriate.webmanifest
@@ -0,0 +1,10 @@
+{
+    "icons": [{
+        "src": "pass.png",
+        "sizes": "256x256",
+        "type": "image/png"
+    }, {
+        "src": "icons-member-manual.html",
+        "sizes": "256x256"
+    }]
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/icons-member/icons-member-next-appropriate.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/icons-member/icons-member-next-appropriate.webmanifest.headers
diff --git a/appmanifest/icons-member/icons-member.webmanifest b/appmanifest/icons-member/icons-member.webmanifest
new file mode 100644
index 0000000..a744fee
--- /dev/null
+++ b/appmanifest/icons-member/icons-member.webmanifest
@@ -0,0 +1,7 @@
+{
+    "icons": [{
+        "src": "pass.png",
+        "sizes": "256x256",
+        "type": "image/png"
+    }]
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/icons-member/icons-member.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/icons-member/icons-member.webmanifest.headers
diff --git a/appmanifest/icons-member/pass.png b/appmanifest/icons-member/pass.png
new file mode 100644
index 0000000..be7433a
--- /dev/null
+++ b/appmanifest/icons-member/pass.png
Binary files differ
diff --git a/appmanifest/theme_color-member/theme_color-member-red-manual.html b/appmanifest/theme_color-member/theme_color-member-hsl-manual.html
similarity index 66%
copy from appmanifest/theme_color-member/theme_color-member-red-manual.html
copy to appmanifest/theme_color-member/theme_color-member-hsl-manual.html
index 07c6dfe..0203a97 100644
--- a/appmanifest/theme_color-member/theme_color-member-red-manual.html
+++ b/appmanifest/theme_color-member/theme_color-member-hsl-manual.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <title>Test that theme_color member is supported</title>
 <link rel="help" href="https://w3c.github.io/manifest#theme_color-member" />
-<link rel="manifest" href="theme_color-member-red.webmanifest" />
+<link rel="manifest" href="theme_color-member-hsl.webmanifest" />
 <h1>Testing support for theme_name member</h1>
 <p>
-  To pass, the theme_color should be red.
+  To pass, the theme_color must be green.
 </p>
diff --git a/appmanifest/theme_color-member/theme_color-member-hsl.webmanifest b/appmanifest/theme_color-member/theme_color-member-hsl.webmanifest
new file mode 100644
index 0000000..23ae16c
--- /dev/null
+++ b/appmanifest/theme_color-member/theme_color-member-hsl.webmanifest
@@ -0,0 +1,3 @@
+{
+    "theme_color": "hsl(120 100% 50%)"
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/theme_color-member/theme_color-member-hsl.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/theme_color-member/theme_color-member-hsl.webmanifest.headers
diff --git a/appmanifest/theme_color-member/theme_color-member-red-manual.html b/appmanifest/theme_color-member/theme_color-member-named-manual.html
similarity index 65%
copy from appmanifest/theme_color-member/theme_color-member-red-manual.html
copy to appmanifest/theme_color-member/theme_color-member-named-manual.html
index 07c6dfe..572ba56 100644
--- a/appmanifest/theme_color-member/theme_color-member-red-manual.html
+++ b/appmanifest/theme_color-member/theme_color-member-named-manual.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <title>Test that theme_color member is supported</title>
 <link rel="help" href="https://w3c.github.io/manifest#theme_color-member" />
-<link rel="manifest" href="theme_color-member-red.webmanifest" />
+<link rel="manifest" href="theme_color-member-named.webmanifest" />
 <h1>Testing support for theme_name member</h1>
 <p>
-  To pass, the theme_color should be red.
+  To pass, the theme_color must be green.
 </p>
diff --git a/appmanifest/theme_color-member/theme_color-member-named.webmanifest b/appmanifest/theme_color-member/theme_color-member-named.webmanifest
new file mode 100644
index 0000000..4d856c5
--- /dev/null
+++ b/appmanifest/theme_color-member/theme_color-member-named.webmanifest
@@ -0,0 +1,3 @@
+{
+    "theme_color": "green"
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/theme_color-member/theme_color-member-named.webmanifest.headers
similarity index 100%
rename from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
rename to appmanifest/theme_color-member/theme_color-member-named.webmanifest.headers
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest b/appmanifest/theme_color-member/theme_color-member-red.webmanifest
deleted file mode 100644
index 87324a7..0000000
--- a/appmanifest/theme_color-member/theme_color-member-red.webmanifest
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "theme_color": "red"
-}
\ No newline at end of file
diff --git a/appmanifest/theme_color-member/theme_color-member-red-manual.html b/appmanifest/theme_color-member/theme_color-member-rgb-manual.html
similarity index 66%
rename from appmanifest/theme_color-member/theme_color-member-red-manual.html
rename to appmanifest/theme_color-member/theme_color-member-rgb-manual.html
index 07c6dfe..5907ae0 100644
--- a/appmanifest/theme_color-member/theme_color-member-red-manual.html
+++ b/appmanifest/theme_color-member/theme_color-member-rgb-manual.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <title>Test that theme_color member is supported</title>
 <link rel="help" href="https://w3c.github.io/manifest#theme_color-member" />
-<link rel="manifest" href="theme_color-member-red.webmanifest" />
+<link rel="manifest" href="theme_color-member-rgb.webmanifest" />
 <h1>Testing support for theme_name member</h1>
 <p>
-  To pass, the theme_color should be red.
+  To pass, the theme_color must be green.
 </p>
diff --git a/appmanifest/theme_color-member/theme_color-member-rgb.webmanifest b/appmanifest/theme_color-member/theme_color-member-rgb.webmanifest
new file mode 100644
index 0000000..36e8ac1
--- /dev/null
+++ b/appmanifest/theme_color-member/theme_color-member-rgb.webmanifest
@@ -0,0 +1,3 @@
+{
+    "theme_color": "rgb(0 255 0)"
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/theme_color-member/theme_color-member-rgb.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/theme_color-member/theme_color-member-rgb.webmanifest.headers
diff --git a/appmanifest/theme_color-member/theme_color-member-red-manual.html b/appmanifest/theme_color-member/theme_color-member-rgbhex3-manual.html
similarity index 64%
copy from appmanifest/theme_color-member/theme_color-member-red-manual.html
copy to appmanifest/theme_color-member/theme_color-member-rgbhex3-manual.html
index 07c6dfe..3a2d8d9 100644
--- a/appmanifest/theme_color-member/theme_color-member-red-manual.html
+++ b/appmanifest/theme_color-member/theme_color-member-rgbhex3-manual.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <title>Test that theme_color member is supported</title>
 <link rel="help" href="https://w3c.github.io/manifest#theme_color-member" />
-<link rel="manifest" href="theme_color-member-red.webmanifest" />
+<link rel="manifest" href="theme_color-member-rgbhex3.webmanifest" />
 <h1>Testing support for theme_name member</h1>
 <p>
-  To pass, the theme_color should be red.
+  To pass, the theme_color must be green.
 </p>
diff --git a/appmanifest/theme_color-member/theme_color-member-rgbhex3.webmanifest b/appmanifest/theme_color-member/theme_color-member-rgbhex3.webmanifest
new file mode 100644
index 0000000..8650460
--- /dev/null
+++ b/appmanifest/theme_color-member/theme_color-member-rgbhex3.webmanifest
@@ -0,0 +1,3 @@
+{
+    "theme_color": "#0F0"
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/theme_color-member/theme_color-member-rgbhex3.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/theme_color-member/theme_color-member-rgbhex3.webmanifest.headers
diff --git a/appmanifest/theme_color-member/theme_color-member-red-manual.html b/appmanifest/theme_color-member/theme_color-member-rgbhex6-manual.html
similarity index 64%
copy from appmanifest/theme_color-member/theme_color-member-red-manual.html
copy to appmanifest/theme_color-member/theme_color-member-rgbhex6-manual.html
index 07c6dfe..b700edf 100644
--- a/appmanifest/theme_color-member/theme_color-member-red-manual.html
+++ b/appmanifest/theme_color-member/theme_color-member-rgbhex6-manual.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <title>Test that theme_color member is supported</title>
 <link rel="help" href="https://w3c.github.io/manifest#theme_color-member" />
-<link rel="manifest" href="theme_color-member-red.webmanifest" />
+<link rel="manifest" href="theme_color-member-rgbhex6.webmanifest" />
 <h1>Testing support for theme_name member</h1>
 <p>
-  To pass, the theme_color should be red.
+  To pass, the theme_color must be green.
 </p>
diff --git a/appmanifest/theme_color-member/theme_color-member-rgbhex6.webmanifest b/appmanifest/theme_color-member/theme_color-member-rgbhex6.webmanifest
new file mode 100644
index 0000000..7e259dc
--- /dev/null
+++ b/appmanifest/theme_color-member/theme_color-member-rgbhex6.webmanifest
@@ -0,0 +1,3 @@
+{
+    "theme_color": "#00FF00"
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/theme_color-member/theme_color-member-rgbhex6.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/theme_color-member/theme_color-member-rgbhex6.webmanifest.headers
diff --git a/appmanifest/theme_color-member/theme_color-member-red-manual.html b/appmanifest/theme_color-member/theme_color-member-rgblegacy-manual.html
similarity index 64%
copy from appmanifest/theme_color-member/theme_color-member-red-manual.html
copy to appmanifest/theme_color-member/theme_color-member-rgblegacy-manual.html
index 07c6dfe..328812e 100644
--- a/appmanifest/theme_color-member/theme_color-member-red-manual.html
+++ b/appmanifest/theme_color-member/theme_color-member-rgblegacy-manual.html
@@ -1,8 +1,8 @@
 <!DOCTYPE html>
 <title>Test that theme_color member is supported</title>
 <link rel="help" href="https://w3c.github.io/manifest#theme_color-member" />
-<link rel="manifest" href="theme_color-member-red.webmanifest" />
+<link rel="manifest" href="theme_color-member-rgblegacy.webmanifest" />
 <h1>Testing support for theme_name member</h1>
 <p>
-  To pass, the theme_color should be red.
+  To pass, the theme_color must be green.
 </p>
diff --git a/appmanifest/theme_color-member/theme_color-member-rgblegacy.webmanifest b/appmanifest/theme_color-member/theme_color-member-rgblegacy.webmanifest
new file mode 100644
index 0000000..d07556c
--- /dev/null
+++ b/appmanifest/theme_color-member/theme_color-member-rgblegacy.webmanifest
@@ -0,0 +1,3 @@
+{
+    "theme_color": "rgb(0, 255, 0)"
+}
diff --git a/appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers b/appmanifest/theme_color-member/theme_color-member-rgblegacy.webmanifest.headers
similarity index 100%
copy from appmanifest/theme_color-member/theme_color-member-red.webmanifest.headers
copy to appmanifest/theme_color-member/theme_color-member-rgblegacy.webmanifest.headers