Commit Graph

235228 Commits

Author SHA1 Message Date
Seth Fowler
d86e060a7a Bug 1137019 (Part 0) - Back out bug 1142849. 2015-03-23 19:37:44 -07:00
Ben Kelly
914a639017 Bug 1142852 P2 Make Cache Action use non-threadsafe ref-counting. r=ehsan 2015-03-23 22:28:09 -04:00
Ben Kelly
20eac4d870 Bug 1142852 P1 Fix NS_NewNonOwningRunnableMethodWithArgs() so that it compiles. r=froydnj 2015-03-23 22:28:09 -04:00
Ben Kelly
77fbc11631 Bug 1110487 P4 Allow Cache Action objects to be canceled more than once. r=ehsan 2015-03-23 22:23:45 -04:00
Ben Kelly
1f11ad99f2 Bug 1110487 P3 Cache should ensure Actions are finished before completing. r=ehsan 2015-03-23 22:23:45 -04:00
Ben Kelly
c4c02983ea Bug 1110487 P2 Implement the nsIOfflineStorage interface in Cache. r=janv,ehsan 2015-03-16 07:10:36 -07:00
Dan Glastonbury
d726cc27c9 Bug 896693 - Work around glCopyTexImage2D errors on framebuffers backed by IOSurface. r=jgilbert 2015-03-24 12:16:21 +10:00
Olli Pettay
5daea75d17 Bug 1146339 - Do anchor scrolling right before dispatching popstate/hashchange. r=bz
CLOSED TREE
2015-03-23 21:54:03 -04:00
Wes Kocher
9359b09a77 Backed out 15 changesets (bug 1107706) for marionette bustage CLOSED TREE
Backed out changeset 3c25064e24da (bug 1107706)
Backed out changeset 3b7cdf06f4b9 (bug 1107706)
Backed out changeset ec2b1317d3c6 (bug 1107706)
Backed out changeset 91b35cb3308b (bug 1107706)
Backed out changeset 43c58b21251f (bug 1107706)
Backed out changeset e3ddaf8aae39 (bug 1107706)
Backed out changeset 0cd696bfc3b0 (bug 1107706)
Backed out changeset eeb3d39874b1 (bug 1107706)
Backed out changeset 7bc309f733fa (bug 1107706)
Backed out changeset 69669d0e6ddc (bug 1107706)
Backed out changeset 7f506cdb77b8 (bug 1107706)
Backed out changeset 7abef4010b30 (bug 1107706)
Backed out changeset b0d00faceef4 (bug 1107706)
Backed out changeset 0c074cdc434e (bug 1107706)
Backed out changeset 3b449f8dd470 (bug 1107706)
2015-03-23 18:48:07 -07:00
Wes Kocher
cb5648ba2c Backed out changeset 3f4f37b1b910 (bug 1143565) for web platform test failures due to pypi download errors CLOSED TREE 2015-03-23 18:36:15 -07:00
Wes Kocher
4db9767616 Backed out changeset 8673899b8229 (bug 1143565) 2015-03-23 18:35:46 -07:00
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