diff --git a/packages/mdc-dialog/README.md b/packages/mdc-dialog/README.md
index 8cd5e0b7abb..3ecc9cd9552 100644
--- a/packages/mdc-dialog/README.md
+++ b/packages/mdc-dialog/README.md
@@ -161,6 +161,12 @@ a `mdc-dialog__body--scrollable` modifier to allow scrolling in the dialog.
Note that unlike the css classnames, the specific ID names used do not have to be _exactly_ the same as listed above.
They only need to match the values set for their corresponding aria attributes.
+### Styles
+
+```scss
+@import "@material/dialog/mdc-dialog";
+```
+
### Dialog Action Color ###
Dialog actions use system colors by default, but you can use a contrasting color, such as the paletteās secondary color, to distinguish dialog actions from dialog content. To emphasize an action from other contents, add `mdc-dialog__action` to `mdc-button` to apply secondary color.
diff --git a/packages/mdc-drawer/modal/mdc-drawer-modal.scss b/packages/mdc-drawer/modal/mdc-drawer-modal.scss
index 261955d1461..8540f7deac2 100644
--- a/packages/mdc-drawer/modal/mdc-drawer-modal.scss
+++ b/packages/mdc-drawer/modal/mdc-drawer-modal.scss
@@ -35,7 +35,7 @@
position: fixed;
&.mdc-drawer--open {
- display: block;
+ display: flex;
}
}
diff --git a/packages/mdc-textfield/_variables.scss b/packages/mdc-textfield/_variables.scss
index f36707e69f7..8bb78887ae5 100644
--- a/packages/mdc-textfield/_variables.scss
+++ b/packages/mdc-textfield/_variables.scss
@@ -19,7 +19,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
-$mdc-text-field-error: #b00020;
+$mdc-text-field-error: error;
$mdc-text-field-fullwidth-bottom-line-color: rgba(mdc-theme-prop-value(on-surface), .12);
$mdc-text-field-disabled-border: rgba(mdc-theme-prop-value(on-surface), .06);
$mdc-text-field-disabled-icon: rgba(mdc-theme-prop-value(on-surface), .3);
diff --git a/packages/mdc-theme/_variables.scss b/packages/mdc-theme/_variables.scss
index b92742cb216..984c897c072 100644
--- a/packages/mdc-theme/_variables.scss
+++ b/packages/mdc-theme/_variables.scss
@@ -41,6 +41,9 @@ $mdc-theme-background: #fff !default; // White
$mdc-theme-surface: #fff !default;
$mdc-theme-on-surface: if(mdc-theme-contrast-tone($mdc-theme-surface) == "dark", #000, #fff) !default;
+$mdc-theme-error: #b00020;
+$mdc-theme-on-error: #fff;
+
//
// Text colors according to light vs dark and text type.
//
@@ -87,9 +90,12 @@ $mdc-theme-property-values: (
background: $mdc-theme-background,
// Surface
surface: $mdc-theme-surface,
+ // Error
+ error: $mdc-theme-error,
on-primary: $mdc-theme-on-primary,
on-secondary: $mdc-theme-on-secondary,
on-surface: $mdc-theme-on-surface,
+ on-error: $mdc-theme-on-error,
// Text-primary on "background" background
text-primary-on-background: mdc-theme-ink-color-for-fill_(primary, $mdc-theme-background),
text-secondary-on-background: mdc-theme-ink-color-for-fill_(secondary, $mdc-theme-background),
diff --git a/test/screenshot/golden.json b/test/screenshot/golden.json
index 1a96376d88a..6a2dfe6466d 100644
--- a/test/screenshot/golden.json
+++ b/test/screenshot/golden.json
@@ -1,6 +1,6 @@
{
"spec/mdc-button/classes/baseline-button-with-icons.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/classes/baseline-button-with-icons.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-button-with-icons.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-button-with-icons.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-button-with-icons.html.windows_edge_17.png",
@@ -9,7 +9,7 @@
}
},
"spec/mdc-button/classes/baseline-button-without-icons.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/classes/baseline-button-without-icons.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-button-without-icons.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-button-without-icons.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-button-without-icons.html.windows_edge_17.png",
@@ -18,7 +18,7 @@
}
},
"spec/mdc-button/classes/baseline-link-with-icons.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/classes/baseline-link-with-icons.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-link-with-icons.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-link-with-icons.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-link-with-icons.html.windows_edge_17.png",
@@ -27,7 +27,7 @@
}
},
"spec/mdc-button/classes/baseline-link-without-icons.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/classes/baseline-link-without-icons.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-link-without-icons.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-link-without-icons.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/baseline-link-without-icons.html.windows_edge_17.png",
@@ -36,7 +36,7 @@
}
},
"spec/mdc-button/classes/dense-button-with-icons.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/classes/dense-button-with-icons.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-button-with-icons.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-button-with-icons.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-button-with-icons.html.windows_edge_17.png",
@@ -45,7 +45,7 @@
}
},
"spec/mdc-button/classes/dense-button-without-icons.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/classes/dense-button-without-icons.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-button-without-icons.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-button-without-icons.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-button-without-icons.html.windows_edge_17.png",
@@ -54,7 +54,7 @@
}
},
"spec/mdc-button/classes/dense-link-with-icons.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/classes/dense-link-with-icons.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-link-with-icons.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-link-with-icons.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-link-with-icons.html.windows_edge_17.png",
@@ -63,7 +63,7 @@
}
},
"spec/mdc-button/classes/dense-link-without-icons.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/classes/dense-link-without-icons.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-link-without-icons.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-link-without-icons.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/classes/dense-link-without-icons.html.windows_edge_17.png",
@@ -72,7 +72,7 @@
}
},
"spec/mdc-button/mixins/container-fill-color.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/container-fill-color.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/container-fill-color.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/container-fill-color.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/container-fill-color.html.windows_edge_17.png",
@@ -81,7 +81,7 @@
}
},
"spec/mdc-button/mixins/corner-radius.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/corner-radius.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/corner-radius.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/corner-radius.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/corner-radius.html.windows_edge_17.png",
@@ -90,7 +90,7 @@
}
},
"spec/mdc-button/mixins/filled-accessible.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/filled-accessible.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/filled-accessible.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/filled-accessible.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/filled-accessible.html.windows_edge_17.png",
@@ -99,7 +99,7 @@
}
},
"spec/mdc-button/mixins/horizontal-padding-baseline.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/horizontal-padding-baseline.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/horizontal-padding-baseline.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/horizontal-padding-baseline.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/horizontal-padding-baseline.html.windows_edge_17.png",
@@ -108,7 +108,7 @@
}
},
"spec/mdc-button/mixins/horizontal-padding-dense.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/horizontal-padding-dense.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/horizontal-padding-dense.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/horizontal-padding-dense.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/horizontal-padding-dense.html.windows_edge_17.png",
@@ -117,7 +117,7 @@
}
},
"spec/mdc-button/mixins/icon-color.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/icon-color.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/icon-color.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/icon-color.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/icon-color.html.windows_edge_17.png",
@@ -126,7 +126,7 @@
}
},
"spec/mdc-button/mixins/ink-color.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/ink-color.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/ink-color.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/ink-color.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/ink-color.html.windows_edge_17.png",
@@ -135,7 +135,7 @@
}
},
"spec/mdc-button/mixins/stroke-color.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/stroke-color.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/stroke-color.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/stroke-color.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/stroke-color.html.windows_edge_17.png",
@@ -144,7 +144,7 @@
}
},
"spec/mdc-button/mixins/stroke-width.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-button/mixins/stroke-width.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/stroke-width.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/stroke-width.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-button/mixins/stroke-width.html.windows_edge_17.png",
@@ -153,7 +153,7 @@
}
},
"spec/mdc-card/classes/baseline.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/31/04_55_54_478/spec/mdc-card/classes/baseline.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/07/22_51_57_136/spec/mdc-card/classes/baseline.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/31/04_55_54_478/spec/mdc-card/classes/baseline.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/31/04_55_54_478/spec/mdc-card/classes/baseline.html.windows_edge_17.png",
@@ -198,48 +198,48 @@
}
},
"spec/mdc-drawer/classes/dismissible.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/20/20_20_10_473/spec/mdc-drawer/classes/dismissible.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/dismissible.html",
"screenshots": {
- "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/dismissible.html.windows_chrome_68.png",
- "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/dismissible.html.windows_edge_17.png",
- "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/dismissible.html.windows_firefox_61.png",
- "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/dismissible.html.windows_ie_11.png"
+ "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/dismissible.html.windows_chrome_68.png",
+ "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/dismissible.html.windows_edge_17.png",
+ "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/dismissible.html.windows_firefox_61.png",
+ "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/dismissible.html.windows_ie_11.png"
}
},
"spec/mdc-drawer/classes/modal.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/22/19_20_41_831/spec/mdc-drawer/classes/modal.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/modal.html",
"screenshots": {
- "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/modal.html.windows_chrome_68.png",
- "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/modal.html.windows_edge_17.png",
- "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/modal.html.windows_firefox_61.png",
- "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/modal.html.windows_ie_11.png"
+ "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/modal.html.windows_chrome_68.png",
+ "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/modal.html.windows_edge_17.png",
+ "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/modal.html.windows_firefox_61.png",
+ "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/modal.html.windows_ie_11.png"
}
},
"spec/mdc-drawer/classes/permanent.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/permanent.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/permanent.html",
"screenshots": {
- "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/permanent.html.windows_chrome_68.png",
- "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/permanent.html.windows_edge_17.png",
- "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/permanent.html.windows_firefox_61.png",
- "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/classes/permanent.html.windows_ie_11.png"
+ "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/permanent.html.windows_chrome_68.png",
+ "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/permanent.html.windows_edge_17.png",
+ "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/permanent.html.windows_firefox_61.png",
+ "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/classes/permanent.html.windows_ie_11.png"
}
},
"spec/mdc-drawer/mixins/fill-color-accessible.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/21_05_09_679/spec/mdc-drawer/mixins/fill-color-accessible.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color-accessible.html",
"screenshots": {
- "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/mixins/fill-color-accessible.html.windows_chrome_68.png",
- "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/mixins/fill-color-accessible.html.windows_edge_17.png",
- "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/mixins/fill-color-accessible.html.windows_firefox_61.png",
- "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/mixins/fill-color-accessible.html.windows_ie_11.png"
+ "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color-accessible.html.windows_chrome_68.png",
+ "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color-accessible.html.windows_edge_17.png",
+ "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color-accessible.html.windows_firefox_61.png",
+ "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color-accessible.html.windows_ie_11.png"
}
},
"spec/mdc-drawer/mixins/fill-color.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/21_05_09_679/spec/mdc-drawer/mixins/fill-color.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color.html",
"screenshots": {
- "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/mixins/fill-color.html.windows_chrome_68.png",
- "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/mixins/fill-color.html.windows_edge_17.png",
- "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/mixins/fill-color.html.windows_firefox_61.png",
- "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/abhiomkar/2018/08/24/18_38_28_836/spec/mdc-drawer/mixins/fill-color.html.windows_ie_11.png"
+ "desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color.html.windows_chrome_68.png",
+ "desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color.html.windows_edge_17.png",
+ "desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color.html.windows_firefox_61.png",
+ "desktop_windows_ie@11": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/29/10_31_51_582/spec/mdc-drawer/mixins/fill-color.html.windows_ie_11.png"
}
},
"spec/mdc-elevation/classes/baseline-large.html": {
@@ -261,7 +261,7 @@
}
},
"spec/mdc-elevation/mixins/mixins.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/02/20_26_32_912/spec/mdc-elevation/mixins/mixins.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/02/21_23_44_930/spec/mdc-elevation/mixins/mixins.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/02/21_23_44_930/spec/mdc-elevation/mixins/mixins.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/02/21_23_44_930/spec/mdc-elevation/mixins/mixins.html.windows_edge_17.png",
@@ -270,7 +270,7 @@
}
},
"spec/mdc-fab/classes/baseline.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-fab/classes/baseline.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/baseline.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/baseline.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/baseline.html.windows_edge_17.png",
@@ -279,7 +279,7 @@
}
},
"spec/mdc-fab/classes/extended.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-fab/classes/extended.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/extended.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/extended.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/extended.html.windows_edge_17.png",
@@ -288,7 +288,7 @@
}
},
"spec/mdc-fab/classes/mini.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-fab/classes/mini.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/mini.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/mini.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/classes/mini.html.windows_edge_17.png",
@@ -297,7 +297,7 @@
}
},
"spec/mdc-fab/mixins/extended-padding.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-fab/mixins/extended-padding.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/mixins/extended-padding.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/mixins/extended-padding.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-fab/mixins/extended-padding.html.windows_edge_17.png",
@@ -315,7 +315,7 @@
}
},
"spec/mdc-icon-button/classes/baseline.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-icon-button/classes/baseline.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/classes/baseline.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/classes/baseline.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/classes/baseline.html.windows_edge_17.png",
@@ -324,7 +324,7 @@
}
},
"spec/mdc-icon-button/mixins/icon-size.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-icon-button/mixins/icon-size.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/mixins/icon-size.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/mixins/icon-size.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/mixins/icon-size.html.windows_edge_17.png",
@@ -333,7 +333,7 @@
}
},
"spec/mdc-icon-button/mixins/ink-color.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/07_29_10_421/spec/mdc-icon-button/mixins/ink-color.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/mixins/ink-color.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/mixins/ink-color.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/07/17/22_50_36_536/spec/mdc-icon-button/mixins/ink-color.html.windows_edge_17.png",
@@ -342,7 +342,7 @@
}
},
"spec/mdc-linear-progress/classes/baseline.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/14/07_30_19_707/spec/mdc-linear-progress/classes/baseline.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/14/07_44_08_226/spec/mdc-linear-progress/classes/baseline.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/14/07_30_19_707/spec/mdc-linear-progress/classes/baseline.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/14/07_44_08_226/spec/mdc-linear-progress/classes/baseline.html.windows_edge_17.png",
@@ -387,7 +387,7 @@
}
},
"spec/mdc-switch/classes/baseline.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/21/00_22_42_705/spec/mdc-switch/classes/baseline.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/classes/baseline.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/classes/baseline.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/classes/baseline.html.windows_edge_17.png",
@@ -396,7 +396,7 @@
}
},
"spec/mdc-switch/mixins/thumb-color.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/21/00_22_42_705/spec/mdc-switch/mixins/thumb-color.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/mixins/thumb-color.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/mixins/thumb-color.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/mixins/thumb-color.html.windows_edge_17.png",
@@ -405,7 +405,7 @@
}
},
"spec/mdc-switch/mixins/track-color.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/21/00_22_42_705/spec/mdc-switch/mixins/track-color.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/mixins/track-color.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/mixins/track-color.html.windows_chrome_67.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/rlfriedman/2018/07/23/18_31_44_533/spec/mdc-switch/mixins/track-color.html.windows_edge_17.png",
@@ -414,7 +414,7 @@
}
},
"spec/mdc-textfield/classes/baseline-helper-text-persistent-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/baseline-helper-text-persistent-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-persistent-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-persistent-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-persistent-validation-msg.html.windows_edge_17.png",
@@ -423,7 +423,7 @@
}
},
"spec/mdc-textfield/classes/baseline-helper-text-persistent.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/baseline-helper-text-persistent.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-persistent.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-persistent.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-persistent.html.windows_edge_17.png",
@@ -432,7 +432,7 @@
}
},
"spec/mdc-textfield/classes/baseline-helper-text-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/baseline-helper-text-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text-validation-msg.html.windows_edge_17.png",
@@ -441,7 +441,7 @@
}
},
"spec/mdc-textfield/classes/baseline-helper-text.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/baseline-helper-text.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-helper-text.html.windows_edge_17.png",
@@ -450,7 +450,7 @@
}
},
"spec/mdc-textfield/classes/baseline-leading-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/baseline-leading-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-leading-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-leading-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-leading-icon.html.windows_edge_17.png",
@@ -459,7 +459,7 @@
}
},
"spec/mdc-textfield/classes/baseline-trailing-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/baseline-trailing-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-trailing-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-trailing-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline-trailing-icon.html.windows_edge_17.png",
@@ -468,7 +468,7 @@
}
},
"spec/mdc-textfield/classes/baseline.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/07/31/06_01_39_219/spec/mdc-textfield/classes/baseline.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/baseline.html.windows_edge_17.png",
@@ -477,7 +477,7 @@
}
},
"spec/mdc-textfield/classes/disabled-helper-text-persistent-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/disabled-helper-text-persistent-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-persistent-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-persistent-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-persistent-validation-msg.html.windows_edge_17.png",
@@ -486,7 +486,7 @@
}
},
"spec/mdc-textfield/classes/disabled-helper-text-persistent.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/disabled-helper-text-persistent.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-persistent.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-persistent.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-persistent.html.windows_edge_17.png",
@@ -495,7 +495,7 @@
}
},
"spec/mdc-textfield/classes/disabled-helper-text-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/disabled-helper-text-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text-validation-msg.html.windows_edge_17.png",
@@ -504,7 +504,7 @@
}
},
"spec/mdc-textfield/classes/disabled-helper-text.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/disabled-helper-text.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-helper-text.html.windows_edge_17.png",
@@ -513,7 +513,7 @@
}
},
"spec/mdc-textfield/classes/disabled-leading-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/disabled-leading-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-leading-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-leading-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-leading-icon.html.windows_edge_17.png",
@@ -522,7 +522,7 @@
}
},
"spec/mdc-textfield/classes/disabled-trailing-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/disabled-trailing-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-trailing-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-trailing-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled-trailing-icon.html.windows_edge_17.png",
@@ -531,7 +531,7 @@
}
},
"spec/mdc-textfield/classes/disabled.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/disabled.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/disabled.html.windows_edge_17.png",
@@ -540,7 +540,7 @@
}
},
"spec/mdc-textfield/classes/focused-helper-text-persistent-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/focused-helper-text-persistent-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-persistent-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-persistent-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-persistent-validation-msg.html.windows_edge_17.png",
@@ -549,7 +549,7 @@
}
},
"spec/mdc-textfield/classes/focused-helper-text-persistent.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/focused-helper-text-persistent.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-persistent.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-persistent.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-persistent.html.windows_edge_17.png",
@@ -558,7 +558,7 @@
}
},
"spec/mdc-textfield/classes/focused-helper-text-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/focused-helper-text-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text-validation-msg.html.windows_edge_17.png",
@@ -567,7 +567,7 @@
}
},
"spec/mdc-textfield/classes/focused-helper-text.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/focused-helper-text.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-helper-text.html.windows_edge_17.png",
@@ -576,7 +576,7 @@
}
},
"spec/mdc-textfield/classes/focused-leading-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/focused-leading-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-leading-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-leading-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-leading-icon.html.windows_edge_17.png",
@@ -585,7 +585,7 @@
}
},
"spec/mdc-textfield/classes/focused-trailing-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/focused-trailing-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-trailing-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-trailing-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused-trailing-icon.html.windows_edge_17.png",
@@ -594,7 +594,7 @@
}
},
"spec/mdc-textfield/classes/focused.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/focused.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/focused.html.windows_edge_17.png",
@@ -603,7 +603,7 @@
}
},
"spec/mdc-textfield/classes/invalid-focused-helper-text-persistent-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-focused-helper-text-persistent-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-persistent-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-persistent-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-persistent-validation-msg.html.windows_edge_17.png",
@@ -612,7 +612,7 @@
}
},
"spec/mdc-textfield/classes/invalid-focused-helper-text-persistent.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-focused-helper-text-persistent.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-persistent.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-persistent.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-persistent.html.windows_edge_17.png",
@@ -621,7 +621,7 @@
}
},
"spec/mdc-textfield/classes/invalid-focused-helper-text-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-focused-helper-text-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text-validation-msg.html.windows_edge_17.png",
@@ -630,7 +630,7 @@
}
},
"spec/mdc-textfield/classes/invalid-focused-helper-text.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-focused-helper-text.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-helper-text.html.windows_edge_17.png",
@@ -639,7 +639,7 @@
}
},
"spec/mdc-textfield/classes/invalid-focused-leading-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-focused-leading-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-leading-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-leading-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-leading-icon.html.windows_edge_17.png",
@@ -648,7 +648,7 @@
}
},
"spec/mdc-textfield/classes/invalid-focused-trailing-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-focused-trailing-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-trailing-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-trailing-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused-trailing-icon.html.windows_edge_17.png",
@@ -657,7 +657,7 @@
}
},
"spec/mdc-textfield/classes/invalid-focused.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-focused.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-focused.html.windows_edge_17.png",
@@ -666,7 +666,7 @@
}
},
"spec/mdc-textfield/classes/invalid-helper-text-persistent-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-helper-text-persistent-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-persistent-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-persistent-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-persistent-validation-msg.html.windows_edge_17.png",
@@ -675,7 +675,7 @@
}
},
"spec/mdc-textfield/classes/invalid-helper-text-persistent.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-helper-text-persistent.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-persistent.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-persistent.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-persistent.html.windows_edge_17.png",
@@ -684,7 +684,7 @@
}
},
"spec/mdc-textfield/classes/invalid-helper-text-validation-msg.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-helper-text-validation-msg.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-validation-msg.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-validation-msg.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text-validation-msg.html.windows_edge_17.png",
@@ -693,7 +693,7 @@
}
},
"spec/mdc-textfield/classes/invalid-helper-text.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-helper-text.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-helper-text.html.windows_edge_17.png",
@@ -702,7 +702,7 @@
}
},
"spec/mdc-textfield/classes/invalid-leading-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-leading-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-leading-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-leading-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-leading-icon.html.windows_edge_17.png",
@@ -711,7 +711,7 @@
}
},
"spec/mdc-textfield/classes/invalid-trailing-icon.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid-trailing-icon.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-trailing-icon.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-trailing-icon.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid-trailing-icon.html.windows_edge_17.png",
@@ -720,7 +720,7 @@
}
},
"spec/mdc-textfield/classes/invalid.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/00_49_00_411/spec/mdc-textfield/classes/invalid.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/invalid.html.windows_edge_17.png",
@@ -729,7 +729,7 @@
}
},
"spec/mdc-textfield/classes/textarea-disabled.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/textarea-disabled.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-disabled.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-disabled.html.windows_chrome_68.png",
"desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-disabled.html.windows_firefox_61.png",
@@ -737,7 +737,7 @@
}
},
"spec/mdc-textfield/classes/textarea-focused.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/textarea-focused.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-focused.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-focused.html.windows_chrome_68.png",
"desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-focused.html.windows_firefox_61.png",
@@ -745,7 +745,7 @@
}
},
"spec/mdc-textfield/classes/textarea-invalid.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/textarea-invalid.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-invalid.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-invalid.html.windows_chrome_68.png",
"desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea-invalid.html.windows_firefox_61.png",
@@ -753,7 +753,7 @@
}
},
"spec/mdc-textfield/classes/textarea.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/01/15_41_51_957/spec/mdc-textfield/classes/textarea.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea.html.windows_chrome_68.png",
"desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/classes/textarea.html.windows_firefox_61.png",
@@ -761,7 +761,7 @@
}
},
"spec/mdc-textfield/issues/3332.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/williamernest/2018/08/14/18_11_32_299/spec/mdc-textfield/issues/3332.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/issues/3332.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/issues/3332.html.windows_chrome_68.png",
"desktop_windows_edge@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/23/20_10_17_804/spec/mdc-textfield/issues/3332.html.windows_edge_17.png",
@@ -770,7 +770,7 @@
}
},
"spec/mdc-typography/classes/baseline-large.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/03/00_19_30_622/spec/mdc-typography/classes/baseline-large.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/classes/baseline-large.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/classes/baseline-large.html.windows_chrome_68.png",
"desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/classes/baseline-large.html.windows_firefox_61.png",
@@ -778,7 +778,7 @@
}
},
"spec/mdc-typography/classes/baseline-small.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/03/00_19_30_622/spec/mdc-typography/classes/baseline-small.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/classes/baseline-small.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/classes/baseline-small.html.windows_chrome_68.png",
"desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/classes/baseline-small.html.windows_firefox_61.png",
@@ -786,7 +786,7 @@
}
},
"spec/mdc-typography/mixins/mixins.html": {
- "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/travis/2018/08/03/13_04_55_027/spec/mdc-typography/mixins/mixins.html",
+ "public_url": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/mixins/mixins.html",
"screenshots": {
"desktop_windows_chrome@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/mixins/mixins.html.windows_chrome_68.png",
"desktop_windows_firefox@latest": "https://storage.googleapis.com/mdc-web-screenshot-tests/advorak/2018/08/08/08_47_39_000/spec/mdc-typography/mixins/mixins.html.windows_firefox_61.png",
diff --git a/test/screenshot/infra/commands/index.js b/test/screenshot/infra/commands/index.js
index 04e7cc5ec03..c8a13adefad 100644
--- a/test/screenshot/infra/commands/index.js
+++ b/test/screenshot/infra/commands/index.js
@@ -125,6 +125,15 @@ class IndexCommand {
background-color: #eee;
}
+
+
+
+
diff --git a/test/screenshot/infra/commands/test.js b/test/screenshot/infra/commands/test.js
index 574b6bccb52..1d7b83d86fb 100644
--- a/test/screenshot/infra/commands/test.js
+++ b/test/screenshot/infra/commands/test.js
@@ -29,6 +29,7 @@ const mdcProto = require('../proto/mdc.pb').mdc.proto;
const GitRevision = mdcProto.GitRevision;
const InclusionType = mdcProto.Screenshot.InclusionType;
+const Analytics = require('../lib/analytics');
const BuildCommand = require('./build');
const Cli = require('../lib/cli');
const CliColor = require('../lib/logger').colors;
@@ -44,6 +45,7 @@ const {ExitCode} = require('../lib/constants');
// TODO(acdvorak): Refactor most of this class out into a separate file
class TestCommand {
constructor() {
+ this.analytics_ = new Analytics();
this.cli_ = new Cli();
this.diffBaseParser_ = new DiffBaseParser();
this.gitHubApi_ = new GitHubApi();
@@ -278,7 +280,11 @@ class TestCommand {
* @private
*/
getPrComment_({masterDiffReportData, snapshotGitRev}) {
- const masterReportPageUrl = masterDiffReportData.meta.report_html_file.public_url;
+ const masterReportPageUrl = this.analytics_.getUrl({
+ url: masterDiffReportData.meta.report_html_file.public_url,
+ source: 'github',
+ type: 'pr_comment',
+ });
const masterScreenshots = masterDiffReportData.screenshots;
const masterGitRev = masterDiffReportData.meta.golden_diff_base.git_revision;
@@ -291,7 +297,7 @@ class TestCommand {
if (numChanged === 0) {
const range = `commit ${snapshotGitRev.commit} vs. \`${masterGitRev.branch}\``;
- return `**All ${numTotal} screenshot tests passed** for ${range}! šÆš`;
+ return `**All [${numTotal} screenshot tests](${masterReportPageUrl}) passed** for ${range}! šÆš`;
}
const listMarkdown = [
@@ -306,7 +312,6 @@ class TestCommand {
),
].filter((str) => Boolean(str)).join('\n\n');
-
return `
š¤ Beep boop!
@@ -341,7 +346,11 @@ ${listMarkdown}
const listItemMarkdown = Object.entries(screenshotMap).map(([htmlFilePath, screenshotList]) => {
const browserIconMarkup = this.getAllBrowserIcons_(screenshotList.screenshots);
const firstScreenshot = screenshotList.screenshots[0];
- const htmlFileUrl = (firstScreenshot.actual_html_file || firstScreenshot.expected_html_file).public_url;
+ const htmlFileUrl = this.analytics_.getUrl({
+ url: (firstScreenshot.actual_html_file || firstScreenshot.expected_html_file).public_url,
+ source: 'github',
+ type: 'pr_comment',
+ });
return `
* [\`${htmlFilePath}\`](${htmlFileUrl}) ${browserIconMarkup}
@@ -373,7 +382,11 @@ ${listItemMarkdown}
*/
getOneBrowserIcon_(screenshot) {
const imgFile = screenshot.diff_image_file || screenshot.actual_image_file || screenshot.expected_image_file;
- const linkUrl = imgFile.public_url;
+ const linkUrl = this.analytics_.getUrl({
+ url: imgFile.public_url,
+ source: 'github',
+ type: 'pr_comment',
+ });
const untrimmed = `
|undefined=} extraParams
+ * @return {string}
+ */
+ getUrl({
+ url,
+ source,
+ type = undefined,
+ campaign = undefined,
+ medium = undefined,
+ extraParams = undefined,
+ } = {}) {
+ const [resource, oldQuery] = url.split('?');
+ const params = new URLSearchParams(oldQuery);
+ params.set('utm_source', source);
+ if (type) {
+ params.set('utm_content', type);
+ }
+ if (campaign) {
+ params.set('utm_campaign', campaign);
+ }
+ if (medium) {
+ params.set('utm_medium', medium);
+ }
+ if (extraParams) {
+ for (const [key, value] of Object.entries(extraParams)) {
+ params.set(key, value);
+ }
+ }
+ const newQuery = params.toString();
+ if (!newQuery) {
+ return resource;
+ }
+ return `${resource}?${newQuery}`;
+ }
+}
+
+module.exports = Analytics;
diff --git a/test/screenshot/infra/lib/cbt-api.js b/test/screenshot/infra/lib/cbt-api.js
index bcba51107c9..1c0782b9097 100644
--- a/test/screenshot/infra/lib/cbt-api.js
+++ b/test/screenshot/infra/lib/cbt-api.js
@@ -47,7 +47,7 @@ const SELENIUM_SERVER_URL = `http://${MDC_CBT_USERNAME}:${MDC_CBT_AUTHKEY}@hub.c
const {ExitCode, SELENIUM_ZOMBIE_SESSION_DURATION_MS} = require('./constants');
/** @type {?Promise>} */
-let allBrowsersPromise;
+let allDevicesPromise;
class CbtApi {
constructor() {
@@ -136,21 +136,21 @@ https://crossbrowsertesting.com/account
* @return {!Promise>}
*/
async fetchAvailableDevices() {
- if (allBrowsersPromise) {
- return allBrowsersPromise;
+ if (allDevicesPromise) {
+ return allDevicesPromise;
}
- this.logger_.debug('Fetching browsers from CBT...');
+ this.logger_.debug('Fetching devices and browsers from CBT...');
const stackTrace = getStackTrace('fetchAvailableDevices');
- allBrowsersPromise = this.sendRequest_(stackTrace, 'GET', '/selenium/browsers');
+ allDevicesPromise = this.sendRequest_(stackTrace, 'GET', '/selenium/browsers');
/** @type {!Array} */
- const allBrowsers = await allBrowsersPromise;
+ const allDevices = await allDevicesPromise;
- this.logger_.debug(`Fetched ${allBrowsers.length} browsers from CBT!`);
+ this.logger_.debug(`Fetched ${allDevices.length} devices from CBT!`);
- return allBrowsers;
+ return allDevices;
}
/**
diff --git a/test/screenshot/infra/lib/cli.js b/test/screenshot/infra/lib/cli.js
index 05d918ee089..0c2c8d5b712 100644
--- a/test/screenshot/infra/lib/cli.js
+++ b/test/screenshot/infra/lib/cli.js
@@ -29,6 +29,7 @@ const {ApprovalId} = mdcProto;
const argparse = require('argparse');
const checkIsOnline = require('is-online');
+const CliColor = require('./logger').colors;
const Duration = require('./duration');
const {GOLDEN_JSON_RELATIVE_PATH} = require('./constants');
@@ -66,6 +67,21 @@ class Cli {
this.args_ = this.rootParser_.parseArgs();
}
+ /**
+ * @param {string} url
+ * @return {string}
+ */
+ colorizeUrl(url) {
+ return url.replace(/^([^?]+)(\?.*)?$/, (substring, resourcePlain, queryPlain) => {
+ const resourceColor = CliColor.reset(resourcePlain);
+ if (queryPlain) {
+ const queryColor = CliColor.gray(queryPlain);
+ return `${resourceColor}${queryColor}`;
+ }
+ return resourceColor;
+ });
+ }
+
/**
* @return {!Promise}
*/
diff --git a/test/screenshot/infra/lib/github-api.js b/test/screenshot/infra/lib/github-api.js
index bd0c1b79731..b7398c63401 100644
--- a/test/screenshot/infra/lib/github-api.js
+++ b/test/screenshot/infra/lib/github-api.js
@@ -25,11 +25,13 @@ const VError = require('verror');
const debounce = require('debounce');
const octokit = require('@octokit/rest');
+const Analytics = require('./analytics');
const GitRepo = require('./git-repo');
const getStackTrace = require('./stacktrace')('GitHubApi');
class GitHubApi {
constructor() {
+ this.analytics_ = new Analytics();
this.gitRepo_ = new GitRepo();
this.octokit_ = octokit();
this.isTravis_ = process.env.TRAVIS === 'true';
@@ -146,7 +148,11 @@ class GitHubApi {
description = `${numChanged.toLocaleString()} screenshots differ from PR's golden.json`;
}
- targetUrl = meta.report_html_file.public_url;
+ targetUrl = this.analytics_.getUrl({
+ url: reportFileUrl,
+ source: 'github',
+ type: 'pr_status',
+ });
} else {
const runnableScreenshots = screenshots.runnable_screenshot_list;
const numTotal = runnableScreenshots.length;
diff --git a/test/screenshot/infra/lib/golden-file.js b/test/screenshot/infra/lib/golden-file.js
index 4c14bd163b2..a47d1c7b85a 100644
--- a/test/screenshot/infra/lib/golden-file.js
+++ b/test/screenshot/infra/lib/golden-file.js
@@ -26,11 +26,19 @@
const mdcProto = require('../proto/mdc.pb').mdc.proto;
const {GoldenScreenshot, GoldenSuite, TestFile} = mdcProto;
+const Analytics = require('./analytics');
+
class GoldenFile {
/**
* @param {!mdc.proto.GoldenSuite=} suiteJson
*/
constructor(suiteJson = GoldenSuite.create()) {
+ /**
+ * @type {!Analytics}
+ * @private
+ */
+ this.analytics_ = new Analytics();
+
/**
* @type {!mdc.proto.GoldenSuite}
* @private
@@ -94,6 +102,10 @@ class GoldenFile {
};
}
+ this.suiteJson_[htmlFilePath].public_url = this.analytics_.getUrl({
+ url: htmlFileUrl,
+ source: 'golden_json',
+ });
this.suiteJson_[htmlFilePath].screenshots[userAgentAlias] = screenshotImageUrl;
}
diff --git a/test/screenshot/infra/lib/report-builder.js b/test/screenshot/infra/lib/report-builder.js
index 1630d8dcbf7..1a2a7df1aa8 100644
--- a/test/screenshot/infra/lib/report-builder.js
+++ b/test/screenshot/infra/lib/report-builder.js
@@ -37,6 +37,7 @@ const {Approvals, DiffImageResult, Dimensions, FlakeConfig, GitStatus, GoldenScr
const {ReportData, ReportMeta, Screenshot, Screenshots, ScreenshotList, TestFile, User, UserAgents} = mdcProto;
const {InclusionType, CaptureState} = Screenshot;
+const Analytics = require('./analytics');
const CbtApi = require('./cbt-api');
const Cli = require('./cli');
const DiffBaseParser = require('./diff-base-parser');
@@ -54,6 +55,12 @@ const TEMP_DIR = os.tmpdir();
class ReportBuilder {
constructor() {
+ /**
+ * @type {!Analytics}
+ * @private
+ */
+ this.analytics_ = new Analytics();
+
/**
* @type {!CbtApi}
* @private
@@ -979,8 +986,12 @@ class ReportBuilder {
if (count > 0) {
for (const screenshot of screenshots) {
const htmlFile = screenshot.actual_html_file || screenshot.expected_html_file;
- const publicUrl = htmlFile.public_url;
- console.log(` - ${publicUrl} > ${screenshot.user_agent.alias}`);
+ const publicUrl = this.analytics_.getUrl({
+ url: htmlFile.public_url,
+ source: 'cli',
+ type: 'inventory',
+ });
+ console.log(` - ${this.cli_.colorizeUrl(publicUrl)} > ${screenshot.user_agent.alias}`);
}
}
console.log();
diff --git a/test/screenshot/infra/lib/selenium-api.js b/test/screenshot/infra/lib/selenium-api.js
index 8aa57a36300..f2da506d7a5 100644
--- a/test/screenshot/infra/lib/selenium-api.js
+++ b/test/screenshot/infra/lib/selenium-api.js
@@ -33,11 +33,12 @@ const path = require('path');
const mdcProto = require('../proto/mdc.pb').mdc.proto;
const seleniumProto = require('../proto/selenium.pb').selenium.proto;
-const {Screenshot, TestFile, UserAgent} = mdcProto;
+const {CropResult, Screenshot, TestFile, UserAgent} = mdcProto;
const {CaptureState, InclusionType} = Screenshot;
const {BrowserVendorType, Navigator} = UserAgent;
const {RawCapabilities} = seleniumProto;
+const Analytics = require('./analytics');
const CbtApi = require('./cbt-api');
const Cli = require('./cli');
const CliColor = require('./logger').colors;
@@ -65,7 +66,6 @@ const CliStatuses = {
STARTING: {name: 'Starting', color: CliColor.green},
STARTED: {name: 'Started', color: CliColor.bold.green},
GET: {name: 'Get', color: CliColor.bold.white},
- CROP: {name: 'Crop', color: CliColor.white},
PASS: {name: 'Pass', color: CliColor.green},
ADD: {name: 'Add', color: CliColor.bgGreen.black},
FAIL: {name: 'Fail', color: CliColor.red},
@@ -78,6 +78,12 @@ const CliStatuses = {
class SeleniumApi {
constructor() {
+ /**
+ * @type {!Analytics}
+ * @private
+ */
+ this.analytics_ = new Analytics();
+
/**
* @type {!CbtApi}
* @private
@@ -630,7 +636,7 @@ class SeleniumApi {
this.numPending_--;
this.numCompleted_++;
- const message = `${screenshot.actual_html_file.public_url} > ${screenshot.user_agent.alias}`;
+ const message = this.createStatusMessage_(screenshot);
if (diffImageResult.has_changed) {
changedScreenshots.push(screenshot);
@@ -716,7 +722,12 @@ class SeleniumApi {
if (screenshot.retry_count > 0) {
// TODO(acdvorak): Print this info when a test fails.
const {width, height} = diffImageResult.diff_image_dimensions;
- const whichMsg = `${screenshot.actual_html_file.public_url} > ${userAgent.alias}`;
+ const actualHtmlFileUrl = this.analytics_.getUrl({
+ url: screenshot.actual_html_file.public_url,
+ source: 'cli',
+ type: 'progress',
+ });
+ const whichMsg = `${actualHtmlFileUrl} > ${userAgent.alias}`;
const countMsg = `attempt ${screenshot.retry_count} of ${maxRetries}`;
const pixelMsg = `${changedPixelCount.toLocaleString()} pixels differed`;
const deltaMsg = `${diffImageResult.changed_pixel_percentage}% of ${width}x${height}`;
@@ -774,13 +785,17 @@ class SeleniumApi {
const userAgent = screenshot.user_agent;
const flakeConfig = screenshot.flake_config;
- const qsParams = new URLSearchParams({
- font_face_observer_timeout_ms: flakeConfig.font_face_observer_timeout_ms,
- fonts_loaded_reflow_delay_ms: flakeConfig.fonts_loaded_reflow_delay_ms,
+ const urlWithQsParams = this.analytics_.getUrl({
+ url,
+ source: 'cbt',
+ type: 'selenium',
+ extraParams: {
+ font_face_observer_timeout_ms: flakeConfig.font_face_observer_timeout_ms,
+ fonts_loaded_reflow_delay_ms: flakeConfig.fonts_loaded_reflow_delay_ms,
+ },
});
- const urlWithQsParams = `${url}?${qsParams}`;
- this.logStatus_(CliStatuses.GET, `${urlWithQsParams} > ${userAgent.alias}...`);
+ this.logStatus_(CliStatuses.GET, `${this.cli_.colorizeUrl(urlWithQsParams)} > ${userAgent.alias}...`);
const isOnline = this.cli_.isOnline();
const fontLoadTimeoutMs = isOnline ? flakeConfig.font_face_observer_timeout_ms : 500;
@@ -802,10 +817,12 @@ class SeleniumApi {
const {width: uncroppedWidth, height: uncroppedHeight} = uncroppedJimpImage.bitmap;
const {width: croppedWidth, height: croppedHeight} = croppedJimpImage.bitmap;
- const message =
- `${urlWithQsParams} > ${userAgent.alias} screenshot from ` +
- `${uncroppedWidth}x${uncroppedHeight} to ${croppedWidth}x${croppedHeight}`;
- this.logStatus_(CliStatuses.CROP, message);
+ screenshot.crop_result = CropResult.create({
+ uncropped_width: uncroppedWidth,
+ uncropped_height: uncroppedHeight,
+ cropped_width: croppedWidth,
+ cropped_height: croppedHeight,
+ });
return croppedImageBuffer;
}
@@ -928,6 +945,35 @@ class SeleniumApi {
return new Promise((resolve) => setTimeout(resolve, ms));
}
+ /**
+ * @param {!mdc.proto.Screenshot} screenshot
+ * @return {string}
+ * @private
+ */
+ createStatusMessage_(screenshot) {
+ const actualHtmlFileUrlPlain = this.analytics_.getUrl({
+ url: screenshot.actual_html_file.public_url,
+ source: 'cli',
+ type: 'progress',
+ });
+ const actualHtmlFileUrlColor = this.cli_.colorizeUrl(actualHtmlFileUrlPlain);
+
+ let cropColor = '';
+ if (screenshot.crop_result && screenshot.crop_result.uncropped_height > 0) {
+ const {
+ cropped_height: croppedHeight,
+ cropped_width: croppedWidth,
+ uncropped_height: uncroppedHeight,
+ uncropped_width: uncroppedWidth,
+ } = screenshot.crop_result;
+ cropColor = CliColor.gray(
+ ` (cropped from ${uncroppedWidth}x${uncroppedHeight} to ${croppedWidth}x${croppedHeight})`
+ );
+ }
+
+ return `${actualHtmlFileUrlColor} > ${screenshot.user_agent.alias}${cropColor}`;
+ }
+
/**
* @param {!CliStatus} status
* @param {!mdc.proto.UserAgent} userAgent
@@ -938,7 +984,7 @@ class SeleniumApi {
const browser = CliColor.bold(`${navigator.browser_name} ${navigator.browser_version}`);
const os = `${navigator.os_name} ${navigator.os_version}`;
const sessionId = userAgent.selenium_session_id;
- const publicCbtUrl = CliColor.underline(userAgent.selenium_result_url);
+ const publicCbtUrl = CliColor.yellow.underline(userAgent.selenium_result_url);
this.logStatus_(status, `${browser} on ${os}! - video: ${publicCbtUrl} (Selenium session ID: ${sessionId})`);
}
diff --git a/test/screenshot/infra/proto/mdc.pb.js b/test/screenshot/infra/proto/mdc.pb.js
index 8af40bf0046..33209217fc8 100644
--- a/test/screenshot/infra/proto/mdc.pb.js
+++ b/test/screenshot/infra/proto/mdc.pb.js
@@ -5545,6 +5545,7 @@ $root.mdc = (function() {
* @property {mdc.proto.ITestFile|null} [actual_image_file] Screenshot actual_image_file
* @property {mdc.proto.ITestFile|null} [diff_image_file] Screenshot diff_image_file
* @property {mdc.proto.IDiffImageResult|null} [diff_image_result] Screenshot diff_image_result
+ * @property {mdc.proto.ICropResult|null} [crop_result] Screenshot crop_result
* @property {number|null} [retry_count] Screenshot retry_count
* @property {mdc.proto.IFlakeConfig|null} [flake_config] Screenshot flake_config
*/
@@ -5660,6 +5661,14 @@ $root.mdc = (function() {
*/
Screenshot.prototype.diff_image_result = null;
+ /**
+ * Screenshot crop_result.
+ * @member {mdc.proto.ICropResult|null|undefined} crop_result
+ * @memberof mdc.proto.Screenshot
+ * @instance
+ */
+ Screenshot.prototype.crop_result = null;
+
/**
* Screenshot retry_count.
* @member {number} retry_count
@@ -5728,6 +5737,8 @@ $root.mdc = (function() {
$root.mdc.proto.FlakeConfig.encode(message.flake_config, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
if (message.is_url_skipped_by_cli != null && message.hasOwnProperty("is_url_skipped_by_cli"))
writer.uint32(/* id 14, wireType 0 =*/112).bool(message.is_url_skipped_by_cli);
+ if (message.crop_result != null && message.hasOwnProperty("crop_result"))
+ $root.mdc.proto.CropResult.encode(message.crop_result, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim();
return writer;
};
@@ -5798,6 +5809,9 @@ $root.mdc = (function() {
case 11:
message.diff_image_result = $root.mdc.proto.DiffImageResult.decode(reader, reader.uint32());
break;
+ case 15:
+ message.crop_result = $root.mdc.proto.CropResult.decode(reader, reader.uint32());
+ break;
case 12:
message.retry_count = reader.uint32();
break;
@@ -5905,6 +5919,11 @@ $root.mdc = (function() {
if (error)
return "diff_image_result." + error;
}
+ if (message.crop_result != null && message.hasOwnProperty("crop_result")) {
+ var error = $root.mdc.proto.CropResult.verify(message.crop_result);
+ if (error)
+ return "crop_result." + error;
+ }
if (message.retry_count != null && message.hasOwnProperty("retry_count"))
if (!$util.isInteger(message.retry_count))
return "retry_count: integer expected";
@@ -6013,6 +6032,11 @@ $root.mdc = (function() {
throw TypeError(".mdc.proto.Screenshot.diff_image_result: object expected");
message.diff_image_result = $root.mdc.proto.DiffImageResult.fromObject(object.diff_image_result);
}
+ if (object.crop_result != null) {
+ if (typeof object.crop_result !== "object")
+ throw TypeError(".mdc.proto.Screenshot.crop_result: object expected");
+ message.crop_result = $root.mdc.proto.CropResult.fromObject(object.crop_result);
+ }
if (object.retry_count != null)
message.retry_count = object.retry_count >>> 0;
if (object.flake_config != null) {
@@ -6051,6 +6075,7 @@ $root.mdc = (function() {
object.retry_count = 0;
object.flake_config = null;
object.is_url_skipped_by_cli = false;
+ object.crop_result = null;
}
if (message.is_runnable != null && message.hasOwnProperty("is_runnable"))
object.is_runnable = message.is_runnable;
@@ -6080,6 +6105,8 @@ $root.mdc = (function() {
object.flake_config = $root.mdc.proto.FlakeConfig.toObject(message.flake_config, options);
if (message.is_url_skipped_by_cli != null && message.hasOwnProperty("is_url_skipped_by_cli"))
object.is_url_skipped_by_cli = message.is_url_skipped_by_cli;
+ if (message.crop_result != null && message.hasOwnProperty("crop_result"))
+ object.crop_result = $root.mdc.proto.CropResult.toObject(message.crop_result, options);
return object;
};
@@ -6137,6 +6164,260 @@ $root.mdc = (function() {
return Screenshot;
})();
+ proto.CropResult = (function() {
+
+ /**
+ * Properties of a CropResult.
+ * @memberof mdc.proto
+ * @interface ICropResult
+ * @property {number|null} [uncropped_width] CropResult uncropped_width
+ * @property {number|null} [uncropped_height] CropResult uncropped_height
+ * @property {number|null} [cropped_width] CropResult cropped_width
+ * @property {number|null} [cropped_height] CropResult cropped_height
+ */
+
+ /**
+ * Constructs a new CropResult.
+ * @memberof mdc.proto
+ * @classdesc Represents a CropResult.
+ * @implements ICropResult
+ * @constructor
+ * @param {mdc.proto.ICropResult=} [properties] Properties to set
+ */
+ function CropResult(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CropResult uncropped_width.
+ * @member {number} uncropped_width
+ * @memberof mdc.proto.CropResult
+ * @instance
+ */
+ CropResult.prototype.uncropped_width = 0;
+
+ /**
+ * CropResult uncropped_height.
+ * @member {number} uncropped_height
+ * @memberof mdc.proto.CropResult
+ * @instance
+ */
+ CropResult.prototype.uncropped_height = 0;
+
+ /**
+ * CropResult cropped_width.
+ * @member {number} cropped_width
+ * @memberof mdc.proto.CropResult
+ * @instance
+ */
+ CropResult.prototype.cropped_width = 0;
+
+ /**
+ * CropResult cropped_height.
+ * @member {number} cropped_height
+ * @memberof mdc.proto.CropResult
+ * @instance
+ */
+ CropResult.prototype.cropped_height = 0;
+
+ /**
+ * Creates a new CropResult instance using the specified properties.
+ * @function create
+ * @memberof mdc.proto.CropResult
+ * @static
+ * @param {mdc.proto.ICropResult=} [properties] Properties to set
+ * @returns {mdc.proto.CropResult} CropResult instance
+ */
+ CropResult.create = function create(properties) {
+ return new CropResult(properties);
+ };
+
+ /**
+ * Encodes the specified CropResult message. Does not implicitly {@link mdc.proto.CropResult.verify|verify} messages.
+ * @function encode
+ * @memberof mdc.proto.CropResult
+ * @static
+ * @param {mdc.proto.ICropResult} message CropResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CropResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uncropped_width != null && message.hasOwnProperty("uncropped_width"))
+ writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.uncropped_width);
+ if (message.uncropped_height != null && message.hasOwnProperty("uncropped_height"))
+ writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.uncropped_height);
+ if (message.cropped_width != null && message.hasOwnProperty("cropped_width"))
+ writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.cropped_width);
+ if (message.cropped_height != null && message.hasOwnProperty("cropped_height"))
+ writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.cropped_height);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CropResult message, length delimited. Does not implicitly {@link mdc.proto.CropResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof mdc.proto.CropResult
+ * @static
+ * @param {mdc.proto.ICropResult} message CropResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CropResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CropResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof mdc.proto.CropResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {mdc.proto.CropResult} CropResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CropResult.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.mdc.proto.CropResult();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ message.uncropped_width = reader.uint32();
+ break;
+ case 2:
+ message.uncropped_height = reader.uint32();
+ break;
+ case 3:
+ message.cropped_width = reader.uint32();
+ break;
+ case 4:
+ message.cropped_height = reader.uint32();
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CropResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof mdc.proto.CropResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {mdc.proto.CropResult} CropResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CropResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CropResult message.
+ * @function verify
+ * @memberof mdc.proto.CropResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CropResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uncropped_width != null && message.hasOwnProperty("uncropped_width"))
+ if (!$util.isInteger(message.uncropped_width))
+ return "uncropped_width: integer expected";
+ if (message.uncropped_height != null && message.hasOwnProperty("uncropped_height"))
+ if (!$util.isInteger(message.uncropped_height))
+ return "uncropped_height: integer expected";
+ if (message.cropped_width != null && message.hasOwnProperty("cropped_width"))
+ if (!$util.isInteger(message.cropped_width))
+ return "cropped_width: integer expected";
+ if (message.cropped_height != null && message.hasOwnProperty("cropped_height"))
+ if (!$util.isInteger(message.cropped_height))
+ return "cropped_height: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a CropResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof mdc.proto.CropResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {mdc.proto.CropResult} CropResult
+ */
+ CropResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.mdc.proto.CropResult)
+ return object;
+ var message = new $root.mdc.proto.CropResult();
+ if (object.uncropped_width != null)
+ message.uncropped_width = object.uncropped_width >>> 0;
+ if (object.uncropped_height != null)
+ message.uncropped_height = object.uncropped_height >>> 0;
+ if (object.cropped_width != null)
+ message.cropped_width = object.cropped_width >>> 0;
+ if (object.cropped_height != null)
+ message.cropped_height = object.cropped_height >>> 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CropResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof mdc.proto.CropResult
+ * @static
+ * @param {mdc.proto.CropResult} message CropResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CropResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.uncropped_width = 0;
+ object.uncropped_height = 0;
+ object.cropped_width = 0;
+ object.cropped_height = 0;
+ }
+ if (message.uncropped_width != null && message.hasOwnProperty("uncropped_width"))
+ object.uncropped_width = message.uncropped_width;
+ if (message.uncropped_height != null && message.hasOwnProperty("uncropped_height"))
+ object.uncropped_height = message.uncropped_height;
+ if (message.cropped_width != null && message.hasOwnProperty("cropped_width"))
+ object.cropped_width = message.cropped_width;
+ if (message.cropped_height != null && message.hasOwnProperty("cropped_height"))
+ object.cropped_height = message.cropped_height;
+ return object;
+ };
+
+ /**
+ * Converts this CropResult to JSON.
+ * @function toJSON
+ * @memberof mdc.proto.CropResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CropResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return CropResult;
+ })();
+
proto.FlakeConfig = (function() {
/**
diff --git a/test/screenshot/infra/proto/mdc.proto b/test/screenshot/infra/proto/mdc.proto
index f17b8cc6853..38b17bd6888 100644
--- a/test/screenshot/infra/proto/mdc.proto
+++ b/test/screenshot/infra/proto/mdc.proto
@@ -260,11 +260,19 @@ message Screenshot {
TestFile actual_image_file = 9;
TestFile diff_image_file = 10;
DiffImageResult diff_image_result = 11;
+ CropResult crop_result = 15;
uint32 retry_count = 12;
FlakeConfig flake_config = 13;
}
+message CropResult {
+ uint32 uncropped_width = 1;
+ uint32 uncropped_height = 2;
+ uint32 cropped_width = 3;
+ uint32 cropped_height = 4;
+}
+
message FlakeConfig {
uint32 max_retries = 1;
uint32 retry_delay_ms = 2;
diff --git a/test/screenshot/report/report.hbs b/test/screenshot/report/report.hbs
index 8d44290e1d4..233bb17f72d 100644
--- a/test/screenshot/report/report.hbs
+++ b/test/screenshot/report/report.hbs
@@ -5,6 +5,15 @@
{{getPageTitle}} - Screenshot Test Report - MDC Web
+
+
+
+
diff --git a/test/screenshot/spec/fixture.scss b/test/screenshot/spec/fixture.scss
index 80320484558..4d0ae995fef 100644
--- a/test/screenshot/spec/fixture.scss
+++ b/test/screenshot/spec/fixture.scss
@@ -26,6 +26,20 @@
$test-viewport-trim-color: #abc123; // Value must match `TRIM_COLOR_CSS_VALUE` in `image-cropper.js`
$test-layout-cell-grid-color: #dddddd;
+@mixin test-fixture-grid-bg {
+ // Ruler grid pattern
+ // https://stackoverflow.com/a/32861765/467582
+ background-image:
+ linear-gradient(to right, #{$test-layout-cell-grid-color} 1px, transparent 1.01px), // fraction for IE 11
+ linear-gradient(to bottom, #{$test-layout-cell-grid-color} 1px, transparent 1.01px); // fraction for IE 11
+
+ background-size: 10px 10px;
+}
+
+@mixin test-fixture-no-bg {
+ background-image: none;
+}
+
.test-container {
display: flex;
flex-direction: column;
@@ -35,13 +49,21 @@ $test-layout-cell-grid-color: #dddddd;
}
.test-viewport {
+ @include test-fixture-grid-bg;
+
position: relative;
box-sizing: border-box;
+ min-width: 100vw;
+ min-height: 100vh;
}
.test-viewport--mobile {
+ @include test-fixture-no-bg;
+
width: 350px; // fits 2 columns of buttons within a Galaxy S7 viewport
+ min-width: auto;
height: 590px; // fits 8 rows of buttons within a Galaxy S7 viewport
+ min-height: auto;
margin: 5px 0 5px 5px; // Extra padding ensures that CBT's "chromeless" screenshots don't get cut off
border: 1px solid $test-viewport-trim-color;
overflow: hidden;
@@ -70,19 +92,13 @@ $test-layout-cell-grid-color: #dddddd;
}
.test-cell {
+ @include test-fixture-grid-bg;
+
box-sizing: border-box;
margin: 1px;
// Ensure that shadows from adjacent components don't overlap
padding: 10px;
-
- // Ruler grid pattern
- // https://stackoverflow.com/a/32861765/467582
- background-image:
- linear-gradient(to right, #{$test-layout-cell-grid-color} 1px, transparent 1.01px), // fraction for IE 11
- linear-gradient(to bottom, #{$test-layout-cell-grid-color} 1px, transparent 1.01px); // fraction for IE 11
-
- background-size: 10px 10px;
}
.test-cell__heading {
diff --git a/test/screenshot/spec/mdc-button/classes/baseline-button-with-icons.html b/test/screenshot/spec/mdc-button/classes/baseline-button-with-icons.html
index adfea25a2b8..e03177d46c0 100644
--- a/test/screenshot/spec/mdc-button/classes/baseline-button-with-icons.html
+++ b/test/screenshot/spec/mdc-button/classes/baseline-button-with-icons.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/classes/baseline-button-without-icons.html b/test/screenshot/spec/mdc-button/classes/baseline-button-without-icons.html
index 73ff5794fc6..44f884e37a0 100644
--- a/test/screenshot/spec/mdc-button/classes/baseline-button-without-icons.html
+++ b/test/screenshot/spec/mdc-button/classes/baseline-button-without-icons.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/classes/baseline-link-with-icons.html b/test/screenshot/spec/mdc-button/classes/baseline-link-with-icons.html
index 5cc4f13e553..c900abbd61a 100644
--- a/test/screenshot/spec/mdc-button/classes/baseline-link-with-icons.html
+++ b/test/screenshot/spec/mdc-button/classes/baseline-link-with-icons.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/classes/baseline-link-without-icons.html b/test/screenshot/spec/mdc-button/classes/baseline-link-without-icons.html
index 36fd578eb7d..80a355d382b 100644
--- a/test/screenshot/spec/mdc-button/classes/baseline-link-without-icons.html
+++ b/test/screenshot/spec/mdc-button/classes/baseline-link-without-icons.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/classes/dense-button-with-icons.html b/test/screenshot/spec/mdc-button/classes/dense-button-with-icons.html
index 6aa0c5a8602..a0e6129ef49 100644
--- a/test/screenshot/spec/mdc-button/classes/dense-button-with-icons.html
+++ b/test/screenshot/spec/mdc-button/classes/dense-button-with-icons.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/classes/dense-button-without-icons.html b/test/screenshot/spec/mdc-button/classes/dense-button-without-icons.html
index 6c72fe2dc9f..c4c9444aac8 100644
--- a/test/screenshot/spec/mdc-button/classes/dense-button-without-icons.html
+++ b/test/screenshot/spec/mdc-button/classes/dense-button-without-icons.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/classes/dense-link-with-icons.html b/test/screenshot/spec/mdc-button/classes/dense-link-with-icons.html
index 2766377f06b..ae02049fefb 100644
--- a/test/screenshot/spec/mdc-button/classes/dense-link-with-icons.html
+++ b/test/screenshot/spec/mdc-button/classes/dense-link-with-icons.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/classes/dense-link-without-icons.html b/test/screenshot/spec/mdc-button/classes/dense-link-without-icons.html
index afdbc2f74e4..bd52e4d6f67 100644
--- a/test/screenshot/spec/mdc-button/classes/dense-link-without-icons.html
+++ b/test/screenshot/spec/mdc-button/classes/dense-link-without-icons.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/container-fill-color.html b/test/screenshot/spec/mdc-button/mixins/container-fill-color.html
index 73a94b5264c..93aebc85b07 100644
--- a/test/screenshot/spec/mdc-button/mixins/container-fill-color.html
+++ b/test/screenshot/spec/mdc-button/mixins/container-fill-color.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/corner-radius.html b/test/screenshot/spec/mdc-button/mixins/corner-radius.html
index d54ca7c4e74..6eb56cb41d1 100644
--- a/test/screenshot/spec/mdc-button/mixins/corner-radius.html
+++ b/test/screenshot/spec/mdc-button/mixins/corner-radius.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/filled-accessible.html b/test/screenshot/spec/mdc-button/mixins/filled-accessible.html
index 809fd87b171..89313f32eb5 100644
--- a/test/screenshot/spec/mdc-button/mixins/filled-accessible.html
+++ b/test/screenshot/spec/mdc-button/mixins/filled-accessible.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/horizontal-padding-baseline.html b/test/screenshot/spec/mdc-button/mixins/horizontal-padding-baseline.html
index 8e923fb6f99..4fb19ef28d7 100644
--- a/test/screenshot/spec/mdc-button/mixins/horizontal-padding-baseline.html
+++ b/test/screenshot/spec/mdc-button/mixins/horizontal-padding-baseline.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/horizontal-padding-dense.html b/test/screenshot/spec/mdc-button/mixins/horizontal-padding-dense.html
index 60b60faefef..9b19840aca4 100644
--- a/test/screenshot/spec/mdc-button/mixins/horizontal-padding-dense.html
+++ b/test/screenshot/spec/mdc-button/mixins/horizontal-padding-dense.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/icon-color.html b/test/screenshot/spec/mdc-button/mixins/icon-color.html
index 63188383b8b..65fea5c86d0 100644
--- a/test/screenshot/spec/mdc-button/mixins/icon-color.html
+++ b/test/screenshot/spec/mdc-button/mixins/icon-color.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/ink-color.html b/test/screenshot/spec/mdc-button/mixins/ink-color.html
index ca2e3f26ffe..4ebdeff7b0f 100644
--- a/test/screenshot/spec/mdc-button/mixins/ink-color.html
+++ b/test/screenshot/spec/mdc-button/mixins/ink-color.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/stroke-color.html b/test/screenshot/spec/mdc-button/mixins/stroke-color.html
index a7c9f6f44b6..5ac701e3dd3 100644
--- a/test/screenshot/spec/mdc-button/mixins/stroke-color.html
+++ b/test/screenshot/spec/mdc-button/mixins/stroke-color.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-button/mixins/stroke-width.html b/test/screenshot/spec/mdc-button/mixins/stroke-width.html
index 7bf7191b152..8941abd6b62 100644
--- a/test/screenshot/spec/mdc-button/mixins/stroke-width.html
+++ b/test/screenshot/spec/mdc-button/mixins/stroke-width.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-card/classes/baseline.html b/test/screenshot/spec/mdc-card/classes/baseline.html
index d47b7b6841f..ab5c0251545 100644
--- a/test/screenshot/spec/mdc-card/classes/baseline.html
+++ b/test/screenshot/spec/mdc-card/classes/baseline.html
@@ -31,6 +31,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-card/mixins/mixins.html b/test/screenshot/spec/mdc-card/mixins/mixins.html
index 0405a66ae3c..d4f5dfb0250 100644
--- a/test/screenshot/spec/mdc-card/mixins/mixins.html
+++ b/test/screenshot/spec/mdc-card/mixins/mixins.html
@@ -31,6 +31,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-checkbox/classes/baseline.html b/test/screenshot/spec/mdc-checkbox/classes/baseline.html
index 522a8613ec5..f1f8be4a02a 100644
--- a/test/screenshot/spec/mdc-checkbox/classes/baseline.html
+++ b/test/screenshot/spec/mdc-checkbox/classes/baseline.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-checkbox/mixins/container-colors.html b/test/screenshot/spec/mdc-checkbox/mixins/container-colors.html
index 23677b5225f..2e37d0eaae3 100644
--- a/test/screenshot/spec/mdc-checkbox/mixins/container-colors.html
+++ b/test/screenshot/spec/mdc-checkbox/mixins/container-colors.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-checkbox/mixins/ink-color.html b/test/screenshot/spec/mdc-checkbox/mixins/ink-color.html
index 9d36a9bc089..0b03bd1230f 100644
--- a/test/screenshot/spec/mdc-checkbox/mixins/ink-color.html
+++ b/test/screenshot/spec/mdc-checkbox/mixins/ink-color.html
@@ -28,6 +28,15 @@
+
+
+
+
diff --git a/test/screenshot/spec/mdc-drawer/classes/dismissible.html b/test/screenshot/spec/mdc-drawer/classes/dismissible.html
index 38cce505abe..fee8e6ade5e 100644
--- a/test/screenshot/spec/mdc-drawer/classes/dismissible.html
+++ b/test/screenshot/spec/mdc-drawer/classes/dismissible.html
@@ -30,108 +30,191 @@
+
+
+
+
-
-