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

7 Коммитов

Автор SHA1 Сообщение Дата
Andreas Tolfsen 1d15796afc Bug 1123506 - Evaluate scripts in content with lasting side-effects; r=automatedtester
In order to achieve WebDriver parity, Marionette needs the ability to
evaluate scripts in content space with lasting side-effects.  This means
that state modifications should affect behaviour and state of the browsing
context, and such transgress the boundaries of the sandbox.

This patch brings a new script evaluation module that is shared between
code in chrome- and content space.  This brings the number of unique
script evaluation implementations in Marionette down from six to one.

evaluate.sandbox provides the main entry-point for execution.  It is
compatible with existing Marionette uses of Execute Script and Execute
Async Script commands in Mozilla clients, but also provides a new stateful
sandbox for evaluation that should have lasting side-effects.

It is not expected that Mozilla clients, such as testing/marionette/client
and the Node.js client in Gaia, should have to change as a consequence
of this change.

A substantial change to the script's runtime environment is that many
globals that previously existed are now only exposed whenever needed.
This means for example that Simple Test harness functionality (waitFor,
ok, isnot, is, &c.) is only available when using a sandbox augmented
with a Simple Test harness adapter.

Conversely, this patch does not expose marionetteScriptFinished as a
callback to asynchronous scripts for sandboxes which sandboxName parameter
is undefined, because this is what determines if the script should be
evaluated under WebDriver conformance constraints.  In all other cases
where sandboxName _is_ defined, the traditional marionetteScriptFinished
et al. runtime environment is preserved.

MozReview-Commit-ID: 8FZ6rNVImuC
2016-05-09 16:08:17 +01:00
Wes Kocher 6586a41d87 Backed out changeset 08754cfc737c (bug 1123506) for various test bustage due to ` JavascriptException: JavascriptException: ReferenceError: __marionetteParams is not defined` CLOSED TREE 2016-05-06 15:12:14 -07:00
Andreas Tolfsen 2b77034fa3 Bug 1123506 - Evaluate scripts in content with lasting side-effects; r=automatedtester
In order to achieve WebDriver parity, Marionette needs the ability to
evaluate scripts in content space with lasting side-effects.  This means
that state modifications should affect behaviour and state of the browsing
context, and such transgress the boundaries of the sandbox.

This patch brings a new script evaluation module that is shared between
code in chrome- and content space.  This brings the number of unique
script evaluation implementations in Marionette down from six to one.

evaluate.sandbox provides the main entry-point for execution.  It is
compatible with existing Marionette uses of Execute Script and Execute
Async Script commands in Mozilla clients, but also provides a new stateful
sandbox for evaluation that should have lasting side-effects.

It is not expected that Mozilla clients, such as testing/marionette/client
and the Node.js client in Gaia, should have to change as a consequence
of this change.

A substantial change to the script's runtime environment is that many
globals that previously existed are now only exposed whenever needed.
This means for example that Simple Test harness functionality (waitFor,
ok, isnot, is, &c.) is only available when using a sandbox augmented
with a Simple Test harness adapter.

Conversely, this patch does not expose marionetteScriptFinished as a
callback to asynchronous scripts for sandboxes which sandboxName parameter
is undefined, because this is what determines if the script should be
evaluated under WebDriver conformance constraints.  In all other cases
where sandboxName _is_ defined, the traditional marionetteScriptFinished
et al. runtime environment is preserved.

MozReview-Commit-ID: 8FZ6rNVImuC

--HG--
extra : rebase_source : 38cc7b1e374fd42afb213133fd1a5e11bf8bdd95
2016-02-26 14:36:39 +00:00
Shu-yu Guo 64db2267cf Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
Andreas Tolfsen b62463c664 Bug 1202707: Remove emulator commands from simpletest harness
We attach the emulator commands outside of the simpletest harness.
Removing this makes testing/marionette/simpletest.js less dependent
on Marionette.

r=dburns

--HG--
extra : commitid : 8jVQBdufXQg
extra : rebase_source : 5ea9660825fd76504d0cc7fdbc1bebba947836f5
2015-09-08 17:12:18 +01:00
Andreas Tolfsen b949463695 Bug 1107706: Part 15: Fix emulator callbacks for content process
--HG--
extra : rebase_source : 685c4d6710f8287ba82b902f3779401dc5dc08ec
extra : source : 3c25064e24da9f96ee02e71dfc1c9bde4c6dec38
2015-03-23 15:40:51 +00:00
Andreas Tolfsen 2cc5a43bfe Bug 1107706: Part 12: Drop marionette-* prefix on files
--HG--
rename : testing/marionette/marionette-actions.js => testing/marionette/actions.js
rename : testing/marionette/marionette-common.js => testing/marionette/common.js
rename : testing/marionette/marionette-elements.js => testing/marionette/elements.js
rename : testing/marionette/marionette-frame-manager.js => testing/marionette/frame-manager.js
rename : testing/marionette/marionette-listener.js => testing/marionette/listener.js
rename : testing/marionette/marionette-sendkeys.js => testing/marionette/sendkeys.js
rename : testing/marionette/marionette-simpletest.js => testing/marionette/simpletest.js
extra : rebase_source : 5cb9ed597e71980eabd15a01da2d0322be671830
extra : source : 91b35cb3308bc80d736e63434f9702e73115c41f
2015-03-23 21:32:03 +00:00