Backed out 10 changesets (bug 1446809) for failures in testing/mozbase/moztest/tests/test.py on a CLOSED TREE

Backed out changeset 5748f214f813 (bug 1446809)
Backed out changeset 1c7a6f2885fb (bug 1446809)
Backed out changeset 2c31f0efbe64 (bug 1446809)
Backed out changeset e102f93c590f (bug 1446809)
Backed out changeset c722a1c3395f (bug 1446809)
Backed out changeset 20b4c87f8abb (bug 1446809)
Backed out changeset 31026393c5b6 (bug 1446809)
Backed out changeset 9103be0ca176 (bug 1446809)
Backed out changeset 11d671ad8ed4 (bug 1446809)
Backed out changeset e412991e7f95 (bug 1446809)
This commit is contained in:
Noemi Erli 2018-03-20 17:00:04 +02:00
Родитель 3e8b48fa31
Коммит e2ccf77a14
24 изменённых файлов: 297 добавлений и 41 удалений

Просмотреть файл

@ -471,6 +471,169 @@ AndroidPresenter.prototype.noMove =
};
};
/**
* A B2G presenter for Gaia.
*/
function B2GPresenter() {}
B2GPresenter.prototype = Object.create(Presenter.prototype);
B2GPresenter.prototype.type = "B2G";
B2GPresenter.prototype.keyboardEchoSetting =
new PrefCache("accessibility.accessfu.keyboard_echo");
B2GPresenter.prototype.NO_ECHO = 0;
B2GPresenter.prototype.CHARACTER_ECHO = 1;
B2GPresenter.prototype.WORD_ECHO = 2;
B2GPresenter.prototype.CHARACTER_AND_WORD_ECHO = 3;
/**
* A pattern used for haptic feedback.
* @type {Array}
*/
B2GPresenter.prototype.PIVOT_CHANGE_HAPTIC_PATTERN = [40];
/**
* Pivot move reasons.
* @type {Array}
*/
B2GPresenter.prototype.pivotChangedReasons = ["none", "next", "prev", "first",
"last", "text", "point"];
B2GPresenter.prototype.pivotChanged =
function B2GPresenter_pivotChanged(aContext, aReason, aIsUserInput) {
if (!aContext.accessible) {
return null;
}
return {
type: this.type,
details: {
eventType: "vc-change",
data: UtteranceGenerator.genForContext(aContext),
options: {
pattern: this.PIVOT_CHANGE_HAPTIC_PATTERN,
isKey: Utils.isActivatableOnFingerUp(aContext.accessible),
reason: this.pivotChangedReasons[aReason],
isUserInput: aIsUserInput,
hints: aContext.interactionHints
}
}
};
};
B2GPresenter.prototype.nameChanged =
function B2GPresenter_nameChanged(aAccessible, aIsPolite = true) {
return {
type: this.type,
details: {
eventType: "name-change",
data: aAccessible.name,
options: {enqueue: aIsPolite}
}
};
};
B2GPresenter.prototype.valueChanged =
function B2GPresenter_valueChanged(aAccessible, aIsPolite = true) {
// the editable value changes are handled in the text changed presenter
if (Utils.getState(aAccessible).contains(States.EDITABLE)) {
return null;
}
return {
type: this.type,
details: {
eventType: "value-change",
data: aAccessible.value,
options: {enqueue: aIsPolite}
}
};
};
B2GPresenter.prototype.textChanged = function B2GPresenter_textChanged(
aAccessible, aIsInserted, aStart, aLength, aText, aModifiedText) {
let echoSetting = this.keyboardEchoSetting.value;
let text = "";
if (echoSetting == this.CHARACTER_ECHO ||
echoSetting == this.CHARACTER_AND_WORD_ECHO) {
text = aModifiedText;
}
// add word if word boundary is added
if ((echoSetting == this.WORD_ECHO ||
echoSetting == this.CHARACTER_AND_WORD_ECHO) &&
aIsInserted && aLength === 1) {
let accText = aAccessible.QueryInterface(Ci.nsIAccessibleText);
let startBefore = {}, endBefore = {};
let startAfter = {}, endAfter = {};
accText.getTextBeforeOffset(aStart,
Ci.nsIAccessibleText.BOUNDARY_WORD_END, startBefore, endBefore);
let maybeWord = accText.getTextBeforeOffset(aStart + 1,
Ci.nsIAccessibleText.BOUNDARY_WORD_END, startAfter, endAfter);
if (endBefore.value !== endAfter.value) {
text += maybeWord;
}
}
return {
type: this.type,
details: {
eventType: "text-change",
data: text
}
};
};
B2GPresenter.prototype.actionInvoked =
function B2GPresenter_actionInvoked(aObject, aActionName) {
return {
type: this.type,
details: {
eventType: "action",
data: UtteranceGenerator.genForAction(aObject, aActionName)
}
};
};
B2GPresenter.prototype.liveRegion = function B2GPresenter_liveRegion(aContext,
aIsPolite, aIsHide, aModifiedText) {
return {
type: this.type,
details: {
eventType: "liveregion-change",
data: UtteranceGenerator.genForLiveRegion(aContext, aIsHide,
aModifiedText),
options: {enqueue: aIsPolite}
}
};
};
B2GPresenter.prototype.announce =
function B2GPresenter_announce(aAnnouncement) {
return {
type: this.type,
details: {
eventType: "announcement",
data: aAnnouncement
}
};
};
B2GPresenter.prototype.noMove =
function B2GPresenter_noMove(aMoveMethod) {
return {
type: this.type,
details: {
eventType: "no-move",
data: aMoveMethod
}
};
};
/**
* A braille presenter
*/
@ -513,7 +676,8 @@ var Presentation = { // jshint ignore:line
delete this.presenters;
let presenterMap = {
"mobile/android": [VisualPresenter, AndroidPresenter],
"browser": [VisualPresenter, AndroidPresenter]
"b2g": [VisualPresenter, B2GPresenter],
"browser": [VisualPresenter, B2GPresenter, AndroidPresenter]
};
this.presenters = presenterMap[Utils.MozBuildApp].map(P => new P());
return this.presenters;

Просмотреть файл

@ -26,8 +26,11 @@ var EXPORTED_SYMBOLS = ["Utils", "Logger", "PivotContext", "PrefCache"]; // jshi
var Utils = { // jshint ignore:line
_buildAppMap: {
"{3c2e2abc-06d4-11e1-ac3b-374f68613e61}": "b2g",
"{d1bfe7d9-c01e-4237-998b-7b5f960a4314}": "graphene",
"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}": "browser",
"{aa3c5121-dab2-40e2-81ca-7ea25febc110}": "mobile/android"
"{aa3c5121-dab2-40e2-81ca-7ea25febc110}": "mobile/android",
"{a23983c0-fd0e-11dc-95ff-0800200c9a66}": "mobile/xul"
},
init: function Utils_init(aWindow) {
@ -130,6 +133,8 @@ var Utils = { // jshint ignore:line
return this.win.BrowserApp;
case "browser":
return this.win.gBrowser;
case "b2g":
return this.win.shell;
default:
return null;
}
@ -139,6 +144,9 @@ var Utils = { // jshint ignore:line
if (!this.BrowserApp) {
return null;
}
if (this.MozBuildApp == "b2g") {
return this.BrowserApp.contentBrowser;
}
return this.BrowserApp.selectedBrowser;
},
@ -167,6 +175,13 @@ var Utils = { // jshint ignore:line
let document = this.CurrentContentDoc;
if (document) {
if (document.location.host === "b2g") {
// The document is a b2g app chrome (ie. Mulet).
let contentBrowser = this.win.content.shell.contentBrowser;
messageManagers.add(this.getMessageManager(contentBrowser));
document = contentBrowser.contentDocument;
}
let remoteframes = document.querySelectorAll("iframe");
for (let i = 0; i < remoteframes.length; ++i) {

Просмотреть файл

@ -5,7 +5,7 @@ support-files = zoom_tree.xul
[test_browser.html]
[test_canvas_hitregion.html]
skip-if = (os == "android")
skip-if = (os == "android" || appname == "b2g")
[test_general.html]
[test_menu.xul]
[test_shadowroot.html]

Просмотреть файл

@ -534,8 +534,11 @@ ExpectedMessage.prototype.ignore = function(aMessage) {
return aMessage.name !== this.name;
};
function ExpectedPresent(aAndroid, aOptions) {
function ExpectedPresent(aB2g, aAndroid, aOptions) {
ExpectedMessage.call(this, "AccessFu:Present", aOptions);
if (aB2g) {
this.json.b2g = aB2g;
}
if (aAndroid) {
this.json.android = aAndroid;
@ -547,7 +550,7 @@ ExpectedPresent.prototype = Object.create(ExpectedMessage.prototype);
ExpectedPresent.prototype.is = function(aReceived, aInfo) {
var received = this.extract_presenters(aReceived);
for (var presenter of ["android"]) {
for (var presenter of ["b2g", "android"]) {
if (!this.options["no_" + presenter]) {
var todo = this.options.todo || this.options[presenter + "_todo"];
SimpleTest[todo ? "todo" : "ok"].apply(
@ -602,6 +605,8 @@ function ExpectedCursorTextChange(aSpeech, aStartOffset, aEndOffset, aOptions) {
toIndex: aEndOffset
}], aOptions);
// bug 980509
this.options.b2g_todo = true;
}
ExpectedCursorTextChange.prototype =

Просмотреть файл

@ -110,7 +110,7 @@
// Move from an inner frame to the last element in the parent doc
[ContentMessages.simpleMoveLast,
new ExpectedCursorChange(
["slider", "0", {"string": "slider"}])],
["slider", "0", {"string": "slider"}], { b2g_todo: true })],
[ContentMessages.clearCursor, "AccessFu:CursorCleared"],
@ -153,7 +153,7 @@
{"string": "checkbutton"}, {"string": "listStart"},
{"string": "list"}, {"string": "listItemsCount", "count": 1}])],
[ContentMessages.simpleMoveFirst,
new ExpectedCursorChange(["Phone status bar"])],
new ExpectedCursorChange(["Phone status bar"], { b2g_todo: true })],
// Reset cursors
[ContentMessages.clearCursor, "AccessFu:CursorCleared"],

Просмотреть файл

@ -29,12 +29,15 @@ category command-line-validator b-browser @mozilla.org/browser/clh;1 application
# to the specific list of apps that use it so it doesn't get loaded in xpcshell.
# Thus we restrict it to these apps:
#
# b2g: {3c2e2abc-06d4-11e1-ac3b-374f68613e61}
# browser: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
# mobile/android: {aa3c5121-dab2-40e2-81ca-7ea25febc110}
# mobile/xul: {a23983c0-fd0e-11dc-95ff-0800200c9a66}
# graphene: {d1bfe7d9-c01e-4237-998b-7b5f960a4314}
component {eab9012e-5f74-4cbc-b2b5-a590235513cc} nsBrowserGlue.js
contract @mozilla.org/browser/browserglue;1 {eab9012e-5f74-4cbc-b2b5-a590235513cc}
category app-startup nsBrowserGlue service,@mozilla.org/browser/browserglue;1 application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110}
category app-startup nsBrowserGlue service,@mozilla.org/browser/browserglue;1 application={3c2e2abc-06d4-11e1-ac3b-374f68613e61} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={d1bfe7d9-c01e-4237-998b-7b5f960a4314}
component {d8903bf6-68d5-4e97-bcd1-e4d3012f721a} nsBrowserGlue.js
#ifndef MOZ_MULET
contract @mozilla.org/content-permission/prompt;1 {d8903bf6-68d5-4e97-bcd1-e4d3012f721a}

Просмотреть файл

@ -2,8 +2,11 @@
# to the specific list of apps that use it so it doesn't get loaded in xpcshell.
# Thus we restrict it to these apps:
#
# b2g: {3c2e2abc-06d4-11e1-ac3b-374f68613e61}
# browser: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
# mobile/android: {aa3c5121-dab2-40e2-81ca-7ea25febc110}
# mobile/xul: {a23983c0-fd0e-11dc-95ff-0800200c9a66}
# graphene: {d1bfe7d9-c01e-4237-998b-7b5f960a4314}
component {229fa115-9412-4d32-baf3-2fc407f76fb1} FeedConverter.js
contract @mozilla.org/streamconv;1?from=application/vnd.mozilla.maybe.feed&to=*/* {229fa115-9412-4d32-baf3-2fc407f76fb1}
@ -15,4 +18,4 @@ component {49bb6593-3aff-4eb3-a068-2712c28bd58e} FeedWriter.js
contract @mozilla.org/browser/feeds/result-writer;1 {49bb6593-3aff-4eb3-a068-2712c28bd58e}
component {792a7e82-06a0-437c-af63-b2d12e808acc} WebContentConverter.js
contract @mozilla.org/embeddor.implemented/web-content-handler-registrar;1 {792a7e82-06a0-437c-af63-b2d12e808acc}
category app-startup WebContentConverter service,@mozilla.org/embeddor.implemented/web-content-handler-registrar;1 application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110}
category app-startup WebContentConverter service,@mozilla.org/embeddor.implemented/web-content-handler-registrar;1 application={3c2e2abc-06d4-11e1-ac3b-374f68613e61} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={d1bfe7d9-c01e-4237-998b-7b5f960a4314}

Просмотреть файл

@ -2,11 +2,14 @@
# to the specific list of apps that use it so it doesn't get loaded in xpcshell.
# Thus we restrict it to these apps:
#
# b2g: {3c2e2abc-06d4-11e1-ac3b-374f68613e61}
# browser: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
# mobile/android: {aa3c5121-dab2-40e2-81ca-7ea25febc110}
# mobile/xul: {a23983c0-fd0e-11dc-95ff-0800200c9a66}
# graphene: {d1bfe7d9-c01e-4237-998b-7b5f960a4314}
component {5280606b-2510-4fe0-97ef-9b5a22eafe6b} nsSessionStore.js
contract @mozilla.org/browser/sessionstore;1 {5280606b-2510-4fe0-97ef-9b5a22eafe6b}
component {ec7a6c20-e081-11da-8ad9-0800200c9a66} nsSessionStartup.js
contract @mozilla.org/browser/sessionstartup;1 {ec7a6c20-e081-11da-8ad9-0800200c9a66}
category app-startup nsSessionStartup service,@mozilla.org/browser/sessionstartup;1 application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110}
category app-startup nsSessionStartup service,@mozilla.org/browser/sessionstartup;1 application={3c2e2abc-06d4-11e1-ac3b-374f68613e61} application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={d1bfe7d9-c01e-4237-998b-7b5f960a4314}

Просмотреть файл

@ -101,7 +101,7 @@ appName
Array of application names this experiment should run on.
An application name comes from ``nsIXULAppInfo.name``. It is a value
like ``Firefox`` or ``Fennec``.
like ``Firefox``, ``Fennec``, or `B2G`.
The client should compare its application name against the members of
this array. If a match is found, the experiment is applicable.

Просмотреть файл

@ -63,7 +63,7 @@ buildapp
The path to the XUL application being built.
For desktop Firefox, this is ``browser``. For Fennec, it's
``mobile/android``.
``mobile/android``. For B2G, it's ``b2g``.
crashreporter
Whether the crash reporter is enabled for this build.
@ -114,7 +114,7 @@ nightly_build
os
The operating system the build is produced for. Values for tier-1
supported platforms are ``linux``, ``win``, ``mac``, and
supported platforms are ``linux``, ``win``, ``mac``, ``b2g``, and
``android``. For other platforms, the value is the lowercase version
of the ``OS_TARGET`` variable from ``config.status``.

Просмотреть файл

@ -7,12 +7,21 @@ fi
TOOLTOOL_DIR=${TOOLTOOL_DIR:-$topsrcdir}
# We deal with valgrind builds here
CC="$TOOLTOOL_DIR/gcc/bin/gcc"
CXX="$TOOLTOOL_DIR/gcc/bin/g++"
# some b2g desktop builds still happen on i686 machines, and the tooltool
# toolchain is x86_64 only.
# We also deal with valgrind builds here, they don't use tooltool manifests at
# all yet.
if [ -z "$no_tooltool" ]
then
CC="$TOOLTOOL_DIR/gcc/bin/gcc"
CXX="$TOOLTOOL_DIR/gcc/bin/g++"
# We want to make sure we use binutils and other binaries in the tooltool
# package.
mk_add_options "export PATH=$TOOLTOOL_DIR/gcc/bin:$PATH"
# We want to make sure we use binutils and other binaries in the tooltool
# package.
mk_add_options "export PATH=$TOOLTOOL_DIR/gcc/bin:$PATH"
else
CC="/tools/gcc-4.7.3-0moz1/bin/gcc"
CXX="/tools/gcc-4.7.3-0moz1/bin/g++"
fi
. "$topsrcdir/build/unix/mozconfig.stdcxx"

Просмотреть файл

@ -4,9 +4,9 @@
Tab actors are the most common types of actors. That's the type of actors you will most probably be adding.
Tab actors target a document, this could be a tab in Firefox or a remote document in Firefox for Android/Safari/Chrome for Android (via Valence).
Tab actors target a document, this could be a tab in Firefox, an app on B2G or a remote document in Firefox for Android/Safari/Chrome for Android (via Valence).
Global actors however are for the rest, for things not related to any particular document but instead for things global to the whole Firefox/Chrome/Safari intance the toolbox is connected to (e.g. the preference actor).
Global actors however are for the rest, for things not related to any particular document but instead for things global to the whole Firefox/B2G/Chrome/Safari intance the toolbox is connected to (e.g. the preference actor).
## The DebuggerServer.registerModule function
@ -38,4 +38,4 @@ If you are adding a new actor from an add-on, you should call `DebuggerServer.re
The `DebuggerServer` loads and creates all of the actors lazily to keep the initial memory usage down (which is extremely important on lower end devices).
It becomes especially important when debugging pages with e10s when there are more than one process, because that's when we need to spawn a `DebuggerServer` per process (it may not be immediately obvious that the server in the main process is mostly only here for piping messages to the actors in the child process).
It becomes especially important when debugging apps on b2g or pages with e10s when there are more than one process, because that's when we need to spawn a `DebuggerServer` per process (it may not be immediately obvious that the server in the main process is mostly only here for piping messages to the actors in the child process).

Просмотреть файл

@ -39,7 +39,9 @@ const APP_MAP = {
"{3550f703-e582-4d05-9a08-453d09bdfdc6}": "thunderbird",
"{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}": "seamonkey",
"{718e30fb-e89b-41dd-9da7-e25a45638b28}": "sunbird",
"{aa3c5121-dab2-40e2-81ca-7ea25febc110}": "mobile/android"
"{3c2e2abc-06d4-11e1-ac3b-374f68613e61}": "b2g",
"{aa3c5121-dab2-40e2-81ca-7ea25febc110}": "mobile/android",
"{a23983c0-fd0e-11dc-95ff-0800200c9a66}": "mobile/xul"
};
var CACHED_INFO = null;
@ -66,8 +68,22 @@ async function getSystemInfo() {
let hardware = "unknown";
let version = "unknown";
os = appInfo.OS;
version = appInfo.version;
// B2G specific
if (apptype === "b2g") {
os = "B2G";
// `getSetting` does not work in child processes on b2g.
// TODO bug 1205797, make this work in child processes.
try {
hardware = await exports.getSetting("deviceinfo.hardware");
version = await exports.getSetting("deviceinfo.os");
} catch (e) {
// Ignore.
}
} else {
// Not B2G
os = appInfo.OS;
version = appInfo.version;
}
let bundle = Services.strings.createBundle("chrome://branding/locale/brand.properties");
if (bundle) {
@ -109,6 +125,7 @@ async function getSystemInfo() {
// The application's version, for example "0.8.0+" or "3.7a1pre".
// Typically, the version of Firefox, for example.
// It is different than the version of Gecko or the XULRunner platform.
// On B2G, this is the Gaia version.
version,
// The application's build ID/date, for example "2004051604".
@ -139,6 +156,7 @@ async function getSystemInfo() {
// Name of the OS type. Typically the same as `uname -s`. Possible values:
// https://developer.mozilla.org/en/OS_TARGET
// Also may be "B2G".
os,
platform: os,
@ -253,6 +271,7 @@ function getSetting(name) {
if ("@mozilla.org/settingsService;1" in Cc) {
let settingsService;
// settingsService fails in b2g child processes
// TODO bug 1205797, make this work in child processes.
try {
settingsService = Cc["@mozilla.org/settingsService;1"]

Просмотреть файл

@ -2,6 +2,13 @@
// http://creativecommons.org/publicdomain/zero/1.0/
function serviceWorkerTestExec(testFile) {
var isB2G = !navigator.userAgent.includes("Android") &&
/Mobile|Tablet/.test(navigator.userAgent);
if (isB2G) {
// TODO B2G doesn't support running service workers for now due to bug 1137683.
dump("Skipping running the test in SW until bug 1137683 gets fixed.\n");
return Promise.resolve();
}
return new Promise(function(resolve, reject) {
function setupSW(registration) {
var worker = registration.waiting ||

Просмотреть файл

@ -4,7 +4,7 @@
[DEFAULT]
subsuite = webgl
skip-if = (os == 'linux') && (buildapp == 'mulet')
skip-if = os == 'b2g' || ((os == 'linux') && (buildapp == 'mulet'))
support-files = always-fail.html
checkout/00_test_list.txt
@ -7537,7 +7537,7 @@ skip-if = (os == 'mac')
[generated/test_conformance__context__constants-and-properties.html]
[generated/test_conformance__context__context-attribute-preserve-drawing-buffer.html]
[generated/test_conformance__context__context-attributes-alpha-depth-stencil-antialias.html]
skip-if = (os == 'linux') || (os == 'android')
skip-if = (os == 'b2g') || (os == 'linux') || (os == 'android')
fail-if = (os == 'mac' && os_version == '10.6')
[generated/test_conformance__context__context-creation-and-destruction.html]
[generated/test_conformance__context__context-creation.html]
@ -7931,10 +7931,12 @@ fail-if = (os == 'android')
[generated/test_conformance__glsl__misc__uniform-location-length-limits.html]
[generated/test_conformance__glsl__reserved___webgl_field.vert.html]
[generated/test_conformance__glsl__reserved___webgl_function.vert.html]
fail-if = (os == 'b2g')
[generated/test_conformance__glsl__reserved___webgl_struct.vert.html]
[generated/test_conformance__glsl__reserved___webgl_variable.vert.html]
[generated/test_conformance__glsl__reserved__webgl_field.vert.html]
[generated/test_conformance__glsl__reserved__webgl_function.vert.html]
fail-if = (os == 'b2g')
[generated/test_conformance__glsl__reserved__webgl_struct.vert.html]
[generated/test_conformance__glsl__reserved__webgl_variable.vert.html]
[generated/test_conformance__glsl__samplers__glsl-function-texture2d-bias.html]
@ -7966,6 +7968,7 @@ skip-if = (os == 'android')
[generated/test_conformance__misc__delayed-drawing.html]
skip-if = (os == 'android' && android_version == '10')
[generated/test_conformance__misc__error-reporting.html]
fail-if = (os == 'b2g')
[generated/test_conformance__misc__expando-loss.html]
[generated/test_conformance__misc__functions-returning-strings.html]
[generated/test_conformance__misc__instanceof-test.html]
@ -7979,7 +7982,7 @@ fail-if = (os == 'android')
[generated/test_conformance__misc__shader-precision-format.html]
skip-if = (os == 'android')
[generated/test_conformance__misc__type-conversion-test.html]
skip-if = (os == 'android') || (os == 'linux')
skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
fail-if = (os == 'linux')
[generated/test_conformance__misc__uninitialized-test.html]
skip-if = (os == 'android')
@ -8205,6 +8208,7 @@ fail-if = (os == 'mac' && os_version == '10.6')
[generated/test_conformance__ogles__GL__vec__vec_009_to_016.html]
[generated/test_conformance__ogles__GL__vec__vec_017_to_018.html]
[generated/test_conformance__programs__get-active-test.html]
fail-if = (os == 'b2g')
[generated/test_conformance__programs__gl-bind-attrib-location-long-names-test.html]
[generated/test_conformance__programs__gl-bind-attrib-location-test.html]
[generated/test_conformance__programs__gl-get-active-attribute.html]

Просмотреть файл

@ -23,8 +23,9 @@
[DEFAULT]
subsuite = webgl
# Skip B2G for now, until we get a handle on the longer tail of emulator bugs.
# Bug 1136181 disabled on Mulet for intermittent failures
skip-if = (os == 'linux') && (buildapp == 'mulet')
skip-if = os == 'b2g' || ((os == 'linux') && (buildapp == 'mulet'))
[generated/test_..__always-fail.html]
fail-if = 1
@ -75,8 +76,8 @@ skip-if = (os == 'win')
[generated/test_conformance__context__context-attributes-alpha-depth-stencil-antialias.html]
fail-if = (os == 'mac' && os_version == '10.6')
# Asserts on linux debug. Crashes on Android.
skip-if = (os == 'linux') || (os == 'android')
# Asserts on 'B2G ICS Emulator Debug' and linux debug. Crashes on Android.
skip-if = (os == 'b2g') || (os == 'linux') || (os == 'android')
[generated/test_conformance__extensions__webgl-draw-buffers.html]
# Crashes
@ -111,8 +112,8 @@ fail-if = (os == 'linux')
[generated/test_conformance__misc__type-conversion-test.html]
fail-if = (os == 'linux')
# Resets device on Android 2.3.
# Crashes on desktop Linux, and Mulet Linux x64.
skip-if = (os == 'android') || (os == 'linux')
# Crashes on B2G ICS Emulator, desktop Linux, and Mulet Linux x64.
skip-if = (os == 'android') || (os == 'b2g') || (os == 'linux')
[generated/test_conformance__misc__object-deletion-behaviour.html]
fail-if = (os == 'android')
@ -337,10 +338,11 @@ fail-if = (os == 'mac') || (os == 'win')
fail-if = (os == 'mac') || (os == 'win')
########################################################################
# "tst-linux{32,64}-spot-NNN" Slaves:
# Android 2.3, Linux, and Mulet.
# Android 2.3, B2G Emu, Linux, and Mulet.
# Android: os == 'android'. (Not enough info to separate out 2.3)
# B2G Emu: os == 'b2g'.
# Linux: os == 'linux'.
# Mulet: buildapp == 'mulet'.
# Mulet: os == 'b2g' && buildapp == 'mulet'.
[generated/test_conformance__glsl__bugs__temp-expressions-should-not-crash.html]
# Coincidentally enough, crashes on Linux and Android 4.0.
skip-if = (os == 'android') || (os == 'linux')
@ -355,6 +357,7 @@ fail-if = (os == 'android')
[generated/test_conformance__reading__read-pixels-test.html]
# Causes consistent *blues*: "DMError: Remote Device Error: unable to
# connect to 127.0.0.1 after 5 attempts" on 'Android 2.3 Opt'.
# Crashes near on B2G ICS Emulator.
skip-if = (os == 'android') || (os == 'linux')
[generated/test_conformance__textures__misc__texture-upload-size.html]
# application crashed [@ mozilla::WebGLTexture::TexSubImage]
@ -580,10 +583,16 @@ skip-if = (os == 'android')
########################################################################
########################################################################
# B2G
[generated/test_conformance__glsl__reserved___webgl_function.vert.html]
fail-if = (os == 'b2g')
[generated/test_conformance__glsl__reserved__webgl_function.vert.html]
fail-if = (os == 'b2g')
[generated/test_conformance__misc__error-reporting.html]
fail-if = (os == 'b2g')
[generated/test_conformance__programs__get-active-test.html]
fail-if = (os == 'b2g')
########################################################################
########################################################################

Просмотреть файл

@ -235,6 +235,7 @@ var FormAssistant = {
},
/**
* (Copied from mobile/xul/chrome/content/forms.js)
* This function is similar to getListSuggestions from
* components/satchel/src/nsInputListAutoComplete.js but sadly this one is
* used by the autocomplete.xml binding which is not in used in fennec

Просмотреть файл

@ -41,6 +41,7 @@ class Collection(unittest.TestCase):
c1 = TestContext('host1')
c2 = TestContext('host2')
c3 = TestContext('host2')
c3.os = 'B2G'
c4 = TestContext('host1')
t1 = TestResult('t1', context=c1)

Просмотреть файл

@ -2,4 +2,5 @@
subsuite = mozbase, os == "linux"
[test_binary.py]
[test_sources.py]
[test_b2g.py]
[test_apk.py]

Просмотреть файл

@ -1,4 +1,5 @@
manifestparser.pth:testing/mozbase/manifestparser
mozb2g.pth:testing/mozbase/mozb2g
mozcrash.pth:testing/mozbase/mozcrash
mozdebug.pth:testing/mozbase/mozdebug
mozdevice.pth:testing/mozbase/mozdevice

Просмотреть файл

@ -1,4 +1,3 @@
import os
# The name of the directory we'll pull our source into.
BUILD_DIR = "mozilla-central"
@ -11,6 +10,7 @@ REPO_PATH = "mozilla-central"
L10N_REPO_PATH = "l10n-central"
# Currently this is assumed to be a subdirectory of your build dir
OBJDIR = "objdir-droid"
# Set this to mobile/xul for XUL Fennec
ANDROID_DIR = "mobile/android"
# Absolute path to your mozconfig.
# By default it looks at "./mozconfig"

Просмотреть файл

@ -9,7 +9,7 @@
# ==============================================================
@depends(build_project, '--help')
def dbm_default(build_project, _):
return build_project != 'mobile/android'
return build_project not in ('mobile/android', 'b2g', 'b2g/graphene')
option('--enable-dbm', default=dbm_default, help='Enable building DBM')

Просмотреть файл

@ -41,7 +41,8 @@ if CONFIG['MOZ_SANDBOX']:
DIRS += ['/security/sandbox']
DIRS += [
# Depends on NSS and NSPR
# Depends on NSS and NSPR, and must be built after sandbox or else B2G emulator
# builds fail.
'/security/certverifier',
# Depends on certverifier
'/security/apps',

Просмотреть файл

@ -25,8 +25,12 @@
#define KEY_MAP_COCOA(aCPPKeyName, aNativeKey)
// GTK
#define KEY_MAP_GTK(aCPPKeyName, aNativeKey)
// Only for Android
// Android and B2G
#define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey)
// Only for Android
#define KEY_MAP_ANDROID_EXCEPT_B2G(aCPPKeyName, aNativeKey)
// Only for B2G
#define KEY_MAP_B2G(aCPPKeyName, aNativeKey)
#if defined(XP_WIN)
#if defined(NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX)
@ -76,6 +80,9 @@
#undef KEY_MAP_ANDROID
#define KEY_MAP_ANDROID(aCPPKeyName, aNativeKey) \
NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
#undef KEY_MAP_ANDROID_EXCEPT_B2G
#define KEY_MAP_ANDROID_EXCEPT_B2G(aCPPKeyName, aNativeKey) \
NS_NATIVE_KEY_TO_DOM_KEY_NAME_INDEX(aNativeKey, KEY_NAME_INDEX_##aCPPKeyName)
#endif
/******************************************************************************
@ -1049,7 +1056,7 @@ KEY_MAP_ANDROID (Call, AKEYCODE_CALL)
KEY_MAP_ANDROID (Camera, AKEYCODE_CAMERA)
// CameraFocus
KEY_MAP_ANDROID(CameraFocus, AKEYCODE_FOCUS)
KEY_MAP_ANDROID_EXCEPT_B2G(CameraFocus, AKEYCODE_FOCUS)
// EndCall
KEY_MAP_ANDROID (EndCall, AKEYCODE_ENDCALL)
@ -1058,7 +1065,8 @@ KEY_MAP_ANDROID (EndCall, AKEYCODE_ENDCALL)
KEY_MAP_ANDROID (GoBack, AKEYCODE_BACK)
// GoHome
KEY_MAP_ANDROID(GoHome, AKEYCODE_HOME)
KEY_MAP_ANDROID_EXCEPT_B2G(GoHome, AKEYCODE_HOME)
KEY_MAP_B2G (HomeScreen, AKEYCODE_HOME)
// HeadsetHook
KEY_MAP_ANDROID (HeadsetHook, AKEYCODE_HEADSETHOOK)
@ -1280,3 +1288,5 @@ KEY_MAP_ANDROID (SoftRight, AKEYCODE_SOFT_RIGHT)
#undef KEY_MAP_COCOA
#undef KEY_MAP_GTK
#undef KEY_MAP_ANDROID
#undef KEY_MAP_ANDROID_EXCEPT_B2G
#undef KEY_MAP_B2G