Commit Graph

235217 Commits

Author SHA1 Message Date
Andreas Tolfsen
04f42875fc Bug 1107706: Part 15: Fix emulator callbacks for content process 2015-03-23 15:40:51 +00:00
Andreas Tolfsen
b0692bd995 Bug 1107706: Part 14: Fix quitApplication 2015-03-20 20:44:17 +00:00
Andreas Tolfsen
7f29c2edbd Bug 1107706: Part 13: Style fixes
Linting; no functional changes.
2015-03-23 20:43:18 +00:00
Andreas Tolfsen
b1b972fa94 Bug 1107706: Part 12: Drop marionette-* prefix on files 2015-03-23 21:32:03 +00:00
Andreas Tolfsen
e3da054553 Bug 1107706: Part 11: Global modal dialogue support 2015-03-20 15:46:46 +00:00
Andreas Tolfsen
18f01362a5 Bug 1107706: Part 10: Disable test_anonymous_content.py on B2G
It uses chrome context to test XUL related functionality that is not
necessary nor desirable to run on B2G.
2015-03-11 17:10:18 +00:00
Andreas Tolfsen
d44d656ddf Bug 1107706: Part 9: Disable XUL component tests on B2G 2015-03-12 18:12:05 +00:00
Andreas Tolfsen
f73350a73c Bug 1107706: Part 8: Adapt emulator callbacks
Emulator callbacks are now created dynamically upon request, and uses
a nicer data structure in chrome context.  Each emulator callback is
encapsulated in EmulatorCallback, and stored on Emulator.

Emulator is stored on Dispatcher (as opposed to in marionette-server.js)
which bypasses some of the problems with circumventing the Marionette
protocol in GeckoDriver because of CommandProcessor.

Emulator callbacks to the client should be considered transparent, hence
they do not use the ListenerProxy.  They are explicitly meant _not_
to be blocking.
2015-03-17 16:10:58 +00:00
Andreas Tolfsen
fd9b8256c3 Bug 1107706: Part 7: Add timeout test for async scripts 2015-02-26 17:41:54 +00:00
Andreas Tolfsen
f3d9a22ebf Bug 1107706: Part 6: Make SpecialPowersError a prototypal Error
If special powers is imported using Components.utils.import on B2G which
has some special concepts around global scoping, a TypeError will be
raised unless the custom error is a prototypal Error.

An explanation can be found for a similar issue in bug 843892, which
states that toString is attached to the instances rather than the
prototype, and that this causes problems once the object goes through
Object.freeze.  It was patched in bug 1014484.

This patch also renames SpecialPowersException to SpecialPowersError.
2015-02-26 17:40:21 +00:00
Andreas Tolfsen
436bd6d84a Bug 1107706: Part 5: Refactor Marionette chrome/content communication
The Marionette server handles requests separately with a global sense
of state which makes it hard to introduce generalised behaviour to many
commands.  This effectively slows down protocol implementation because
each command request individually needs to do heavy lifting.

This patch introduces a series of abstractions that separates out the
WebDriver implementation to a new class, GeckoDriver.  It also features
a new interface to mediate messages between the chrome- and content
processes.

This allows the code living in the chrome context to make direct calls
on the listener through a promise-based API:

	let listener = new ListenerProxy(mm, sendCallback);
	let res = yield listener.functionOnListener("arg1", "arg2");

The MarionetteServer class that used to live in marionette-server.js
has now been moved to server.js, while the WebDriver implementation
has moved to driver.js.  By introducing more stringent separation,
MarionetteServer now properly encapsulates the server process allowing
us to unit tests for it in the future.

The patch is a refactor in the truest sense, in the meaning that no
input or output should have changed.
2015-03-19 21:12:58 +00:00
Andreas Tolfsen
e96a09ec31 Bug 1107706: Part 4: Add dispatching mechanism to encapsulate connection
The dispatcher is analogous to the client socket connection, and handles
receiving packets and closing connections.

It also encompasses some of the functionality needed to establish the
devtools and Marionette connection, that previously used to live in
MarionetteServerConnection in marionette-server.js.

For each connection, recognised commands will be forwarded to the command
processor (command.js) unless a handler is defined in Dispatcher.requests.
2015-03-18 12:27:29 +00:00
Andreas Tolfsen
9712ea8319 Bug 1107706: Part 3: Add a command processor to Marionette
The command processor receives messages, processes them, and wraps the
execution of the command implementations.  This allows commands to throw
errors without worrying about the side effects.

This patch also introduces a Response object which correspondingly wraps
the replies to the client.  This shifts the responsibility of managing
the correctness of the packets from the commands to this.
2015-03-17 14:49:27 +00:00
Andreas Tolfsen
633262693f Bug 1107706: Part 2: Add error module and WebDriver error objects
Adds the ability to throw error objects for WebDriver statuses, and an
error module with convenience functions for manipulation of these and
for handling other error related operations.
2015-03-17 14:27:20 +00:00
Andreas Tolfsen
dfbcdf9060 Bug 1107706: Part 1: Change context from strings to enum 2015-02-25 21:11:51 +00:00
Dan Glastonbury
3bb93a3501 Bug 1145492 - Update FramebufferTexture2D to allow binding mipmaps. r=jgilbert 2015-03-24 10:41:33 +10:00
Dan Glastonbury
bf34887a19 Bug 1145501 - Extend validation of BufferData usage. r=jgilbert 2015-03-24 10:41:24 +10:00
Boris Zbarsky
2923eda99d Bug 1146472 part 2. Use JSOP_NEWOBJECT as needed even if the script is not compile-and-go. r=luke 2015-03-23 20:37:31 -04:00
Boris Zbarsky
444260de07 Bug 1146472 part 1. Don't do object-kind guessing for object literal templates in scripts, since we in fact know exactly how many slots we want them to have and hence what the kind should be. r=terrence 2015-03-23 20:37:30 -04:00
David Major
5c46210c18 Bug 1146229: Remove calling convention modifier from local variable. r=surkov 2015-03-24 13:30:11 +13:00
Brian Birtles
de72475e25 Bug 1109390 part 4 - Make DevTools animation actor wait for asynchronous pause; r=pbrosset
Although pause() is not yet asynchronous, any time we finish calling it the
ready promise should be resolved so we can safely wait on the ready promise
after calling pause already. This way, once pause() becomes async later in this
bug, code relying on this actor will continue to work.
2015-03-24 09:21:08 +09:00
Brian Birtles
6f4f668531 Bug 1109390 part 3 - Clear the start time when playing a player; r=jwatt
This brings us into line with the algorithm in:

  https://w3c.github.io/web-animations/#play-an-animation

which makes the other patches in this series easier to compare with
the specification.
2015-03-24 09:21:08 +09:00
Brian Birtles
c9a4d2f46f Bug 1109390 part 2 - Remove some unneeded startTime tests; r=jwatt
Now that we have separate tests for checking the initial state of startTime we
can remove these checks from tests for setting the startTime.

Also, while we're at it, we needn't check the playState and animationPlayState
since these should be covered by other tests.
2015-03-24 09:21:08 +09:00
Brian Birtles
4cd92b6117 Bug 1109390 part 1 - Add tests for getting the startTime; r=jwatt 2015-03-24 09:21:07 +09:00
Mike Hommey
f2eee907a6 Bug 1141441 - Make the -remote option return an error code. r=bsmedberg 2015-03-24 09:10:34 +09:00
Mike Hommey
f4afced784 Bug 910660 - Make the SimplePackager emit a separate base for addons. r=gps
Addons are detected by the presence of an install.rdf file in their base.
2015-03-24 09:10:33 +09:00
Mike Hommey
3bdc564357 Bug 910660 - Make package formatters handle addons. r=gps
Addons are always formatted with jars for omnijar and jar packaging, and
flat for flat packaging.
2015-03-24 09:10:33 +09:00
Mike Hommey
c183697958 Bug 910660 - Add a test for the unpacker code. r=gps 2015-03-24 09:10:32 +09:00
Mike Hommey
69dd99b743 Bug 910660 - Refactor test_packager_formats.py so that it's easier to follow. r=gps 2015-03-24 09:10:31 +09:00
Randall Barker
0c6b47fe1c Bug 1107801 - Improve gamepad support on MacOS. r=ted 2015-03-23 17:06:56 -07:00
Bobby Holley
c99ce057da Bug 1145203 - Unify FlushDecoding, ResetDecode, and ResetPlayback into a single Reset() method. r=mattwoodrow 2015-03-23 17:07:10 -07:00
Bobby Holley
f0b0e8c5f6 Bug 1145203 - Remove the AwaitIdle call in FlushDecoding. r=mattwoodrow
There are two callers of FlushDecoding - One is shutdown (where we already use
promises to wait for the queue to go idle via BeginShutdown), and the other is
dormant (see the comment).
2015-03-23 17:07:09 -07:00
Brian Birtles
53a592299d Bug 1117603 part 2 - Don't unregister from the refresh driver unless we are also queueing events; r=dbaron 2015-03-24 09:06:06 +09:00
Brian Birtles
e05c3df594 Bug 1117603 part 1 - Don't assume style rules have been refreshed in GetAnimationRule; r=dbaron
Typically when GetAnimationRule is called, at least for CSS Animations, the
animation style rule will have been refreshed. However, in some cases such as
when the Web Animations API is used, the style rule will be marked as needing
to be refreshed outside of the usual flow. This rule will be refreshed when
nsAnimationManager::WillRefresh flushes animations but if the refresh driver
for the chrome document fires first, we will visit GetAnimationRule before
this happens.

This patch removes the assertion that expects animations to have been
refreshed by the time we reach GetAnimationRule causing it to update
the animation style rule as necessary.
2015-03-24 09:06:06 +09:00
David Burns
a6a532b672 Bug 1143565: Bump marionette client to v 0.9.1; r=chmanchester 2015-03-23 23:34:02 +00:00
David Burns
bcce2d0245 Bug 1143565: Bump marionette driver to v 0.3; r=chmanchester 2015-03-23 23:33:30 +00:00
Wes Kocher
c8ed5e5a96 Merge m-c to inbound a=merge CLOSED TREE 2015-03-23 16:51:22 -07:00
Wes Kocher
e62ecec712 Merge b2g-inbound to m-c a=merge CLOSED TREE 2015-03-23 16:47:58 -07:00
Wes Kocher
e604bea6da Merge inbound to m-c a=merge CLOSED TREE 2015-03-23 16:40:59 -07:00
Wes Kocher
edb7a0e6d1 Backed out changeset 03eeae957008 (bug 1107801) for gamepad test failures CLOSED TREE 2015-03-23 16:25:32 -07:00
Wes Kocher
d93d614326 Backed out changeset f3b3547c610a (bug 1144409) for eme test failures CLOSED TREE 2015-03-23 16:06:32 -07:00
Wes Kocher
19c1469c40 Backed out changeset 6cb38e697216 (bug 1144409) 2015-03-23 16:06:31 -07:00
Wes Kocher
b1810fef79 Backed out changeset c58f5ffb38e0 (bug 1142379) 2015-03-23 16:06:30 -07:00
Wes Kocher
7a0b688fa9 Backed out changeset f5a026d98faa (bug 1138294) 2015-03-23 16:06:28 -07:00
Edwin Flores
58f6b3e8f4 Bug 1146192 - Whitelist sched_yield syscall in GMP sandbox on Linux DONTBUILD CLOSED TREE - r=jld 2015-03-24 10:56:49 +13:00
Edwin Flores
fb0360251e Bug 1146192 - Backed out changeset d2918bcf0d90 for missing bug number - r=me 2015-03-24 10:53:10 +13:00
B2G Bumper Bot
32bc88ab4f Bumping manifests a=b2g-bump 2015-03-23 13:52:48 -07:00
B2G Bumper Bot
131a51504f Bumping gaia.json for 2 gaia revision(s) a=gaia-bump
========

https://hg.mozilla.org/integration/gaia-central/rev/d8e53e5d917b
Author: Zibi Braniecki <zbigniew.braniecki@gmail.com>
Desc: Merge pull request #29021 from zbraniecki/1145775-update-qps-behavior

Bug 1145775 - Update pseudo l10n matching in gaia_grid. r=stas

========

https://hg.mozilla.org/integration/gaia-central/rev/99e8cf71e9e8
Author: Zibi Braniecki <gandalf@mozilla.com>
Desc: Bug 1145775 - Update pseudo l10n matching in gaia_grid
2015-03-23 13:50:12 -07:00
B2G Bumper Bot
0b650653c8 Bumping manifests a=b2g-bump 2015-03-23 13:18:03 -07:00
B2G Bumper Bot
e02b5abd63 Bumping gaia.json for 2 gaia revision(s) a=gaia-bump
========

https://hg.mozilla.org/integration/gaia-central/rev/d44d26e47c76
Author: Gareth Aye <gaye@mozilla.com>
Desc: Merge pull request #29062 from gaye/bug-1145310

Bug 1145310 - Bump mozilla-download dep to v0.5.1 r=gaye

========

https://hg.mozilla.org/integration/gaia-central/rev/0b57de4403a7
Author: gaye <gaye@mozilla.com>
Desc: Bug 1145310 - Bump mozilla-download dep to v0.5.1 r=gaye
2015-03-23 13:15:20 -07:00