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
35 lines
1.3 KiB
JavaScript
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);
|