aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/script/dom/htmlmetaelement.rs3
-rw-r--r--tests/ref/basic.list2
-rw-r--r--tests/wpt/mozilla/meta/MANIFEST.json26
-rw-r--r--tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html13
-rw-r--r--tests/wpt/mozilla/tests/css/viewport_ignore_desktop.html.ini2
-rw-r--r--tests/wpt/mozilla/tests/css/viewport_ignore_desktop_ref.html4
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