On Tue, Jul 28, 2009 at 6:02 PM, Matt Perry <mpcompl...@chromium.org> wrote:
> Two suggestions (one I accidentally sent only to James): > > chrome.extension.Port: > > // ID of the extension at the other side of this port. > String senderID; > > Port currently has a 'tab' property if the sender was a tab. Maybe we > should group these: > > chrome.extension.Port: > Object sender: > Object tab; // if the sender was a tab > String id; // ID of the sending extension. > > > chrome.extension: > > > > // Open a channel to another extension with the provided ID. > > > // If no extension with the provided ID exists, nothing happens. > > > > // Otherwise the chrome.extension.onConnectExternal event is fired > > > // to all components of the extension with the provided ID each time > > > > // the method is called. > > > // The channel can optionally be named. This name will be sent along > > > > // with the onConnectExternal event > > > Port connectExternal(string ID, [string channelName]) > > > > It makes more sense to me to have the API mirror the regular connect event: > >> chrome.extension.connect(); // connects to my own extension > >> other = new chrome.Extension('abcef...'); > other.connect(); // connects to extension abcdef... > > The reason I shied away from this is that the behavior of the statement "new chrome.Extension('abdef...').connect()" is very different depending on if 'abcdef...' is the ID of the extension containing that code or a different one. It's also not clear from the documentation what an extension should expect to be able to do with the result of "new chrome.Extension('abcdef...'). According to http://dev.chromium.org/developers/design-documents/extensions/content-scripts the available APIs in addition to connect() are the onConnect event, which another extension should _not_ have access to, and getURL(path), which seems like it would just return chrome-extension://abcdef.../path. Based on that I don't see much value in exposing the new chrome.Extension('abcdef...') syntax for inter-extension interaction. - James --~--~---------~--~----~------------~-------~--~----~ Chromium Developers mailing list: chromium-dev@googlegroups.com View archives, change email options, or unsubscribe: http://groups.google.com/group/chromium-dev -~----------~----~----~----~------~----~------~--~---