On Tue, Apr 10, 2012 at 8:27 AM, Simon Pieters <sim...@opera.com> wrote:
> On Tue, 10 Apr 2012 14:01:47 +0200, Jarred Nicholls <jar...@webkit.org> > wrote: > > On Tue, Apr 10, 2012 at 1:20 AM, Simon Pieters <sim...@opera.com> wrote: >> >> On Wed, 04 Apr 2012 18:37:46 +0200, Jonas Sicking <jo...@sicking.cc> >>> wrote: >>> >>> Sounds great to me. The ports attribute is basically useless except in >>> >>>> this >>>> one instance since ports are these days expose as part of structured >>>> clones. >>>> >>>> Avoiding using it in this arguably weird way in this one instance seems >>>> like a win to me. >>>> >>>> >>> I'd like to have an opinion from WebKit and Microsoft about this >>> proposal. >>> Can someone comment or cc relevant people, please? >>> >>> >> FWIW this to me seems like a good improvement to the intuitiveness. >> > > OK. To make things clear, are you OK with making this change in WebKit? > > Since >> a MessageEvent interface is being used, qualifying that *source* >> WindowProxy >> >> is populated is all that's needed? >> > > It wouldn't be a WindowProxy, but a port. I'd also make .ports null. The > IDL for MessageEvent's source member would need to change type from > WindowProxy? to object?. I think this ought to be considered as a last resort until we understand the ramifications. On a personal note, I think having *source* mean different things in different contexts would introduce confusion and is not in line with least-surprise. Perhaps hixie can weigh in on this proposal. > > > >> >>> cheers >>> >>> >>> / Jonas >>> >>>> >>>> On Wednesday, April 4, 2012, Simon Pieters wrote: >>>> >>>> Hi, >>>> >>>>> >>>>> In Opera Extensions we use something that resembles shared workers. One >>>>> modification is that the 'connect' event's source port is exposed in >>>>> .source instead of in .ports[0], to make it closer to the API for >>>>> cross-document messaging. Maybe we should make this change to Shared >>>>> Workers as well. >>>>> >>>>> I think shared workers hasn't seen wide adoption yet, so maybe changes >>>>> like this are still possible. >>>>> >>>>> What do people think? >>>>> >>>>> currently: >>>>> onconnect = function(e) { e.ports[0].postMessage('pong') } >>>>> >>>>> proposed change: >>>>> onconnect = function(e) { e.source.postMessage('pong') } >>>>> >>>>> -- >>>>> Simon Pieters >>>>> Opera Software >>>>> >>>>> >>>>> >>>>> >>> -- >>> Simon Pieters >>> Opera Software >>> >>> >>> > > -- > Simon Pieters > Opera Software >