Have been trying these suggestions, and doesn't seem like it's directly an
Xray issue, as it's exposing chrome to content, not the other way around.
The Cu.exportFunction gets me there, so Function prototype properties are
accessible, so that seemed to do the trick! Some issues remain with the
scope of arguments passed around, but will get there.
Thanks all!
On Tue, Feb 10, 2015 at 3:31 PM, Bobby Holley <
bho...@mozilla.com> wrote:
> On Mon, Feb 9, 2015 at 5:48 PM, Gavin Sharp <
ga...@gavinsharp.com> wrote:
>
>> I think you probably want to talk to bholley!
>>
>> Gavin
>>
>> On Mon, Feb 9, 2015 at 3:12 PM, Jordan Santell <
jsan...@mozilla.com>
>> wrote:
>> > For all of our media tools, we wrap some content globals in a proxy
>> > function[0]. A crude version of this would be, using an Array for
>> example:
>> >
>> > var original = Array.prototype.push;
>> > Array.prototype.push = function wrapper () {
>> > original.call(this, arguments);
>> > /* report context, args, return value, etc */
>> > }
>>
>
> This example doesn't involve multiple globals, so it's not going to
> illustrate anything security-related.
>
> > Since the wrappers are created in chrome code, but exposed to content
>
>
> Are you just exposing chrome functions directly to content? If so, that
> would explain it - such things are callable for legacy reasons, but
> everything else is forbidden. You want Cu.exportFunction here.
>
> bholley
>