Closed Bug 1234063 Opened 4 years ago Closed 4 years ago

Always specify sandbox for scripts to be executed

Categories

(Testing Graveyard :: JSMarionette, defect)

defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ato, Assigned: ato)

References

Details

Attachments

(1 file)

Bug 1123506 is making it possible for injected scripts to be evaluated with lasting side-effects.  The implementation will be true to the WebDriver specification and consequently will make current Marionette consumers unhappy since they rely on a range of non-conforming features.

An experimental approach is to require consumers that need the special behaviour to specify the `sandbox` parameter to executeScript, executeAsyncScript, and executeJSScript.  This will evaluate the script inside a special sandbox that has the same behaviour as before, with all the bells and whistles our internal consumers rely on.

These special features include, but are not limited to, things such as marionetteScriptFinished, waitFor, and simpletest methods.

This approach seems to generally be working quite well for the Python client as can be demonstrated in the try jobs associated with bug 1123506.  I plan to follow the same approach here by always specifying the `sandbox` parameter in the Marionette Node.js client.

This will unfortunately mean that the client won’t be able to use the WebDriver conformatn sandbox; but this should be considered more of an implementation detail as we can fix that retroactively if the need arises in the future.
Assignee: nobody → ato
Blocks: 1123506
Status: NEW → ASSIGNED
Summary: Always specify sandbox for scripts to be executed in → Always specify sandbox for scripts to be executed
Attachment #8700413 - Flags: review?(mhenretty)
Comment on attachment 8700413 [details] [review]
[gaia] andreastt:bug_1234063 > mozilla-b2g:master

Looking good to me, and it seems to add more consistency. r=me

Please squash your commits before merging.
Attachment #8700413 - Flags: review?(mhenretty) → review+
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Product: Testing → Testing Graveyard
You need to log in before you can comment on or make changes to this bug.