Files
tubestation/dom/browser-element/mochitest/browserElement_ScrollEvent.js
Hiroyuki Ikezoe 655366e3d9 Bug 1562503 - Create GeckoMVMContext and ZoomConstraintsClient only for the root top level document. r=botond
browserElement_ScrollEvent.js is affected by this change. Before this change
the document for iframe mozbrowser was not considered as the root content
document, but after this change, it's considered as the root content document.
Given the nature of iframe mozbrowser, I believe it's the right behavior.

The browser mochitest in this commit fails without this change since
the minimum-scale size is used in the out-of-process iframe so that the visual
viewport size gets 3x bigger than the expected size.

Differential Revision: https://phabricator.services.mozilla.com/D36547
2019-07-08 22:39:31 +00:00

35 lines
1.3 KiB
JavaScript

/* Any copyright is dedicated to the public domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Test that scroll event bubbles up.
"use strict";
/* global browserElementTestHelpers */
SimpleTest.waitForExplicitFinish();
browserElementTestHelpers.setEnabledPref(true);
browserElementTestHelpers.addPermission();
browserElementTestHelpers.allowTopLevelDataURINavigation();
function runTest() {
var iframe = document.createElement("iframe");
iframe.setAttribute("mozbrowser", "true");
document.body.appendChild(iframe);
iframe.addEventListener("mozbrowserscroll", function(e) {
ok(true, "got mozbrowserscroll event.");
ok(e.detail, "event.detail is not null.");
is(Math.round(e.detail.top), 4000, "top position is correct.");
is(Math.round(e.detail.left), 4000, "left position is correct.");
SimpleTest.finish();
});
// We need a viewport meta tag to allow us to scroll to (4000, 4000). Without
// the viewport meta tag, we shrink the (5000, 5000) content so that we can't
// have enough space to scroll to the point in the layout viewport.
iframe.src =
"data:text/html,<html><meta name='viewport' content='width=device-width,minimum-scale=1,initial-scale=1'><body style='min-height: 5000px; min-width: 5000px;'></body><script>window.scrollTo(4000, 4000);</script></html>";
}
addEventListener("testready", runTest);