It is good that we can avoid the crash. We do need to get some kind of
syntax in the manifest.

- a

On Thu, Dec 10, 2009 at 4:18 PM, Avi Drissman <[email protected]> wrote:
> The crash is fixed. But the fact that we're now expecting random dll loads
> to fail prevents us from giving good UI to users, and not labelling what
> platforms it'll work on prevents us from warning in advance.
>
> Imagine a million angry Mac and Linux users filing bugs because their
> favorite extension fails to fully load because it relies on an NPAPI plugin
> not available on their platform.
>
> Avi
>
> On Thu, Dec 10, 2009 at 7:15 PM, Matt Perry <[email protected]> wrote:
>>
>> Yeah, that's very bad. I knew the NPAPI syntax sucked, but we punted on it
>> because we didn't like any of the alternatives. (Even if we do have a
>> manifest syntax for it, the extension package becomes bloated with plugin
>> binaries for other platforms.) But I didn't realize that it could cause a
>> crash. I'll definitely have to figure something out soon.
>>
>> On Thu, Dec 10, 2009 at 4:03 PM, Avi Drissman <[email protected]> wrote:
>>>
>>> Andy sent me a CL for review about an extension crashing
>>> (http://crbug.com/29584). Turns out the cause was a failure to load a
>>> Windows .dll on the Mac.
>>>
>>> Huh? Then I went to look at the docs
>>> (http://code.google.com/chrome/extensions/npapi.html):
>>>
>>> {
>>>   "name": "My extension",
>>>   ...
>>>   "plugins": [
>>>     { "path": "content_plugin.dll", "public": true },
>>>     { "path": "extension_plugin.dll" }
>>>
>>>
>>>
>>>
>>>
>>>   ],
>>>   ...
>>> }
>>>
>>> Are you kidding me? How can we get away with not specifying what platform
>>> the extension will run on? (Hint: we can't.)
>>>
>>> If we had something like:
>>>
>>> "plugins": {
>>>   "mac": ...
>>>   "win": ...
>>>   "linux": ...
>>> }
>>>
>>> then at least we could warn on the extensions website that a given
>>> extension is only compatible with a certain platform. On a load attempt we
>>> could know that the extension requires a certain native library and fail to
>>> load it with a real user-friendly warning.
>>>
>>> And developers could make extensions that are cross-platform compatible.
>>>
>>> Today?
>>> - We can't tell in advance what platforms an extensions runs on, so we
>>> can't warn the user (either on the extensions site or in the app)
>>> - The developer has no way of creating a cross-platform extension.
>>>
>>> This is a really bad situation we've created. We need to get a new syntax
>>> out for extensions to fix this, and soon, before world-breaking becomes
>>> prohibitively expensive.
>>>
>>> Avi
>>>
>>> --
>>> Chromium Developers mailing list: [email protected]
>>> View archives, change email options, or unsubscribe:
>>> http://groups.google.com/group/chromium-dev
>
> --
> Chromium Developers mailing list: [email protected]
> View archives, change email options, or unsubscribe:
> http://groups.google.com/group/chromium-dev

-- 
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev

Reply via email to