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
-~----------~----~----~----~------~----~------~--~---

Reply via email to