diff options
-rw-r--r-- | components/script/dom/htmlmetaelement.rs | 3 | ||||
-rw-r--r-- | tests/ref/basic.list | 2 | ||||
-rw-r--r-- | tests/wpt/mozilla/meta/MANIFEST.json | 26 | ||||
-rw-r--r-- | tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html | 13 | ||||
-rw-r--r-- | tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html.ini | 2 | ||||
-rw-r--r-- | tests/wpt/mozilla/tests/css/viewport_ignore_desktop_ref.html | 4 |
6 files changed, 48 insertions, 2 deletions
diff --git a/components/script/dom/htmlmetaelement.rs b/components/script/dom/htmlmetaelement.rs index dd0245104cb..5f581e2a433 100644 --- a/components/script/dom/htmlmetaelement.rs +++ b/components/script/dom/htmlmetaelement.rs @@ -60,6 +60,9 @@ impl HTMLMetaElement { } fn apply_viewport(&self) { + if !::util::prefs::get_pref("layout.viewport.enabled").as_boolean().unwrap_or(false) { + return; + } let element = self.upcast::<Element>(); if let Some(content) = element.get_attribute(&ns!(""), &atom!("content")).r() { let content = content.value(); diff --git a/tests/ref/basic.list b/tests/ref/basic.list index f433c63acc1..4d8209c12d5 100644 --- a/tests/ref/basic.list +++ b/tests/ref/basic.list @@ -69,7 +69,7 @@ resolution=300x300,device-pixel-ratio=2 != pixel_snapping_position_a.html pixel_ != text_decoration_underline_subpx_a.html text_decoration_underline_subpx_ref.html != text_overflow_a.html text_overflow_ref.html flaky_cpu,prefs:"layout.writing-mode.enabled" == vertical-lr-blocks.html vertical-lr-blocks_ref.html -== viewport_meta.html viewport_rule_ref.html +prefs:"layout.viewport.enabled" == viewport_meta.html viewport_rule_ref.html resolution=800x600 == viewport_percentage_vmin_vmax.html viewport_percentage_vmin_vmax_a.html # resolution=600x800 == viewport_percentage_vmin_vmax.html viewport_percentage_vmin_vmax_b.html resolution=800x600 == viewport_percentage_vw_vh.html viewport_percentage_vw_vh_a.html diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index b30810c9e8a..fb9483e0ece 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -4227,6 +4227,18 @@ "url": "/_mozilla/css/vertical_align_top_span_a.html" } ], + "css/viewport_ignore_desktop.html": [ + { + "path": "css/viewport_ignore_desktop.html", + "references": [ + [ + "/_mozilla/css/viewport_ignore_desktop_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/viewport_ignore_desktop.html" + } + ], "css/visibility_hidden.html": [ { "path": "css/visibility_hidden.html", @@ -9424,6 +9436,18 @@ "url": "/_mozilla/css/vertical_align_top_span_a.html" } ], + "css/viewport_ignore_desktop.html": [ + { + "path": "css/viewport_ignore_desktop.html", + "references": [ + [ + "/_mozilla/css/viewport_ignore_desktop.html", + "==" + ] + ], + "url": "/_mozilla/css/viewport_ignore_desktop.html" + } + ], "css/visibility_hidden.html": [ { "path": "css/visibility_hidden.html", @@ -9802,4 +9826,4 @@ "rev": null, "url_base": "/_mozilla/", "version": 2 -}
\ No newline at end of file +} diff --git a/tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html b/tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html new file mode 100644 index 00000000000..0cdd5adf582 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html @@ -0,0 +1,13 @@ +<!doctype html> +<meta charset="utf-8"> +<title>viewport is ignored on desktop</title> +<link rel="match" href="viewport_ignore_desktop_ref.html"> +<script> +if (window.userAgent.indexOf("Mobile") === -1) { + var meta = document.creatElement("meta"); + meta.name = "viewport"; + meta.content = "width=100"; + document.getElementsByTagName("head")[0].appendChild(meta); +} +</script> +<p style='border: solid'>Test diff --git a/tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html.ini b/tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html.ini new file mode 100644 index 00000000000..696f7ab3ac8 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html.ini @@ -0,0 +1,2 @@ +prefs: ["layout.viewport.enabled:false"] + diff --git a/tests/wpt/mozilla/tests/css/viewport_ignore_desktop_ref.html b/tests/wpt/mozilla/tests/css/viewport_ignore_desktop_ref.html new file mode 100644 index 00000000000..149d364517b --- /dev/null +++ b/tests/wpt/mozilla/tests/css/viewport_ignore_desktop_ref.html @@ -0,0 +1,4 @@ +<!doctype html> +<meta charset="utf-8"> +<title>viewport is ignored on desktop</title> +<p style='border: solid'>Test |