Issue #1053 - Part 2a: Remove android from /layout (partial)

This removes android code from base, build, forms, generic, inspector, style,
printing, tools and xul.
This commit is contained in:
Moonchild 2020-12-26 10:16:55 +00:00 • committed by roytam1
commit 7167c960d0
43 changed files with 56 additions and 540 deletions

View file

@ -33,12 +33,6 @@ var WindowListener = {
};
function startup(data, reason) {
if (Services.appinfo.OS == "Android") {
Cm.addBootstrappedManifestLocation(data.installPath);
Services.wm.addListener(WindowListener);
return;
}
let orig = Services.wm.getMostRecentWindow("navigator:browser");
let ios = Cc["@mozilla.org/network/io-service;1"]
@ -61,12 +55,7 @@ function startup(data, reason) {
}
function shutdown(data, reason) {
if (Services.appinfo.OS == "Android") {
Services.wm.removeListener(WindowListener);
Cm.removedBootstrappedManifestLocation(data.installPath);
OnRefTestUnload();
Cu.unload("chrome://reftest/content/reftest.jsm");
}
// Any special shutdown commands go here.
}

View file

@ -208,80 +208,6 @@ class ReftestRunner(MozbuildObject):
return rv
def run_android_test(self, **kwargs):
"""Runs a reftest, in Firefox for Android."""
args = Namespace(**kwargs)
if args.suite not in ('reftest', 'crashtest', 'jstestbrowser'):
raise Exception('None or unrecognized reftest suite type.')
self._setup_objdir(args)
import remotereftest
default_manifest = {
"reftest": (self.topsrcdir, "layout", "reftests", "reftest.list"),
"crashtest": (self.topsrcdir, "testing", "crashtest", "crashtests.list"),
"jstestbrowser": ("jsreftest", "tests", "jstests.list")
}
if not args.tests:
args.tests = [os.path.join(*default_manifest[args.suite])]
args.extraProfileFiles.append(
os.path.join(self.topsrcdir, "mobile", "android", "fonts"))
hyphenation_path = os.path.join(self.topsrcdir, "intl", "locales")
for (dirpath, dirnames, filenames) in os.walk(hyphenation_path):
for filename in filenames:
if filename.endswith('.dic'):
args.extraProfileFiles.append(os.path.join(dirpath, filename))
if not args.httpdPath:
args.httpdPath = os.path.join(self.tests_dir, "modules")
if not args.symbolsPath:
args.symbolsPath = os.path.join(self.topobjdir, "crashreporter-symbols")
if not args.xrePath:
args.xrePath = os.environ.get("MOZ_HOST_BIN")
if not args.app:
args.app = self.substs["ANDROID_PACKAGE_NAME"]
if not args.utilityPath:
args.utilityPath = args.xrePath
args.dm_trans = "adb"
args.ignoreWindowSize = True
args.printDeviceInfo = False
from mozrunner.devices.android_device import grant_runtime_permissions
grant_runtime_permissions(self)
# A symlink and some path manipulations are required so that test
# manifests can be found both locally and remotely (via a url)
# using the same relative path.
if args.suite == "jstestbrowser":
staged_js_dir = os.path.join(self.topobjdir, "dist", "test-stage", "jsreftest")
tests = os.path.join(self.reftest_dir, 'jsreftest')
if not os.path.isdir(tests):
os.symlink(staged_js_dir, tests)
args.extraProfileFiles.append(os.path.join(staged_js_dir, "tests", "user.js"))
else:
tests = os.path.join(self.reftest_dir, "tests")
if not os.path.isdir(tests):
os.symlink(self.topsrcdir, tests)
for i, path in enumerate(args.tests):
# Non-absolute paths are relative to the packaged directory, which
# has an extra tests/ at the start
if os.path.exists(os.path.abspath(path)):
path = os.path.relpath(path, os.path.join(self.topsrcdir))
args.tests[i] = os.path.join('tests', path)
self.log_manager.enable_unstructured()
try:
rv = remotereftest.run_test_harness(parser, args)
finally:
self.log_manager.disable_unstructured()
return rv
def process_test_objects(kwargs):
"""|mach test| works by providing a test_objects argument, from
@ -299,12 +225,7 @@ def get_parser():
global parser
here = os.path.abspath(os.path.dirname(__file__))
build_obj = MozbuildObject.from_environment(cwd=here)
if conditions.is_android(build_obj):
parser = reftestcommandline.RemoteArgumentsParser()
elif conditions.is_mulet(build_obj):
parser = reftestcommandline.B2GArgumentParser()
else:
parser = reftestcommandline.DesktopArgumentsParser()
parser = reftestcommandline.DesktopArgumentsParser()
return parser
@ -340,12 +261,6 @@ class MachCommands(MachCommandBase):
def _run_reftest(self, **kwargs):
process_test_objects(kwargs)
reftest = self._spawn(ReftestRunner)
if conditions.is_android(self):
from mozrunner.devices.android_device import verify_android_device
verify_android_device(self, install=True, xre=True)
return reftest.run_android_test(**kwargs)
elif conditions.is_mulet(self):
return reftest.run_mulet_test(**kwargs)
return reftest.run_desktop_test(**kwargs)

View file

@ -29,8 +29,6 @@ def run_reftest(context, **kwargs):
normalize = partial(context.normalize_test_path, test_root)
args.tests = map(normalize, args.tests)
if mozinfo.info.get('buildapp') == 'mobile/android':
return run_reftest_android(context, args)
return run_reftest_desktop(context, args)
@ -44,37 +42,13 @@ def run_reftest_desktop(context, args):
return run_test_harness(parser, args)
def run_reftest_android(context, args):
from remotereftest import run_test_harness
args.app = args.app or 'org.mozilla.fennec'
args.utilityPath = context.hostutils
args.xrePath = context.hostutils
args.httpdPath = context.module_dir
args.dm_trans = 'adb'
args.ignoreWindowSize = True
args.printDeviceInfo = False
config = context.mozharness_config
if config:
args.remoteWebServer = config['remote_webserver']
args.httpPort = config['emulator']['http_port']
args.sslPort = config['emulator']['ssl_port']
args.adb_path = config['exes']['adb'] % {'abs_work_dir': context.mozharness_workdir}
return run_test_harness(parser, args)
def setup_argument_parser():
import mozinfo
import reftestcommandline
global parser
mozinfo.find_and_update_from_json(here)
if mozinfo.info.get('buildapp') == 'mobile/android':
parser = reftestcommandline.RemoteArgumentsParser()
else:
parser = reftestcommandline.DesktopArgumentsParser()
parser = reftestcommandline.DesktopArgumentsParser()
return parser

View file

@ -302,16 +302,7 @@ this.OnRefTestLoad = function OnRefTestLoad(win)
// what size our window is
gBrowser.setAttribute("style", "padding: 0px; margin: 0px; border:none; min-width: 800px; min-height: 1000px; max-width: 800px; max-height: 1000px");
if (Services.appinfo.OS == "Android") {
let doc;
doc = gContainingWindow.document.getElementById('main-window');
while (doc.hasChildNodes()) {
doc.removeChild(doc.firstChild);
}
doc.appendChild(gBrowser);
} else {
document.getElementById("reftest-window").appendChild(gBrowser);
}
document.getElementById("reftest-window").appendChild(gBrowser);
// reftests should have the test plugins enabled, not click-to-play
let plugin1 = getTestPlugin("Test Plug-in");
@ -341,10 +332,6 @@ function InitAndStartRefTests()
logger.error("EXCEPTION: " + e);
}
try {
prefs.setBoolPref("android.widget_paints_background", false);
} catch (e) {}
/* set the gLoadTimeout */
gLoadTimeout = prefs.getIntPref("reftest.timeout", 5 * 60 * 1000); //5 minutes as per bug 479518
@ -620,7 +607,7 @@ function BuildConditionSandbox(aURL) {
// Shortcuts for widget toolkits.
sandbox.B2G = false;
sandbox.Android = xr.OS == "Android" && !sandbox.B2G;
sandbox.Android = false;
sandbox.cocoaWidget = xr.widgetToolkit == "cocoa";
sandbox.gtkWidget = xr.widgetToolkit == "gtk2"
|| xr.widgetToolkit == "gtk3";
@ -630,14 +617,6 @@ function BuildConditionSandbox(aURL) {
// Scrollbars that are semi-transparent. See bug 1169666.
sandbox.transparentScrollbars = xr.widgetToolkit == "gtk3";
if (sandbox.Android) {
var sysInfo = CC["@mozilla.org/system-info;1"].getService(CI.nsIPropertyBag2);
// This is currently used to distinguish Android 4.0.3 (SDK version 15)
// and later from Android 2.x
sandbox.AndroidVersion = sysInfo.getPropertyAsInt32("version");
}
#if MOZ_ASAN
sandbox.AddressSanitizer = true;
#else

View file

@ -352,8 +352,7 @@ class DesktopArgumentsParser(ReftestArgumentsParser):
if options.app is None:
bin_dir = (self.build_obj.get_binary_path() if
self.build_obj and self.build_obj.substs[
'MOZ_BUILD_APP'] != 'mobile/android'
self.build_obj
else None)
if bin_dir:
@ -744,7 +743,5 @@ class RemoteArgumentsParser(ReftestArgumentsParser):
self.error("ERROR: Invalid screen resolution %sx%s, please adjust to 1366x1050 or higher" % (
width, height))
# Disable e10s by default on Android because we don't run Android
# e10s jobs anywhere yet.
options.e10s = False
return options