Hello Halton,

First of all, thank you very much for your reply. Let me explain what I am
trying to accomplish:

I would like to add a function to the navigator object from an extension.
It is easy to do in JS code:

navigator.myfunction = function() {...}

But in the XWlkExtension js code I cannot access the navigator object (or
can I?). All my attempts are futile. Of course, I could do something like
this in the extension jscode:

exports.init() {
  navigator.myfunction = function() {...}
}

But it would require from the final application js code to make the call:

myextension.init();

And I would like to have the navigator.myfunction injected without having
to modify the main application (like it is magically injected, similarly to
what happens to myextension object that is magically available in my final
application code).

Is this possible with XWalkExtension-s?

My attempt has been to try to somehow post a message automatically from the
Java code to be able to inject the necessary code into the navigator object
once the Java XWalkExtension is created but all my attempts haven't worked
so far. Entrypoints do not work either as far as I know because I want to
modify the navigator object instance.

Please, if the problem is still not very much clear, please, do not
hesitate to let me know.

Regards,
Iker

On Fri, Feb 5, 2016 at 8:16 AM, Huo, Halton <[email protected]> wrote:

> Iker, Please check my comments inline.
>
> On Feb 5, 2016, at 05:39, Iker Jamardo <[email protected]<mailto:
> [email protected]>> wrote:
>
> Hello eveyrone,
>
> I am playing around with Crosswalk embed extensions and I was wondering if
> it could be possible to call to postMessage inside the onInstanceCreated
> inherited from the base class XWalkExtension. My initial tests are
> crashing, but as I already have the instanceID, it would be great to be
> able to make the call.
> I presume you’re trying the external C++ extension from your context. No,
> you can not use PostMessage inside OnInstanceCreated because the instance
> is not created and initiated yet. You could check
> https://github.com/crosswalk-project/tizen-extensions-crosswalk/blob/master/src/common/extension.cc#L149
>
>
> If this is not an option, I would be very interested in knowing how to
> inject DOM manipulation code from a XWalkExtension. I know how to export
> functions to the extension object that will be present in the window
> object, but how about if I would like to modify something outside of the
> scope of the extension JS code?
> To be honest, I do not quite sure I understand your requirement correctly.
>
>
> https://github.com/crosswalk-project/crosswalk-android-extensions/blob/master/ardrone_video/ardrone_video.js#L63
> is an example to modify a canvas element.
>
> I have seen also de entryPoints parameter of the XWalkExtension, but as
> far as I understand, these values are only to be able to expose the
> extension instance inside a global object, similar to a renaming of the
> extension instance. Is this right? Haven't been able to find much
> information about this constructor parameter to be honest.
>
> Thanks,
> Halton.
>



-- 
Iker Jamardo
CTO @ Ludei
http://ludei.com
156 2nd Street
San Francisco
CA, 94105
+1 415-340-9102
_______________________________________________
Crosswalk-help mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-help

Reply via email to