incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse <purplecabb...@gmail.com>
Subject Re: Changing iOS's exec bridge
Date Sat, 28 Jul 2012 01:00:20 GMT
Okay, that all looks/sounds fine.
However, we have to be careful not to encourage passing multiple
objects in the array, in addition to multiple different object types.
We should continue to strive to make sure that everything outside of
exec is portable, so even though in iOS, exec can receive args of
[{name:value}, {name:value}] the JS calling code will NOT be portable.

I worry (just a little) we are opening a door we may have to close later.





On Fri, Jul 27, 2012 at 5:37 PM, Shazron <shazron@gmail.com> wrote:
> These changes transfer the decision that was done in JS to the Objective-C side.
> The arguments are passed in as-is, if an object is passed in as an
> array element, it is converted to a NSDictionary in objective-C. So if
> you use the new plugin signature, you can pass in as many objects as
> you want to the plugin method, they will be in order in the arguments
> array as NSDictionary-s.
>
> The "extraction" occurs when we compare the plugin method signature -
> if its a legacy signature, we extract the first NSDictionary from the
> arguments, like we did in JS. If its not a legacy signature, we pass
> the arguments unchanged.
>
> re: https://github.com/agrieve/incubator-cordova-ios/compare/legacy_exec#L3R63
>
>
> On Fri, Jul 27, 2012 at 5:26 PM, Jesse <purplecabbage@gmail.com> wrote:
>> Wait!
>>
>> Can we discuss the EXACT nature of the command array?
>> I have had to work through a similar issue on WP7, it would be
>> extremely valuable if we could agree on what the args to exec looks
>> like.
>>
>> It looks like your changes are all inside and beyond exec, but I want
>> to make sure.
>>
>> In the past we discussed removing the array altogether and passing
>> named objects as args.
>> On WP7 it is extremely difficult to interpret arrays that do not
>> contain the same types of object.
>> For example, if the command has args of ['what',23,{obj:literal},[1,2,3]]
>>
>> Do we still have a limitation of only passing 1 object literal?
>>
>>
>>
>> On Fri, Jul 27, 2012 at 5:08 PM, Andrew Grieve <agrieve@chromium.org> wrote:
>>> Committed.
>>> Sounds good! You update the dev guide, and I'll work to update the existing
>>> core plugins.
>>>
>>>
>>> On Fri, Jul 27, 2012 at 6:22 PM, Shazron <shazron@gmail.com> wrote:
>>>
>>>> Thanks Andrew, this looks good!
>>>>
>>>> Once you merge it in, I'll add the doc issues, especially the Plugin
>>>> Dev Guide, we don't want people to start using the old way. I was
>>>> thinking, a deprecation NSLog would be great if they are using the old
>>>> way, but that will just be too much noise at this point...
>>>>
>>>> On Fri, Jul 27, 2012 at 2:06 PM, Andrew Grieve <agrieve@chromium.org>
>>>> wrote:
>>>> > Shaz,
>>>> >
>>>> > I mentioned doing such a change during PGD, but was hoping you could
>>>> give it
>>>> > a sanity check over:
>>>> >
>>>> > https://issues.apache.org/jira/browse/CB-1150
>>>> > https://github.com/agrieve/incubator-cordova-ios/compare/legacy_exec
>>>> > https://github.com/agrieve/incubator-cordova-js/tree/better_exec
>>>> >
>>>> > I ensured mobile-spec and unit tests pass, so should be good to go I
>>>> think.
>>>> >
>>>> > Andrew
>>>>
>>
>>
>>
>> --
>> @purplecabbage
>> risingj.com



-- 
@purplecabbage
risingj.com

Mime
View raw message