summaryrefslogtreecommitdiffstats
path: root/remote/domains/content/Emulation.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'remote/domains/content/Emulation.jsm')
-rw-r--r--remote/domains/content/Emulation.jsm44
1 files changed, 44 insertions, 0 deletions
diff --git a/remote/domains/content/Emulation.jsm b/remote/domains/content/Emulation.jsm
new file mode 100644
index 0000000000..323204202b
--- /dev/null
+++ b/remote/domains/content/Emulation.jsm
@@ -0,0 +1,44 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+var EXPORTED_SYMBOLS = ["Emulation"];
+
+const { ContentProcessDomain } = ChromeUtils.import(
+ "chrome://remote/content/domains/ContentProcessDomain.jsm"
+);
+
+class Emulation extends ContentProcessDomain {
+ // commands
+
+ /**
+ * Internal methods: the following methods are not part of CDP;
+ * note the _ prefix.
+ */
+
+ /**
+ * Waits until the viewport has reached the new dimensions.
+ */
+ async _awaitViewportDimensions({ width, height }) {
+ const win = this.content;
+
+ if (win.innerWidth === width && win.innerHeight === height) {
+ return;
+ }
+
+ await new Promise(resolve => {
+ win.addEventListener("resize", function resized() {
+ if (win.innerWidth === width && win.innerHeight === height) {
+ win.removeEventListener("resize", resized);
+ resolve();
+ }
+ });
+ });
+ }
+
+ _setDPPXOverride(dppx) {
+ this.docShell.contentViewer.overrideDPPX = dppx;
+ }
+}