On 2013-04-01 8:47 PM, Arno Puder wrote:

Hi,

I'm working on the NFC sub-system and need some insight into Marionette.
I get as far as injecting a test case into our NFC daemon. The way a
(privileged) application registers for NFC events is via:

navigator.mozNfc.onndefdiscovered = function(event) {...};

I need to get hold of 'event'. How can I do that? I guess I want to
temporarily store 'event' somewhere so I can read it with Marionette
after a short delay.

TIA,
Arno
Oh, I accidentally sent a personal response instead of answering in thread. If anyone else has a similar issue, this was what answered Arno's question:

It's not clear by your explanation how you're invoking marionette, but
if you want to inspect event and you're using the python client, you can
do something like this:

received_event = execute_async_script("navigator.mozNfc.onndefdiscovered
= function(event) { marionetteScriptFinished(event);}; <code to trigger
event>")

The marionetteScriptFinished call is what will return the event to you
after it is triggered. There is a timeout period, so if
marionetteScriptFinished isn't called after the timeout, the function
will throw an error. The default timeout is 10seconds, but you can
change it by calling set_script_timeout(<timeout in ms>) before the
execute_async_script call.

If this isn't what you need, and if you need to persist globals for any
other reason and you're using execute_script or execute_async_script in
python, you can persist variables as detailed here
https://developer.mozilla.org/en-US/docs/Marionette/Marionette#execute_script()
if you set new_sandbox to False. If not, you can still persist variables
by adding them to the window object.

--
- Malini Das
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to