зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
3e8b48fa31
Коммит
e2ccf77a14
|
@ -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";
|
||||
|
||||
// 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
|
||||
|
|
Загрузка…
Ссылка в новой задаче