Commit Graph

49 Commits

Author SHA1 Message Date
Yura Zenevich
ddcee36028 Bug 1194224 - adding support for Shadow DOM in marionette. r=automatedtester 2015-08-31 14:43:15 -04:00
Andreas Tolfsen
af16ade967 Bug 1197146: Part 8: Use dispatcher for listener getElementValueOfCssProperty
r=dburns
2015-08-21 16:10:02 +01:00
Andreas Tolfsen
7037021540 Bug 1197146: Part 7: Use dispatcher for listener isElementDisplayed
r=dburns
2015-08-21 15:49:47 +01:00
Andreas Tolfsen
611214b4bd Bug 1197146: Part 6: Use dispatcher for listener clearElement
r=dburns
2015-08-21 15:37:04 +01:00
Andreas Tolfsen
ccece5aaf8 Bug 1197146: Part 5: Use dispatcher for listener getElementLocation
r=dburns
2015-08-21 15:34:09 +01:00
Andreas Tolfsen
dd39bdc2cc Bug 1197146: Part 4: Use dispatcher for listener isElementSelected
r=dburns
2015-08-21 15:09:37 +01:00
Andreas Tolfsen
d596f0a3ba Bug 1197146: Part 2: Use dispatcher for listener findElementsContent
r=dburns
2015-08-21 15:03:03 +01:00
David Burns
082e4b7d07 Bug 1196987: Update UUID returned to be a valid UUID 4; r=jgriffin
Currently the UUID returns the `{}` which is not valid and breaks
URI Templates used in WebDriver languages
2015-08-24 23:15:46 +01:00
Andreas Tolfsen
26d2000327 Bug 1197131: Use dispatcher for listener getCurrentUrl
r=dburns
2015-08-21 10:57:06 +01:00
David Burns
ff0ed3c066 Bug 1196920: Add specificationLevel capability to Marionette; r=jgriffin 2015-08-20 23:21:21 +01:00
David Burns
3727735f52 Bug 1178468 - Update marionette cookie support to use nsICookie2. r=jgriffin
This allows us to return httpOnly key when doing getCookie and serialising the result

Details in http://w3c.github.io/webdriver/webdriver-spec.html#dfn-serialized-cookie
2015-07-15 23:51:51 +01:00
David Burns
6826f183e8 Bug 1165449: Add the ability to set a proxy via capabilities on Marionette session start; r=jgriffin
By passing an object to capabilities like

  {
    "requiredCapabilities": {
        "proxy": {... }
    }
  }

Specification detail at http://w3c.github.io/webdriver/webdriver-spec.html#dfn-set-the-proxy
2015-07-14 00:51:58 +01:00
Chris Manchester
2055e5a9b3 Bug 1169600 - Remove message listeners intended to coordinate registering a new browser with marionette once the browser has been registered. r=ato 2015-06-24 00:10:10 -07:00
David Burns
60d4c50ba0 Bug 1174941: Update conditional to switch statement to allow more processing of capabilities; r=ato 2015-06-19 15:45:46 +01:00
David Burns
d8005ae8a9 Bug 1174941: Remove all capabilities from desired capabilities if they are in the session capabilitiesand in requiredCapabilities; r=ato 2015-06-19 15:44:25 +01:00
David Burns
05a0191d37 Bug 1174941: Update server capabilities that are set on startup; r=ato 2015-06-19 15:42:04 +01:00
Chris Manchester
bfb01601c3 Bug 1169600 - Avoid misleading exception in message listeners in marionette server. r=ato 2015-06-03 10:21:27 -07:00
Chris Manchester
e5b31e1213 Bug 1169798 - Refresh the marionette server's window reference when switching between windows to avoid intermittent exception.;r=ato 2015-06-01 13:26:15 -07:00
Jonathan Griffin
6de678a759 Bug 1149618 - Remove SpecialPowers from Marionette, r=dburns 2015-05-18 16:36:15 -07:00
Jonathan Griffin
a68f9f6666 Backout cc15c275b1e3 (Bug 1149618) on a CLOSED TREE for suspected debug emulator bustage, a=bustage 2015-05-19 19:35:38 -07:00
Jonathan Griffin
0e5292a487 Bug 1149618 - Remove SpecialPowers from Marionette, r=dburns 2015-05-18 16:36:15 -07:00
Andreas Tolfsen
af0282d75f Bug 1155703: Correct Marionette to use NoSuchWindowError
FrameSendFailureError and FrameSendNotInitializedError are not compatible
with the W3C WebDriver specification and we should use NoSuchWindowError
instead.

Bug 1159674 has prepared Gaia for this change.

r=davehunt
2015-04-29 12:00:43 +01:00
Jonathan Griffin
4d39ae0ffb Bug 1149618 - Add a sandbox parameter to execute, r=dburns 2015-04-23 13:39:38 -07:00
Andreas Tolfsen
187bd4010f Bug 1060300: Match Marionette's navigation API docs to reality
r=dhunt
2015-05-04 11:25:03 +01:00
Andreas Tolfsen
569725e802 Bug 1155716: Part 1: Remove submitElement from Marionette
r=dburns
2015-04-29 11:31:19 +01:00
Andreas Tolfsen
209b182f43 Bug 1159232: Avoid use of template string in GeckoDriver#sendAsync
Also avoids it in GeckoDriver#execute.

r=dburns
2015-04-28 14:34:55 +01:00
Andreas Tolfsen
8f3ff4e71b Bug 1159238. Generate UUID internally to ContentSender
r=dburns
2015-04-28 18:15:08 +01:00
Andreas Tolfsen
5d21719632 Bug 1159219: Make ContentSender a separate module
r=dburns
2015-04-28 14:25:37 +01:00
Andreas Tolfsen
fc30774886 Bug 1157253: Port ListenerProxy to use Proxy instead of __noSuchMethod__
r=chmanchester
2015-04-23 16:59:12 +01:00
Andreas Tolfsen
72965f5e45 Bug 1157258: Fix null type comparisons in driver.js
r=davehunt
2015-04-24 13:55:52 +01:00
Andreas Tolfsen
38ec7986e5 Bug 1155658: Rename "illegal argument" error to "invalid argument"
r=chmanchester
2015-04-17 18:43:05 +01:00
Andreas Tolfsen
eafb58a345 Bug 1153832: New dispatch style framework in Marionette listener
Takes advantage of the new dispatching technique introduced in bug
1107706 on the content side.

The patch introduces the framework to write simpler command handlers
in content space, but does not convert all commands in listener.js to
use this.  This can be done gradually, as both techniques are still
compatible.

r=dburns
2015-04-15 12:18:00 +01:00
Carsten "Tomcat" Book
3c12a1d2ab Backed out changeset 0b28f5ff48a6 (bug 1153832) for suspicion of making dt Asan test fail frequent/permanently 2015-04-20 14:37:12 +02:00
Andreas Tolfsen
086b4c9c5e Bug 1153832: New dispatch style framework in Marionette listener
Takes advantage of the new dispatching technique introduced in bug
1107706 on the content side.

The patch introduces the framework to write simpler command handlers
in content space, but does not convert all commands in listener.js to
use this.  This can be done gradually, as both techniques are still
compatible.

r=dburns
2015-04-15 12:18:00 +01:00
Ryan VanderMeulen
9b2dd4ad44 Backed out changeset 5c83a36d9eba (bug 1153832) for Gip(a) failures.
CLOSED TREE
2015-04-16 12:20:48 -04:00
Andreas Tolfsen
df5e884614 Bug 1153832: New dispatch style framework in Marionette listener
Takes advantage of the new dispatching technique introduced in bug
1107706 on the content side.

The patch introduces the framework to write simpler command handlers
in content space, but does not convert all commands in listener.js to
use this.  This can be done gradually, as both techniques are still
compatible.

r=dburns
2015-04-15 12:18:00 +01:00
Ryan VanderMeulen
9baa590100 Backed out changeset 043a824dd7b7 (bug 1153832) for mass Mn failure.
CLOSED TREE
2015-04-15 12:58:51 -04:00
Andreas Tolfsen
067d990e3a Bug 1153832: New dispatch style framework in Marionette listener
Takes advantage of the new dispatching technique introduced in bug
1107706 on the content side.

The patch introduces the framework to write simpler command handlers
in content space, but does not convert all commands in listener.js to
use this.  This can be done gradually, as both techniques are still
compatible.

r=dburns
2015-04-15 12:18:00 +01:00
Andreas Tolfsen
d794bd9dc6 Bug 1153240: Fix variable assignment of value in GeckoDriver#multiAction
Bug 1150041 inadvertently fixed a closely related issue.

r=njpark
2015-04-10 15:09:25 +01:00
Andreas Tolfsen
33edba614d Bug 941085: File uploads support in Marionette
Adds support for W3C WebDriver compatible file uploads, where additional
calls to sendKeys on <input type=file multiple> will append files,
rather than reset the field.

r=dburns
2015-04-02 15:16:00 +01:00
Ryan VanderMeulen
70d3f9a09a Backed out changeset f3a27b508519 (bug 941085) for frequent Mn-e10s failures.
CLOSED TREE
2015-04-09 17:52:51 -04:00
Andreas Tolfsen
431ca7ab08 Bug 941085: File uploads support in Marionette
Adds support for W3C WebDriver compatible file uploads, where additional
calls to sendKeys on <input type=file multiple> will append files,
rather than reset the field.

r=dburns
2015-04-02 15:16:00 +01:00
Eric Rahm
4c5eda6024 Bug 1150247 - Check if value is function before binding. r=ato
Rather than attempting to bind non-functions and catching the exception this
explicitly checks if it is a function. This helps reduce memory consumption
needed for the exception stack traces. Realistically that will go away when GC
is run, but it throws off memory measurments prior to that.
2015-04-01 18:58:21 -07:00
Andreas Tolfsen
532b8c3523 Bug 1150041: Fix max_len extraction in GeckoDriver#multiAction
Fixes use of pinch() routine in gestures.py as part of Gaia UI tests.
Regressed as part of bug 1107706.

r=dburns
2015-04-01 16:17:05 +01:00
Andreas Tolfsen
ba9767eee1 Bug 1107706: Part 16: Fix rebase of action chains for chrome space 2015-03-24 15:35:58 +00:00
Andreas Tolfsen
a3c22d4b07 Bug 1107706: Part 13: Style fixes
Linting; no functional changes.
2015-03-23 20:43:18 +00:00
Andreas Tolfsen
650eade2a3 Bug 1107706: Part 12: Drop marionette-* prefix on files 2015-03-23 21:32:03 +00:00
Andreas Tolfsen
ac57bc3a40 Bug 1107706: Part 11: Global modal dialogue support 2015-03-20 15:46:46 +00:00
Andreas Tolfsen
74619545e3 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