Граф коммитов

67 Коммитов

Автор SHA1 Сообщение Дата
Andreas Tolfsen dd7a57fd22 Bug 1384517 - Fix testing/marionette API docs; r=automatedtester
Various fixes to make the generated API documentation from
testing/marionette somewhat easier to read.

MozReview-Commit-ID: F9duuQoOYBt

--HG--
extra : rebase_source : 3ade69773ceba42826aedef05b1371240b51cf82
2017-07-26 13:11:53 +01:00
Andreas Tolfsen de001d80b7 Bug 1376128 - Lint testing/marionette; r=automatedtester
MozReview-Commit-ID: DY4yCSBEZrN

--HG--
extra : rebase_source : d4e25369418cc72a6ee9f78d44b050a87403391d
2017-06-29 16:40:24 -07:00
Andreas Tolfsen 54c2f296a7 Bug 1376128 - Use selective imports from error module; r=automatedtester
Instead of importing everything from the testing/marionette/error.js
module into the global scope, we need to be selective about what symbols
we want.

MozReview-Commit-ID: HZDAS0bs0GD

--HG--
extra : rebase_source : 14a300bb2cedc0716168d50846755a6faed83012
2017-06-28 11:01:49 -07:00
Francois Marier 39b6d88744 Bug 1364959 - Clean up Safe Browsing preferences in tests. r=dimi
Remove the forbiddenURI pref which was removed in bug 1274893 as well
as browser.safebrowsing.enabled which got renamed in bug 1025965.

Set dummy URLs for all of the network endpoints.

MozReview-Commit-ID: Efk2fv6cC3g

--HG--
extra : rebase_source : 9fbb3eb0fa7f002fe24577a8a0870ec4d1b7cf31
2017-05-18 16:18:59 -07:00
Andreas Tolfsen 81bcde8994 Bug 1355890 - Add remote-active system notification r=automatedtester,Gijs
Adds a new system notification, "remote-active", which fires
when the Marionette remote protocol becomes active.

MozReview-Commit-ID: 3Parr82Ch6I

--HG--
extra : rebase_source : 08e2388a067b1decdd6fb62ebef97798d4227faf
2017-04-27 23:18:26 +01:00
Michal Novotny 133308dd0d Bug 1361435 - Remove references to unused pref network.http.bypass-cachelock-threshold, r=mcmanus
Removes references to now unused pref that was added in bug 868441 and removed in bugs 913807 and 1054572. It also removes some leftovers from http channel which have not been removed in those 2 bugs.
2017-05-04 17:37:42 +02:00
Andreas Tolfsen f67d69a55f Bug 1355888 - Add env var MOZ_MARIONETTE to start server; r=maja_zf,whimboo
This patch introduces a new environment variable, MOZ_MARIONETTE, which
if set will start the Marionette remote control server.  This is meant
to be analogous to passing the -marionette flag to the Firefox binary.

When the server is started, we set the environment variable to
preserve Marionette's enabled state across internal restarts.
When Services.startup.quit(eRestart) is called, Firefox is restarted
without the original command line flags it was started with, which means
we lose track of whether Marionette was enabled.  By setting
MOZ_MARIONETTE in-process, we preserve the knowledge of this state.

This approach is in line with how state is preserved across in-app
restarts in toolkit/xre/nsAppRunner.cpp:4761 (XRE_PROFILE_*), and for
how MOZ_APP_RESTART and XUL_APP_FILE works.

MozReview-Commit-ID: Dcb34m6FoZh

--HG--
extra : rebase_source : 98515c702dfd8eaad01f7eab06d33124ce14b15c
2017-04-15 01:50:29 +01:00
Mike Conley 365f4e988a Bug 1352501 - Remove Reader Mode promotion panel. r=jaws,MattN
Note that the UITour library can still show a panel in the event that we want to
promote the feature that way.

MozReview-Commit-ID: FzKSzO987h7

--HG--
extra : rebase_source : 8c129106478559f011a3a4e311331851939ab408
2017-04-19 16:42:10 -04:00
Alexandre Poirot eda858a388 Bug 1356237 - Ship a copy of transport module in marionette. r=ato
DevTools is about to move out of mozilla-central and be released as an add-on.
So that these protocol files are going to be missing from the tree.
To accommodate that, we are doing a copy of them next to marionette.

MozReview-Commit-ID: 9PyhuwyZyXI

--HG--
extra : rebase_source : b6d96ae5e4c4ac837713e396ab72163b168871f2
2017-04-24 20:23:04 +02:00
Andreas Tolfsen a3efb42b7a Bug 1358988 - Write Marionette port to preference when binding; r=whimboo
Write the allocated port to the marionette.port preference when binding
the TCP socket server to the requested port.

If the socket is bound to port 0, this instructs the system to atomically
allocate a free port in the ephemeral range.  Writing the resolved port
to a preference will make it possible to communicate this port number
to the client, removing any chance of a race condition occurring by the
client looking for a free port (binding and releasing) for the server.

MozReview-Commit-ID: JwyG2G4YQmX

--HG--
extra : rebase_source : 98e38660813c0868f3358183825ad08392e62d37
2017-04-24 10:28:57 +01:00
Andreas Tolfsen eb5eb56f83 Bug 1356229 - Prevent non-loopback connections in Marionette; r=whimboo
This patch removes the Marionette server's ability to accept non-loopback
connections completely.  The configuration option for this, the
marionette.forcelocal preference, was removed in the previous patch in
this changeset.

MozReview-Commit-ID: 3XXYpTDGs8S

--HG--
extra : rebase_source : a5ffaab36734afe1ca663453b21e5fd6f90ac970
2017-04-19 15:10:28 +01:00
Andreas Tolfsen 917c3b22c0 Bug 1356229 - Remove marionette.forcelocal preference; r=whimboo
marionette.forcelocal was historically used to connect free-standing B2G
devices over real networks, such as wi-fi, to Marionette.  Since we do
not have this use case anymore and Android uses adb and port forwarding,
this removes the marionette.forcelocal preference to reduce the attack
surface for Marionette.

MozReview-Commit-ID: KgqUrilpwMM

--HG--
extra : rebase_source : 43cbb0e3928f3c2a383d66ec30873953a45beda5
2017-04-13 14:19:38 +01:00
Jim Porter 3517459260 Bug 1352069 - Introduce a pref that allows for disabling cosmetic animations r=jaws
This rolls browser.tabs.animate, browser.fullscreen.animate, and
alerts.disableSlidingEffect into a single pref; if any of these are disabled,
we'll disable the new pref too (toolkit.cosmeticAnimations.enabled). Most
future animations will also be subject to this pref.

MozReview-Commit-ID: 77pLMtERDna

--HG--
extra : rebase_source : 8939e453c2277caa4a90123ae09bb542aaa421ed
2017-04-11 13:47:31 -05:00
Andreas Tolfsen 7be8673acf Bug 1350887 - Warn when non-loopback connections are allowed; r=whimboo
MozReview-Commit-ID: LG8f5q5QbD6

--HG--
extra : rebase_source : 4e6fa8263633aeafef753e4157fce4a6f14ab78f
2017-03-28 17:06:06 +01:00
Sebastian Hengst b41ea93aad Backed out changeset 12afeda05d47 (bug 1350887) 2017-04-04 15:54:22 +02:00
Andreas Tolfsen ddc2f4fb93 Bug 1350887 - Warn when non-loopback connections are allowed; r=whimboo
MozReview-Commit-ID: LG8f5q5QbD6

--HG--
extra : rebase_source : 2e56de3d7842521b1a611296a25c15048ae685fe
2017-03-28 17:06:06 +01:00
Wes Kocher d11e3dc66d Backed out 7 changesets (bug 1350887) for build bustage on a CLOSED TREE
Backed out changeset d2b395e6c5c0 (bug 1350887)
Backed out changeset 5a6d5c43135f (bug 1350887)
Backed out changeset ec57676ad0d1 (bug 1350887)
Backed out changeset 4a3d1a8767f7 (bug 1350887)
Backed out changeset 40cd9ca1553e (bug 1350887)
Backed out changeset d264991a436d (bug 1350887)
Backed out changeset b915d40a6ba6 (bug 1350887)

--HG--
rename : testing/marionette/prefs/marionette.js => testing/marionette/prefs.js
2017-04-03 13:30:35 -07:00
Andreas Tolfsen be2b5e3c07 Bug 1350887 - Warn when non-loopback connections are allowed; r=whimboo
MozReview-Commit-ID: LG8f5q5QbD6

--HG--
extra : rebase_source : 5f97ddcb8ac5598c1a5531982b4962495257311f
2017-03-28 17:06:06 +01:00
Sebastian Hengst d11af710d2 Backed out changeset a47faebbd684 (bug 1350887) 2017-04-03 21:39:55 +02:00
Andreas Tolfsen 63d5cbfedd Bug 1350887 - Warn when non-loopback connections are allowed; r=whimboo
MozReview-Commit-ID: LG8f5q5QbD6

--HG--
extra : rebase_source : 070d4a78328410ba9e008cc8e2a884a48921e919
2017-03-28 17:06:06 +01:00
Andreas Tolfsen 2af8f691ff Bug 1351422 - Prevent redirect on Firefox upgrade in automation; r=maja_zf
This preference should have been part of the recommended automation
preferences when the set was first installed.  This recitfies the omission
by not causing the browser to redirect the user to an upgrade website
when a milestone upgrade of Firefox is detected.

MozReview-Commit-ID: ACUeJ2vPhl9

--HG--
extra : rebase_source : 1bf5c607142ea4afafa2defb87f2a8bf4f412fe4
2017-03-28 19:50:33 +01:00
Andreas Tolfsen bf95b9ed17 Bug 1337743 - Handle corrupt packets to Marionette; r=whimboo
When Marionette receives packets it does not know how to deal with,
handle this gracefully and attempt to respond to the client that we were
unable to process them.

If it receives a packet that is corrupt, e.g. one it is impossible to
determine the message ID of, report an error to the console without
failing spectacularly.

If it receives a packet that it is unable to unmarshal, attempt to craft
a response for it with containing the error signature.

MozReview-Commit-ID: BLi8yIkGQfF

--HG--
extra : rebase_source : e7dc763a2345f79712b5e8524bd1d4f81b66699c
2017-02-09 18:29:25 +00:00
Andreas Tolfsen 3ab0090e16 Bug 1344748 - Gate recommended prefs on a preference; r=maja_zf,whimboo
MozReview-Commit-ID: FnqBDAXpg6v

--HG--
extra : rebase_source : a716ea82000f6d5e5ed4408639cb1628c13a0a1c
2017-03-07 21:02:05 +00:00
Andreas Tolfsen 83e7098d6d Bug 1344748 - Merge dispatcher into server.js; r=maja_zf
Merges testing/marionette/dispatcher.js into testing/marionette/server.js
and renames it server.TCPConnection.

The rationale behind this change is that the current dispatcher is not
a single entity to which incoming requests are dispatched.  The old
organisation might make sense if this was an HTTP server where all
connections are transitive and it didn't hold any connection details,
however the dispatcher is in effect a representation of a client socket
connection.

Since the module is not used elsewhere, it makes sense to pair it with
the existing server.TCPListener class.

MozReview-Commit-ID: 2HF35OiP6AY

--HG--
extra : rebase_source : 188bbc23a128642c1127694714e7fca4192827c9
2017-03-06 17:39:42 +00:00
Andreas Tolfsen 55ec9308b0 Bug 1344748 - Make testing/marionette/server.js a class; r=maja_zf,whimboo
No functional changes apart from class'ifying the file and harmonising
the export symbol with the rest of the Marionette code base by renaming
the MarionetteServer class to server.TCPListener.

MozReview-Commit-ID: 8WJKoprGGvr

--HG--
extra : rebase_source : 1f706a0f5e4c9fdccac90bfc14f767763ec85257
2017-03-06 17:09:07 +00:00
Andreas Tolfsen a8f2ccfaf8 Bug 1344748 - Set recommended prefs when Marionette starts; r=automatedtester,maja_zf,whimboo
This makes the Marionette server itself set a long list of recommended
automation preferences when it starts up, and reset those it changed
when stopping.

Preferences used in automation are currently written to the Firefox
profile before Firefox starts, but after a closer examination of the
preferences, it is thought that many of them can be set at runtime.

There is a subset of preferences that are checked on startup and which
must be set in the profile.  These are clearly called out in the comments.
We still set them at runtime, since we foresee a future where it will
be possible to attach an existing Firefox session to geckodriver, and
many of the prefs can also be checked at runtime during the course of
that automation session.

For example, if we would not set the "app.update.auto" preference in
such a runtime, opening the About dialogue would cause a forced update
of Firefox.  This is not desirable when the browser is under Marionette
control.  When the Marionette server is stopped, the altered preferences
are reset and the browser session's state is returned to its pre-existing
condition.

This change does not mean it is dangerous or wrong for consumers to write
their own preferences to the profile.  Any preferences written to the
profile will take precedence over this set of recommended preferences.
If the recommended Marionette preference has a user-defined value (i.e. it
is written to the profile before starting up or has manually changed),
that user-set value is preferred.

The list of preferences in this file is the authorative reference of
recommended preferences for using Marionette in automation.  They have
been gathered from geckoinstance.py and geckodriver.

MozReview-Commit-ID: INHSQRg2XjF

--HG--
extra : rebase_source : e1684133d287d2891feaa52ae4d267e8df4fa8e2
2017-03-06 16:47:38 +00:00
Andreas Tolfsen 42108a35bc Bug 1344748 - Remove B2G offline management from Marionette; r=maja_zf
MozReview-Commit-ID: 68iUhwT7xdv

--HG--
extra : rebase_source : 079cff5ead7887bf5708b5f01ad48769a0c7d4c7
2017-03-06 16:45:35 +00:00
Thomas Charles acf2f9d4dd Bug 1316975 - Correct function definition style in Marionette components; r=ato
No functional changes.

MozReview-Commit-ID: 25cWAnpRB9H

--HG--
extra : rebase_source : c8b14bf47a476488568f54d3640b51bbeed5b04b
2016-12-04 12:42:52 +01:00
Henrik Skupin 0c0bf0c20e Bug 1309556 - Ensure to correctly shutdown the application for quit/restart when callbacks are used. r=ato
By using a callback the usual shutdown logic from quitApplication() is not executed and as such
will create a race-condition for the client when trying to re-connect to the server. To fix that
we have to stop the server from accepting new connections until the application has been completely
shutdown.

Also delete_session() has to be called for the default in_app shutdown logic and when using a callback.

MozReview-Commit-ID: GmIM2GGwQ2P

--HG--
extra : rebase_source : 56f8ba75f9297fa4de0a143fe5c5017529d0b528
2016-10-17 13:19:19 +02:00
Andreas Tolfsen 0754cd395f Bug 1282800 - Remove device capability from Marionette; r=automatedtester
MozReview-Commit-ID: 4ZlojpuwpUN

--HG--
extra : rebase_source : 94efba5f17f67d44a61d12f83231bbf66ebb44da
2016-06-28 15:26:49 +01:00
Karl Tomlinson b353eb8cda bug 1281293 increase marionette server listen backlog to 1 r=ato
to accept connections on Linux 4.4.
https://bugzilla.kernel.org/show_bug.cgi?id=119141

MozReview-Commit-ID: B5NMkHiGNg6

--HG--
extra : rebase_source : 1bc9322067ad8c3d2a97dfc86a90a0ad8429344f
2016-06-22 09:37:40 +12:00
David Burns 20c4d3ef26 Bug 1274408: Remove emulator support from Marionette in Gecko r=ato
The emulator code was originally hacks to allow us to instrument the emulator
from JavaScript in the B2G world. Since we no longer support this it is being
removed.

MozReview-Commit-ID: 3XDk21SFfUc

--HG--
extra : rebase_source : 63bc081c3ab37894b97b873fe142ee068b609318
2016-05-24 10:22:54 +01:00
Andreas Tolfsen 90ba12749b Bug 1245153 - Remove testing/marionette/ChromeUtils.js; r=automatedtester
This does not appear to be in use.

MozReview-Commit-ID: B4M335Lb1UM

--HG--
extra : histedit_source : 241a896d0701c529cf56636eff567211198839cb
extra : rebase_source : 0b30f291ed1aee3f4073f2fea47ac4d9c6a6a576
extra : commitid : I8NVDyxCC0e
extra : source : 22321e6b65e987a76e42f880c8aa5a0427052259
extra : intermediate-source : 3b9e9a027fa7f020ac80c060938488f53f61049c
2016-02-03 19:18:30 +00:00
Andreas Tolfsen c9fdd91435 Bug 1245153 - Rename elements.js to element.js; r=automatedtester
MozReview-Commit-ID: KAGGXOHMvyM

--HG--
rename : testing/marionette/elements.js => testing/marionette/element.js
extra : histedit_source : d76eb69ad2f5781bcd7a4c0cda4f2f3c6abe840c
extra : rebase_source : d7eb17a424f7c542f0081d4ea938bd461f3583ae
extra : commitid : 77YYJxt23TN
extra : source : 80ae953819c81f7aad1c635311fb0ab5517ca1dd
extra : intermediate-source : 63a56310a1b5593eeec4d546c87c9e9c4c04252d
2016-02-03 19:14:10 +00:00
Andreas Tolfsen a683538e91 Bug 1245153 - Employ new modules throughout Marionette; r=automatedtester
This change removes almost all the remaining uses of loadSubScript and
global scope pollution.  The only remaining use is for common.js, which
is resolved by a later bug for evaluating scripts.

MozReview-Commit-ID: 96h0yLElauq

--HG--
extra : histedit_source : 70f70a8aeffef3fca18addfa3fca575a9128e11a
extra : rebase_source : c251c58a7a086c606d3d3941adfeee26ecc49504
extra : commitid : 8XlX4zVZQUN
extra : source : 6bb93562a57656e6cc744c3c901a5ec80f9ec4d8
extra : intermediate-source : ad5bf32d8fef351a0bc4d6249bd16a34aa83f548
2016-02-03 18:56:02 +00:00
Carsten "Tomcat" Book 33e27d2555 Backed out 18 changesets (bug 1245153) for multiple test failures
Backed out changeset 18d54b8d4ae8 (bug 1245153)
Backed out changeset 98b6d0c053c0 (bug 1245153)
Backed out changeset c29a348930a4 (bug 1245153)
Backed out changeset f79252e92acc (bug 1245153)
Backed out changeset 9f3f1c358e47 (bug 1245153)
Backed out changeset 3b9e9a027fa7 (bug 1245153)
Backed out changeset 6da8099573f3 (bug 1245153)
Backed out changeset 63a56310a1b5 (bug 1245153)
Backed out changeset 5fe42d498a2a (bug 1245153)
Backed out changeset b3be2d2f3ac1 (bug 1245153)
Backed out changeset ad5bf32d8fef (bug 1245153)
Backed out changeset 68a6dda373d2 (bug 1245153)
Backed out changeset 6ebd9fde50c0 (bug 1245153)
Backed out changeset e41a5b41859a (bug 1245153)
Backed out changeset 048d70070751 (bug 1245153)
Backed out changeset eff85dc0eaa9 (bug 1245153)
Backed out changeset dc6460e0f336 (bug 1245153)
Backed out changeset 36526a2e8b00 (bug 1245153)

--HG--
rename : testing/marionette/event.js => testing/marionette/EventUtils.js
rename : testing/marionette/action.js => testing/marionette/actions.js
rename : testing/marionette/atom.js => testing/marionette/atoms/atoms.js
rename : testing/marionette/element.js => testing/marionette/elements.js
rename : testing/marionette/frame.js => testing/marionette/frame-manager.js
rename : testing/marionette/interaction.js => testing/marionette/interactions.js
2016-02-11 17:05:41 +01:00
Andreas Tolfsen a931963aee Bug 1245153 - Remove testing/marionette/ChromeUtils.js; r=automatedtester
This does not appear to be in use.

MozReview-Commit-ID: B4M335Lb1UM

--HG--
extra : commitid : I8NVDyxCC0e
extra : rebase_source : be6fddfe28cbe626114c38416c97075ee5cdf3a4
extra : source : 22321e6b65e987a76e42f880c8aa5a0427052259
extra : histedit_source : 241a896d0701c529cf56636eff567211198839cb
2016-02-03 19:18:30 +00:00
Andreas Tolfsen 111c3bc1a1 Bug 1245153 - Rename elements.js to element.js; r=automatedtester
MozReview-Commit-ID: KAGGXOHMvyM

--HG--
rename : testing/marionette/elements.js => testing/marionette/element.js
extra : commitid : 77YYJxt23TN
extra : rebase_source : 9ed6f3e8d0b43e68716c462b83cdd718346b6c16
extra : source : 80ae953819c81f7aad1c635311fb0ab5517ca1dd
extra : histedit_source : d76eb69ad2f5781bcd7a4c0cda4f2f3c6abe840c
2016-02-03 19:14:10 +00:00
Andreas Tolfsen 33ab7ed5af Bug 1245153 - Employ new modules throughout Marionette; r=automatedtester
This change removes almost all the remaining uses of loadSubScript and
global scope pollution.  The only remaining use is for common.js, which
is resolved by a later bug for evaluating scripts.

MozReview-Commit-ID: 96h0yLElauq

--HG--
extra : commitid : 8XlX4zVZQUN
extra : rebase_source : a5c8057c7ce0f52dc319f2e9d0937d6a4aab84d4
extra : source : 6bb93562a57656e6cc744c3c901a5ec80f9ec4d8
extra : histedit_source : 70f70a8aeffef3fca18addfa3fca575a9128e11a
2016-02-03 18:56:02 +00:00
Carsten "Tomcat" Book d07b3125f8 Backed out 16 changesets (bug 1245153) for mochitest test-bustage on a CLOSED TREE
Backed out changeset 30c8ec933737 (bug 1245153)
Backed out changeset 4c2b1902d7cd (bug 1245153)
Backed out changeset 1be5f60393a0 (bug 1245153)
Backed out changeset 22321e6b65e9 (bug 1245153)
Backed out changeset c1e0abbfa66e (bug 1245153)
Backed out changeset 80ae953819c8 (bug 1245153)
Backed out changeset 3edb67388ad6 (bug 1245153)
Backed out changeset 55f64197f6b5 (bug 1245153)
Backed out changeset 6bb93562a576 (bug 1245153)
Backed out changeset 5da7628c3767 (bug 1245153)
Backed out changeset bd41e4ab829d (bug 1245153)
Backed out changeset ee7ee24cc65e (bug 1245153)
Backed out changeset 4b2a5ee7199e (bug 1245153)
Backed out changeset d75ad1397656 (bug 1245153)
Backed out changeset 1f5e37f8e446 (bug 1245153)
Backed out changeset aec0a0166685 (bug 1245153)

--HG--
rename : testing/marionette/event.js => testing/marionette/EventUtils.js
rename : testing/marionette/action.js => testing/marionette/actions.js
rename : testing/marionette/atom.js => testing/marionette/atoms/atoms.js
rename : testing/marionette/element.js => testing/marionette/elements.js
rename : testing/marionette/frame.js => testing/marionette/frame-manager.js
rename : testing/marionette/interaction.js => testing/marionette/interactions.js
extra : rebase_source : 11bba1116e87ed79fa72f24ff41216a6e3fb00d6
2016-02-05 14:18:19 +01:00
Andreas Tolfsen 4f7b487878 Bug 1245153 - Remove testing/marionette/ChromeUtils.js; r=automatedtester
This does not appear to be in use.

--HG--
extra : commitid : I8NVDyxCC0e
extra : rebase_source : 757f75ecd813873513fb9bd56625c59d3d0936b3
extra : histedit_source : 241a896d0701c529cf56636eff567211198839cb
2016-02-03 19:18:30 +00:00
Andreas Tolfsen 462619ecc4 Bug 1245153 - Rename elements.js to element.js; r=automatedtester
--HG--
rename : testing/marionette/elements.js => testing/marionette/element.js
extra : commitid : 77YYJxt23TN
extra : rebase_source : 987be9441ad296eaf9e4a1624d9af96d496d687d
extra : histedit_source : d76eb69ad2f5781bcd7a4c0cda4f2f3c6abe840c
2016-02-03 19:14:10 +00:00
Andreas Tolfsen 0414e11cb2 Bug 1245153 - Employ new modules throughout Marionette; r=automatedtester
This change removes almost all the remaining uses of loadSubScript and
global scope pollution.  The only remaining use is for common.js, which
is resolved by a later bug for evaluating scripts.

--HG--
extra : commitid : 8XlX4zVZQUN
extra : rebase_source : b5420c4ba5298a7e972e7b14a13325bb8ea1a540
extra : histedit_source : 70f70a8aeffef3fca18addfa3fca575a9128e11a
2016-02-03 18:56:02 +00:00
Andreas Tolfsen 706c27ecab Bug 1240576 - Use Preferences.jsm throughout Marionette; r=automatedtester
A distinct advantage is that try...catch statements are no longer used
to control the flow of code.

--HG--
extra : rebase_source : e3dcadcf9fdfcfe9d227b571b5a830437428762c
extra : source : 2b6d148fd941363e4580137e5d6efc0eebdaf7bd
2016-01-18 22:05:30 +00:00
Wes Kocher 2a163a42fe Backed out changeset f3011bfcf124 (bug 1240576) for b2g xpcshell failures CLOSED TREE
--HG--
extra : commitid : F5140xAcYUE
2016-01-19 18:26:54 -08:00
Andreas Tolfsen f9e4c2678a Bug 1240576 - Use Preferences.jsm throughout Marionette; r=automatedtester
A distinct advantage is that try...catch statements are no longer used
to control the flow of code.

--HG--
extra : rebase_source : 402890020719b04245aa7c601f52752cb43c0666
2016-01-18 22:05:30 +00:00
Andreas Tolfsen c80cd8df4b Bug 1240182 - Use Log.Level.Debug for logging accepted and closed sockets; r=automatedtester
--HG--
extra : commitid : 4e9BJou6S9R
extra : amend_source : 57ac9a1373c2e2d9c971139ac8c6c5d4e346e4f8
2016-01-18 19:09:31 +00:00
Nigel Babu 6bba0d425e Backed out changeset 8ca79644b089 (bug 1240182) for xpcshell bustage on b2g
--HG--
extra : commitid : LoSqw9LOMMi
2016-01-19 10:49:12 +05:30
Andreas Tolfsen 2ed19eb03c Bug 1240182 - Use Log.Level.Debug for logging accepted and closed sockets; r=automatedtester
--HG--
extra : rebase_source : 52422526babd6b101a0b4395ce70419a6c1f7ee1
2016-01-18 19:09:31 +00:00
Andreas Tolfsen 3421774080 Bug 1211489: Provide message sequencing in Marionette
Message sequencing allows Marionette to provide an asynchronous,
parallel pipelining user-facing interface, limit chances of payload
race conditions, and remove stylistic inconsistencies in how commands
and responses are dispatched internally.

Clients that deliver a blocking WebDriver interface are still be expected
to not send further command requests before the response from the last
command has come back, but if they still happen to do so because of
programming error or otherwise, no harm will be done.  This will guard
against bugs such as bug 1207125.

This patch formalises the command and response concepts, and applies
these concepts to emulator callbacks. Through the new message format,
Marionette is able to provide two-way parallel communication.  In other
words, the server will be able to instruct the client to perform a
command in a non ad-hoc way.

runEmulatorCmd and runEmulatorShell are both turned into command
instructions originating from the server.  This resolves a lot of
technical debt in the server code because they are no longer special-cased
to circumvent the dispatching technique used for all other commands;
commands may originate from either the client or the server providing
parallel pipelining enforced through message sequencing:

             client      server
               |            |
    msgid=1    |----------->|
               |  command   |
               |            |
    msgid=2    |<-----------|
               |  command   |
               |            |
    msgid=2    |----------->|
               |  response  |
               |            |
    msgid=1    |<-----------|
               |  response  |
               |            |

The protocol now consists of a "Command" message and the corresponding
"Response" message.  A "Response" message must always be sent in reply
to a "Command" message.

This bumps the Marionette protocol level to 3.

r=dburns
r=jgriffin

--HG--
extra : commitid : 1kz4Oa2q3Un
2015-09-26 17:12:01 +01:00