68.14.2 - testing

This commit is contained in:
Fedor 2024-07-21 11:50:02 +03:00
parent e05c93a44e
commit 2c2b226a2c
564 changed files with 6300 additions and 17514 deletions

View File

@ -5,7 +5,6 @@
from __future__ import absolute_import
from firefox_puppeteer import PuppeteerMixin
from marionette_driver import expected, By, Wait
from marionette_driver.errors import NoSuchElementException
from marionette_harness import MarionetteTestCase
@ -134,73 +133,6 @@ class TestLocationBar(PuppeteerMixin, MarionetteTestCase):
Wait(self.marionette).until(lambda mn: mn.get_url() == data_uri)
class TestAutoCompleteResults(PuppeteerMixin, MarionetteTestCase):
def setUp(self):
super(TestAutoCompleteResults, self).setUp()
self.browser.navbar.locationbar.clear()
self.autocomplete_results = self.browser.navbar.locationbar.autocomplete_results
def tearDown(self):
try:
self.autocomplete_results.close(force=True)
except NoSuchElementException:
# TODO: A NoSuchElementException is thrown here when tests accessing the
# autocomplete_results element are skipped.
pass
finally:
super(TestAutoCompleteResults, self).tearDown()
def test_popup_elements(self):
self.assertFalse(self.autocomplete_results.is_open)
self.browser.navbar.locationbar.urlbar.send_keys('.')
Wait(self.marionette).until(lambda _: self.autocomplete_results.is_complete)
count_visible_results = len(self.autocomplete_results.visible_results)
self.assertTrue(count_visible_results > 0)
self.assertLessEqual(count_visible_results,
self.autocomplete_results.element.get_property('maxResults'))
def test_close(self):
self.browser.navbar.locationbar.urlbar.send_keys('a')
Wait(self.marionette).until(lambda _: self.autocomplete_results.is_open)
# The Wait in the library implementation will fail this if this doesn't
# end up closing.
self.autocomplete_results.close()
def test_force_close(self):
self.browser.navbar.locationbar.urlbar.send_keys('a')
Wait(self.marionette).until(lambda _: self.autocomplete_results.is_open)
# The Wait in the library implementation will fail this if this doesn't
# end up closing.
self.autocomplete_results.close(force=True)
def test_matching_text(self):
# The default profile always has existing bookmarks. So no sites have to
# be visited and bookmarked.
for input_text in ('about', 'zilla'):
self.browser.navbar.locationbar.urlbar.clear()
self.browser.navbar.locationbar.urlbar.send_keys(input_text)
Wait(self.marionette).until(lambda _: self.autocomplete_results.is_open)
Wait(self.marionette).until(lambda _: self.autocomplete_results.is_complete)
visible_results = self.autocomplete_results.visible_results
self.assertTrue(len(visible_results) > 0)
for result in visible_results:
# check matching text only for results of type bookmark
if result.get_attribute('type') != 'bookmark':
continue
title_matches = self.autocomplete_results.get_matching_text(result, "title")
url_matches = self.autocomplete_results.get_matching_text(result, "url")
all_matches = title_matches + url_matches
self.assertTrue(len(all_matches) > 0)
for match_fragment in all_matches:
self.assertIn(match_fragment.lower(), input_text)
self.autocomplete_results.close()
class TestIdentityPopup(PuppeteerMixin, MarionetteTestCase):
def setUp(self):
super(TestIdentityPopup, self).setUp()

View File

@ -5,6 +5,7 @@
from __future__ import absolute_import, print_function, unicode_literals
import argparse
import errno
import json
import logging
import os
@ -667,9 +668,8 @@ class TestInfoCommand(MachCommandBase):
@CommandArgument('--verbose', action='store_true',
help='Enable debug logging.')
def test_info(self, **params):
import which
from mozbuild.base import MozbuildObject
from mozfile import which
self.branches = params['branches']
self.start = params['start']
@ -698,17 +698,15 @@ class TestInfoCommand(MachCommandBase):
self._hg = None
if conditions.is_hg(build_obj):
if self._is_windows():
self._hg = which.which('hg.exe')
else:
self._hg = which.which('hg')
self._hg = which('hg')
if not self._hg:
raise OSError(errno.ENOENT, "Could not find 'hg' on PATH.")
self._git = None
if conditions.is_git(build_obj):
if self._is_windows():
self._git = which.which('git.exe')
else:
self._git = which.which('git')
self._git = which('git')
if not self._git:
raise OSError(errno.ENOENT, "Could not find 'git' on PATH.")
for test_name in params['test_names']:
print("===== %s =====" % test_name)

View File

@ -123,14 +123,13 @@ class WebElementEventTarget {
});
}
receiveMessage({ name, data, objects }) {
receiveMessage({ name, data }) {
if (name != "Marionette:DOM:OnEvent") {
return;
}
let ev = {
type: data.type,
target: objects.target,
};
this.dispatchEvent(ev);
}
@ -208,7 +207,7 @@ class ContentEventObserverService {
handleEvent({ type, target }) {
logger.trace(`Received DOM event ${type}`);
this.sendAsyncMessage("Marionette:DOM:OnEvent", { type }, { target });
this.sendAsyncMessage("Marionette:DOM:OnEvent", { type });
}
}
this.ContentEventObserverService = ContentEventObserverService;

View File

@ -1,95 +0,0 @@
# 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/.
from __future__ import absolute_import
from marionette_driver.by import By
from marionette_harness import MarionetteTestCase
OOP_BY_DEFAULT = "dom.ipc.browser_frames.oop_by_default"
BROWSER_FRAMES_ENABLED = "dom.mozBrowserFramesEnabeld"
class TestGetActiveFrameOOP(MarionetteTestCase):
def setUp(self):
super(TestGetActiveFrameOOP, self).setUp()
with self.marionette.using_context("chrome"):
self.oop_by_default = self.marionette.get_pref(OOP_BY_DEFAULT)
self.mozBrowserFramesEnabled = self.marionette.get_pref(BROWSER_FRAMES_ENABLED)
self.marionette.set_pref(OOP_BY_DEFAULT, True)
self.marionette.set_pref(BROWSER_FRAMES_ENABLED, True)
def tearDown(self):
with self.marionette.using_context("chrome"):
if self.oop_by_default is None:
self.marionette.clear_pref(OOP_BY_DEFAULT)
else:
self.marionette.set_pref(OOP_BY_DEFAULT, self.oop_by_default)
if self.mozBrowserFramesEnabled is None:
self.marionette.clear_pref(BROWSER_FRAMES_ENABLED)
else:
self.marionette.set_pref(BROWSER_FRAMES_ENABLED, self.mozBrowserFramesEnabled)
def test_active_frame_oop(self):
self.marionette.navigate(self.marionette.absolute_url("test.html"))
self.marionette.push_permission('browser', True)
# Create first OOP frame
self.marionette.execute_script("""
let iframe1 = document.createElement("iframe");
iframe1.id = "remote_iframe1";
iframe1.setAttribute('remote', true);
iframe1.setAttribute('mozbrowser', true);
iframe1.style.height = "100px";
iframe1.style.width = "100%%";
iframe1.src = "{}";
document.body.appendChild(iframe1);
""".format(self.marionette.absolute_url("test_oop_1.html")))
# Currently no active frame
self.assertEqual(self.marionette.get_active_frame(), None)
self.assertTrue("test.html" in self.marionette.get_url())
# Switch to iframe1, get active frame
frame = self.marionette.find_element(By.ID, 'remote_iframe1')
self.marionette.switch_to_frame(frame)
active_frame1 = self.marionette.get_active_frame()
self.assertNotEqual(active_frame1.id, None)
# Switch to top-level then back to active frame, verify correct frame
self.marionette.switch_to_frame()
self.marionette.switch_to_frame(active_frame1)
self.assertTrue("test_oop_1.html" in self.marionette.execute_script("return document.wrappedJSObject.location.href"))
# Create another OOP frame
self.marionette.switch_to_frame()
self.marionette.execute_script("""
let iframe2 = document.createElement("iframe");
iframe2.setAttribute('mozbrowser', true);
iframe2.setAttribute('remote', true);
iframe2.id = "remote_iframe2";
iframe2.style.height = "100px";
iframe2.style.width = "100%%";
iframe2.src = "{}";
document.body.appendChild(iframe2);
""".format(self.marionette.absolute_url("test_oop_2.html")))
# Switch to iframe2, get active frame
frame2 = self.marionette.find_element(By.ID, 'remote_iframe2')
self.marionette.switch_to_frame(frame2)
active_frame2 = self.marionette.get_active_frame()
self.assertNotEqual(active_frame2.id, None)
# Switch to top-level then back to active frame 1, verify correct frame
self.marionette.switch_to_frame()
self.marionette.switch_to_frame(active_frame1)
self.assertTrue("test_oop_1.html" in self.marionette.execute_script("return document.wrappedJSObject.location.href"))
# Switch to top-level then back to active frame 2, verify correct frame
self.marionette.switch_to_frame()
self.marionette.switch_to_frame(active_frame2)
self.assertTrue("test_oop_2.html" in self.marionette.execute_script("return document.wrappedJSObject.location.href"))

View File

@ -78,8 +78,6 @@ skip-if = appname == 'fennec'
[test_wait.py]
[test_expected.py]
[test_date_time_value.py]
[test_getactiveframe_oop.py]
skip-if = true # Bug 925688
[test_screen_orientation.py]
[test_errors.py]

View File

@ -82,19 +82,6 @@ class LocationBar(UIBaseLib):
self._autocomplete_results = None
self._identity_popup = None
@property
def autocomplete_results(self):
"""Provides access to and methods for the location bar
autocomplete results.
See the :class:`AutocompleteResults` reference."""
if not self._autocomplete_results:
popup = self.marionette.find_element(By.ID, 'PopupAutoCompleteRichResult')
self._autocomplete_results = AutocompleteResults(self.marionette,
self.window, popup)
return self._autocomplete_results
def clear(self):
"""Clears the contents of the url bar (via the DELETE shortcut)."""
self.focus('shortcut')

View File

@ -13,8 +13,8 @@ class MessageSender {
this.listeners[name] = listener;
}
sendAsyncMessage(name, data, objects) {
this.sent.push({ name, data, objects });
sendAsyncMessage(name, data) {
this.sent.push({ name, data });
}
}
@ -63,7 +63,6 @@ add_test(function test_addEventListener() {
deepEqual(ipc.sent[0], {
name: "Marionette:DOM:AddEventListener",
data: { type: "click" },
objects: undefined,
});
run_next_test();
@ -93,7 +92,6 @@ add_test(function test_WebElementEventTarget_addEventListener_once() {
deepEqual(ipc.sent[1], {
name: "Marionette:DOM:RemoveEventListener",
data: { type: "click" },
objects: undefined,
});
run_next_test();
@ -132,7 +130,6 @@ add_test(function test_WebElementEventTarget_removeEventListener() {
deepEqual(ipc.sent[ipc.sent.length - 1], {
name: "Marionette:DOM:RemoveEventListener",
data: { type: "click" },
objects: undefined,
});
run_next_test();
@ -272,7 +269,6 @@ add_test(function test_ContentEventObserverService_handleEvent() {
deepEqual(ipc.sent[0], {
name: "Marionette:DOM:OnEvent",
data: { type: "click" },
objects: { target: win },
});
run_next_test();

View File

@ -75,10 +75,6 @@ let registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
let selectorFactory = XPCOMUtils._getFactory(NewProcessSelector);
registrar.registerFactory(OUR_PROCESSSELECTOR_CID, "", null, selectorFactory);
// For now, we'll allow tests to use CPOWs in this module for
// some cases.
Cu.permitCPOWsInScope(this);
var gSendCharCount = 0;
var gSynthesizeKeyCount = 0;
var gSynthesizeCompositionCount = 0;

View File

@ -110,7 +110,6 @@
function browserTest(aTestFile) {
this.path = aTestFile['url'];
this.expected = aTestFile['expected'];
this.usesUnsafeCPOWs = aTestFile['uses-unsafe-cpows'] || false;
this.dumper = gDumper;
this.results = [];
this.scope = null;

View File

@ -439,22 +439,6 @@ function Tester(aTests, structuredLogger, aCallback) {
this.EventUtils
);
// In order to allow existing tests to continue using unsafe CPOWs
// with EventUtils, we need to load a separate copy into a sandbox
// which has unsafe CPOW usage whitelisted. We need to create a new
// compartment for Cu.permitCPOWsInScope.
this.cpowSandbox = Cu.Sandbox(window, {
freshCompartment: true,
sandboxPrototype: window,
});
Cu.permitCPOWsInScope(this.cpowSandbox);
this.cpowEventUtils = new this.cpowSandbox.Object();
this._scriptLoader.loadSubScript(
"chrome://mochikit/content/tests/SimpleTest/EventUtils.js",
this.cpowEventUtils
);
var simpleTestScope = {};
this._scriptLoader.loadSubScript(
"chrome://mochikit/content/tests/SimpleTest/specialpowersAPI.js",
@ -1235,9 +1219,7 @@ Tester.prototype = {
// Import utils in the test scope.
let { scope } = this.currentTest;
scope.EventUtils = this.currentTest.usesUnsafeCPOWs
? this.cpowEventUtils
: this.EventUtils;
scope.EventUtils = this.EventUtils;
scope.SimpleTest = this.SimpleTest;
scope.gTestPath = this.currentTest.path;
scope.ContentTask = this.ContentTask;
@ -1747,17 +1729,6 @@ function testScope(aTester, aTest, expected) {
});
};
// If we're running a test that requires unsafe CPOWs, create a
// separate sandbox scope, with CPOWS whitelisted, for that test, and
// mirror all of our properties onto it. Test files will be loaded
// into this sandbox.
//
// Otherwise, load test files directly into the testScope instance.
if (aTest.usesUnsafeCPOWs) {
let sandbox = this._createSandbox();
Cu.permitCPOWsInScope(sandbox);
return sandbox;
}
return this;
}
@ -1786,35 +1757,6 @@ testScope.prototype = {
ExtensionTestUtils: null,
Assert: null,
_createSandbox() {
// Force this sandbox to be in its own compartment because we call
// Cu.permitCPOWsInScope on it and we can't call that on objects in the
// shared system compartment.
let sandbox = Cu.Sandbox(window, {
freshCompartment: true,
sandboxPrototype: window,
});
for (let prop in this) {
if (typeof this[prop] == "function") {
sandbox[prop] = this[prop].bind(this);
} else {
Object.defineProperty(sandbox, prop, {
configurable: true,
enumerable: true,
get: () => {
return this[prop];
},
set: value => {
this[prop] = value;
},
});
}
}
return sandbox;
},
/**
* Add a function which returns a promise (usually an async function)
* as a test task.

View File

@ -28,7 +28,6 @@ function parseTestManifest(testManifest, params, callback) {
test: {
url: name,
expected: obj.expected,
"uses-unsafe-cpows": obj["uses-unsafe-cpows"],
},
};
} else {
@ -37,7 +36,6 @@ function parseTestManifest(testManifest, params, callback) {
test: {
url: name,
expected: obj.expected,
"uses-unsafe-cpows": obj["uses-unsafe-cpows"],
},
});
}

View File

@ -164,7 +164,6 @@ class JUnitTestRunner(MochitestDesktop):
env["MOZ_CRASHREPORTER_NO_REPORT"] = "1"
env["MOZ_CRASHREPORTER_SHUTDOWN"] = "1"
env["XPCOM_DEBUG_BREAK"] = "stack"
env["DISABLE_UNSAFE_CPOW_WARNINGS"] = "1"
env["MOZ_DISABLE_NONLOCAL_CONNECTIONS"] = "1"
env["MOZ_IN_AUTOMATION"] = "1"
env["R_LOG_VERBOSE"] = "1"

View File

@ -1511,8 +1511,6 @@ toolbar#nav-bar {
testob['disabled'] = test['disabled']
if 'expected' in test:
testob['expected'] = test['expected']
if 'uses-unsafe-cpows' in test:
testob['uses-unsafe-cpows'] = test['uses-unsafe-cpows'] == 'true'
if 'scheme' in test:
testob['scheme'] = test['scheme']
if options.failure_pattern_file:
@ -1696,11 +1694,6 @@ toolbar#nav-bar {
if self.mozLogs:
browserEnv["MOZ_LOG"] = MOZ_LOG
# For e10s, our tests default to suppressing the "unsafe CPOW usage"
# warnings that can plague test logs.
if not options.enableCPOWWarnings:
browserEnv["DISABLE_UNSAFE_CPOW_WARNINGS"] = "1"
if options.enable_webrender:
browserEnv["MOZ_WEBRENDER"] = "1"
browserEnv["MOZ_ACCELERATED"] = "1"

View File

@ -931,6 +931,16 @@ SimpleTest.waitForFocus = function (callback, targetWindow, expectBlankPage) {
* @param aExpectedStringOrValidatorFn
* The string value that is expected to be on the clipboard or a
* validator function getting expected clipboard data and returning a bool.
* If you specify string value, line breakers in clipboard are treated
* as LineFeed. Therefore, you cannot include CarriageReturn to the
* string.
* If you specify string value and expect "text/html" data, this wraps
* the expected value with "<html><body>\n<!--StartFragment-->" and
* "<!--EndFragment-->\n</body>\n</html>" only when it runs on Windows
* because they are appended only by nsDataObj.cpp for Windows.
* https://searchfox.org/mozilla-central/rev/8f7b017a31326515cb467e69eef1f6c965b4f00e/widget/windows/nsDataObj.cpp#1798-1805,1839-1840,1842
* Therefore, you can specify selected (copied) HTML data simply on any
* platforms.
* @param aSetupFn
* A function responsible for setting the clipboard to the expected value,
* called after the known value setting succeeds.
@ -979,9 +989,23 @@ SimpleTest.promiseClipboardChange = async function(aExpectedStringOrValidatorFn,
};
} else {
// Build a default validator function for common string input.
inputValidatorFn = typeof(aExpectedStringOrValidatorFn) == "string"
? function(aData) { return aData == aExpectedStringOrValidatorFn; }
: aExpectedStringOrValidatorFn;
if (typeof(aExpectedStringOrValidatorFn) == "string") {
if (aExpectedStringOrValidatorFn.includes("\r")) {
throw new Error("Use function instead of string to compare raw line breakers in clipboard");
}
if (requestedFlavor === "text/html" && navigator.platform.includes("Win")) {
inputValidatorFn = function(aData) {
return aData.replace(/\r\n?/g, "\n") ===
`<html><body>\n<!--StartFragment-->${aExpectedStringOrValidatorFn}<!--EndFragment-->\n</body>\n</html>`;
};
} else {
inputValidatorFn = function(aData) {
return aData.replace(/\r\n?/g, "\n") === aExpectedStringOrValidatorFn;
};
}
} else {
inputValidatorFn = aExpectedStringOrValidatorFn;
}
}
let maxPolls = aTimeout ? aTimeout / 100 : 50;

View File

@ -8,13 +8,16 @@
from __future__ import absolute_import, print_function
from six.moves import urllib
from contextlib import contextmanager
import errno
import os
import stat
import sys
import time
import warnings
from contextlib import contextmanager
from six.moves import urllib
__all__ = ['extract_tarball',
'extract_zip',
@ -25,6 +28,7 @@ __all__ = ['extract_tarball',
'remove',
'rmtree',
'tree',
'which',
'NamedTemporaryFile',
'TemporaryDirectory']
@ -310,6 +314,55 @@ def tree(directory, sort_key=lambda x: x.lower()):
return '\n'.join(retval)
def which(cmd, mode=os.F_OK | os.X_OK, path=None, exts=None):
"""A wrapper around `shutil.which` to make the behavior on Windows
consistent with other platforms.
On non-Windows platforms, this is a direct call to `shutil.which`. On
Windows, this:
* Ensures that `cmd` without an extension will be found. Previously it was
only found if it had an extension in `PATHEXT`.
* Ensures the absolute path to the binary is returned. Previously if the
binary was found in `cwd`, a relative path was returned.
The arguments are the same as the ones in `shutil.which`. In addition there
is an `exts` argument that only has an effect on Windows. This is used to
set a custom value for PATHEXT and is formatted as a list of file
extensions.
"""
try:
from shutil import which as shutil_which
except ImportError:
from shutil_which import which as shutil_which
if isinstance(path, (list, tuple)):
path = os.pathsep.join(path)
if sys.platform != "win32":
return shutil_which(cmd, mode=mode, path=path)
oldexts = os.environ.get("PATHEXT", "")
if not exts:
exts = oldexts.split(os.pathsep)
# This ensures that `cmd` without any extensions will be found.
# See: https://bugs.python.org/issue31405
if "." not in exts:
exts.append(".")
os.environ["PATHEXT"] = os.pathsep.join(exts)
try:
path = shutil_which(cmd, mode=mode, path=path)
return os.path.abspath(path.rstrip('.')) if path else None
finally:
if oldexts:
os.environ["PATHEXT"] = oldexts
else:
del os.environ["PATHEXT"]
# utilities for temporary resources
class NamedTemporaryFile(object):

View File

@ -7,3 +7,4 @@ subsuite = mozbase
[test_tempfile.py]
[test_tree.py]
[test_url.py]
[test_which.py]

View File

@ -0,0 +1,44 @@
# Any copyright is dedicated to the Public Domain.
# https://creativecommons.org/publicdomain/zero/1.0/
from __future__ import absolute_import
import os
import sys
import mozunit
from mozfile import which
here = os.path.abspath(os.path.dirname(__file__))
def test_which(monkeypatch):
cwd = os.path.join(here, 'files', 'which')
monkeypatch.chdir(cwd)
if sys.platform == "win32":
bindir = os.path.join(cwd, "win")
monkeypatch.setenv("PATH", bindir)
assert which("foo.exe").lower() == os.path.join(bindir, "foo.exe")
assert which("foo").lower() == os.path.join(bindir, "foo.exe")
assert which("foo", exts=[".FOO", ".BAR"]).lower() == os.path.join(bindir, "foo")
assert os.environ.get("PATHEXT") != [".FOO", ".BAR"]
assert which("foo.txt") is None
assert which("bar").lower() == os.path.join(bindir, "bar")
assert which("baz").lower() == os.path.join(cwd, "baz.exe")
else:
bindir = os.path.join(cwd, "unix")
monkeypatch.setenv("PATH", bindir)
assert which("foo") == os.path.join(bindir, "foo")
assert which("baz") is None
assert which("baz", exts=[".EXE"]) is None
assert "PATHEXT" not in os.environ
assert which("file") is None
if __name__ == '__main__':
mozunit.main()

View File

@ -127,7 +127,7 @@ def process_leak_log(leak_log_file, leak_thresholds=None,
The base of leak_log_file for a non-default process needs to end with
_proctype_pid12345.log
"proctype" is a string denoting the type of the process, which should
be the result of calling XRE_ChildProcessTypeToString(). 12345 is
be the result of calling XRE_GeckoProcessTypeToString(). 12345 is
a series of digits that is the pid for the process. The .log is
optional.

View File

@ -96,6 +96,9 @@ user_pref("ui.caretBlinkTime", -1);
user_pref("ui.caretWidth", 1);
user_pref("ui.prefersReducedMotion", 0);
user_pref("ui.systemUsesDarkTheme", 0);
user_pref("ui.useAccessibilityTheme", 0);
user_pref("ui.windowForeground", "");
user_pref("ui.windowBackground", "");
// Turn off the Push service.
user_pref("dom.push.serverURL", "");
// Disable intermittent telemetry collection

View File

@ -40,6 +40,9 @@ user_pref("dom.animations-api.implicit-keyframes.enabled", true);
// sometime wpt runs test even before the document becomes visible, which would
// delay video.play() and cause play() running in wrong order.
user_pref("media.block-autoplay-until-in-foreground", false);
// Disable dark scrollbars as it can be semi-transparent that many reftests
// don't expect.
user_pref("widget.disable-dark-scrollbar", true);
user_pref("media.block-autoplay-until-in-foreground", false);
// Enable AppCache globally for now whilst it's being removed in Bug 1584984
user_pref("browser.cache.offline.storage.enable", true);

View File

@ -17,7 +17,10 @@ const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
// Allow stuff from this scope to be accessed from non-privileged scopes. This
// would crash if used outside of automation.
Cu.forcePermissiveCOWs();
/* globals __URI__ */
if (__URI__.includes("specialpowers")) {
Cu.forcePermissiveCOWs();
}
var registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar);
var oldClassID;

View File

@ -2097,13 +2097,6 @@ SpecialPowersAPI.prototype = {
return debugsvc.assertionCount;
},
/**
* Get the message manager associated with an <iframe mozbrowser>.
*/
getBrowserFrameMessageManager(aFrameElement) {
return this.wrap(aFrameElement.frameLoader.messageManager);
},
_getPrincipalFromArg(arg) {
let principal;
let secMan = Services.scriptSecurityManager;

View File

@ -260,12 +260,6 @@
"minbytes": 8192,
"maxbytes": 8192
},
"{firefox}\\gmp-clearkey\\0.1\\manifest.json": {
"mincount": 2,
"maxcount": 2,
"minbytes": 512,
"maxbytes": 512
},
"{firefox}\\omni.ja": {
"mincount": 0,
"maxcount": 46,

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-001.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-002.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-003.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-004.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-005.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-006.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-007.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-009.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-012.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-013.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-014.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -1,5 +1,3 @@
[background-attachment-applies-to-015.xht]
expected:
if os == "android" and not e10s: FAIL
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=1900

View File

@ -2,5 +2,3 @@
expected:
if (os == "android") and not e10s: FAIL
if (os == "android") and e10s: PASS
fuzzy:
if webrender and (os == "win"): maxDifference=92;totalPixels=3796

View File

@ -15,4 +15,3 @@
if not debug and webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): PASS
if not debug and webrender and e10s and (os == "win") and (version == "10.0.17134") and (processor == "x86_64") and (bits == 64): PASS
if (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): PASS
if (os == "win") and (processor == "aarch64"): PASS

View File

@ -1,4 +0,0 @@
[blocks-026.xht]
expected:
if (os == "android") and not e10s: FAIL
if (os == "android") and e10s: FAIL

View File

@ -15,4 +15,3 @@
if not debug and webrender and e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86_64") and (bits == 64): PASS
if not debug and webrender and e10s and (os == "win") and (version == "10.0.17134") and (processor == "x86_64") and (bits == 64): PASS
if (os == "mac") and (version == "OS X 10.14") and (processor == "x86_64") and (bits == 64): PASS
if (os == "win") and (processor == "aarch64"): PASS

View File

@ -1 +1 @@
prefs: [dom.animations-api.compositing.enabled:true,layout.css.comparison-functions.enabled:true]
prefs: [dom.animations-api.compositing.enabled:true]

View File

@ -1,3 +0,0 @@
[form-control.html]
expected:
if os == "android": FAIL # Bug 1550895

View File

@ -0,0 +1,4 @@
[contain-paint-025.html]
fuzzy:
if os == "win": maxDifference=40-47;totalPixels=2
if os == "mac": maxDifference=13;totalPixels=2

View File

@ -1,2 +0,0 @@
[scrollbar-width-keywords.html]
prefs: [layout.css.scrollbar-width.enabled:true]

View File

@ -1,9 +1,8 @@
[textarea-scrollbar-width-none.html]
prefs: [layout.css.scrollbar-width.enabled:true]
expected:
if (os == "win") and (processor == "aarch64"): PASS
if (os == "win") and (version == "6.1.7601"): FAIL
if not webrender and (os == "win") and (version == "10.0.17134"): FAIL
if os == "mac": FAIL
if (os == "android") and not e10s: FAIL
if (os == "android") and e10s: PASS
if (os == "android") and e10s: FAIL

View File

@ -1,2 +0,0 @@
[viewport-scrollbar-body.html]
prefs: [layout.css.scrollbar-color.enabled:true]

View File

@ -1,2 +0,0 @@
[viewport-scrollbar.html]
prefs: [layout.css.scrollbar-color.enabled:true]

View File

@ -1,4 +0,0 @@
[transform-input-015.html]
expected:
if (os == "android") and not e10s: FAIL
if (os == "android") and e10s: FAIL

View File

@ -1,4 +0,0 @@
[transform-input-017.html]
expected:
if (os == "android") and not e10s: FAIL
if (os == "android") and e10s: FAIL

View File

@ -1,4 +0,0 @@
[transform-input-018.html]
expected:
if (os == "android") and not e10s: FAIL
if (os == "android") and e10s: FAIL

View File

@ -1,7 +1,4 @@
[outline-width-interpolation.html]
[outline-width interpolation]
expected: FAIL
[Web Animations: property <outline-width> from [unset\] to [20px\] at (1.5) should be [28px\]]
expected: FAIL

View File

@ -1,3 +1,3 @@
[appearance-auto-001.html]
expected:
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -0,0 +1,3 @@
[appearance-button-001.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -0,0 +1,5 @@
[appearance-button-002.tentative.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected:
if headless: FAIL

View File

@ -1,5 +0,0 @@
[appearance-button-bevel-001.html]
expected:
if (os == "win") and debug and (processor == "x86_64"): FAIL
if (os == "win") and not debug: FAIL
if os == "win": FAIL

View File

@ -1,3 +1,3 @@
[appearance-checkbox-001.html]
expected:
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,3 +1,3 @@
[appearance-listbox-001.html]
expected:
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,3 +1,3 @@
[appearance-menulist-001.html]
expected:
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,5 +1,3 @@
[appearance-menulist-button-001.html]
expected:
if (os == "win") and debug and (processor == "x86_64"): FAIL
if (os == "win") and not debug: FAIL
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,4 +0,0 @@
[appearance-menulist-button-002.html]
expected:
if os == "win": PASS
FAIL

View File

@ -0,0 +1,4 @@
[appearance-menulist-button-002.tentative.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected: FAIL

View File

@ -1,3 +1,3 @@
[appearance-meter-001.html]
expected:
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,3 +1,3 @@
[appearance-progress-bar-001.html]
expected:
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -0,0 +1,3 @@
[appearance-progress-bar-002.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,3 +1,4 @@
[appearance-push-button-001.html]
expected:
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected: FAIL

View File

@ -1,5 +1,3 @@
[appearance-radio-001.html]
expected:
if (os == "win") and debug and (processor == "x86_64"): FAIL
if (os == "win") and not debug: FAIL
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -0,0 +1,3 @@
[appearance-revert-001.tentative.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,5 +1,3 @@
[appearance-searchfield-001.html]
expected:
if (os == "win") and debug and (processor == "x86_64"): FAIL
if (os == "win") and not debug: FAIL
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,5 +1,4 @@
[appearance-slider-horizontal-001.html]
expected:
if (os == "win") and debug and (processor == "x86_64"): FAIL
if (os == "win") and not debug: FAIL
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected: FAIL

View File

@ -1,5 +1,4 @@
[appearance-square-button-001.html]
expected:
if (os == "win") and debug and (processor == "x86_64"): FAIL
if (os == "win") and not debug: FAIL
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected: FAIL

View File

@ -1,5 +1,3 @@
[appearance-textarea-001.html]
expected:
if (os == "win") and debug and (processor == "x86_64"): FAIL
if (os == "win") and not debug: FAIL
if os == "win": FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -0,0 +1,3 @@
[appearance-textfield-001.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -0,0 +1,5 @@
[appearance-transition.tentative.html]
expected:
if not webrender and (os == "android"): FAIL
if not webrender and (os == "win"): FAIL
if not webrender and (os == "mac"): FAIL

View File

@ -1,25 +1,13 @@
[inheritance.html]
[Property outline-color has initial value invert]
expected: FAIL
[Property caret-color has initial value auto]
expected: FAIL
[Property nav-left does not inherit]
expected: FAIL
[Property nav-down has initial value auto]
expected: FAIL
[Property appearance has initial value auto]
expected: FAIL
[Property caret-shape has initial value auto]
expected: FAIL
[Property appearance does not inherit]
expected: FAIL
[Property nav-up has initial value auto]
expected: FAIL

View File

@ -1,2 +1,3 @@
[webkit-appearance-auto-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -0,0 +1,3 @@
[webkit-appearance-button-001.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -0,0 +1,5 @@
[webkit-appearance-button-002.tentative.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected:
if headless: FAIL

View File

@ -1,2 +0,0 @@
[webkit-appearance-button-bevel-001.html]
expected: FAIL

View File

@ -1,2 +1,3 @@
[webkit-appearance-checkbox-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,2 +1,3 @@
[webkit-appearance-listbox-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,2 +1,3 @@
[webkit-appearance-menulist-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,2 +1,3 @@
[webkit-appearance-menulist-button-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,5 +0,0 @@
[webkit-appearance-menulist-button-002.html]
expected:
if os == "mac": FAIL
if os == "linux": FAIL
if os == "android": FAIL

View File

@ -0,0 +1,4 @@
[webkit-appearance-menulist-button-002.tentative.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected: FAIL

View File

@ -1,2 +1,3 @@
[webkit-appearance-meter-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,2 +1,3 @@
[webkit-appearance-progress-bar-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,2 +1,4 @@
[webkit-appearance-push-button-001.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected: FAIL

View File

@ -1,2 +1,3 @@
[webkit-appearance-radio-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,2 +1,3 @@
[webkit-appearance-searchfield-001.html]
expected: FAIL
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932

View File

@ -1,2 +1,4 @@
[webkit-appearance-slider-horizontal-001.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected: FAIL

View File

@ -1,2 +1,4 @@
[webkit-appearance-square-button-001.html]
disabled:
if os == "win": https://bugzilla.mozilla.org/show_bug.cgi?id=1562932
expected: FAIL

Some files were not shown because too many files have changed in this diff Show More