On Wed, Jul 15, 2009 at 11:30 AM, Matt Perry<mpcompl...@chromium.org> wrote:
> On Wed, Jul 15, 2009 at 9:59 AM, Aaron Boodman <a...@chromium.org> wrote:
>>
>> a) I think it is important to not break the extension system with this
>> mod, so that means that for awhile (1 or 2 dev channel releases?) we
>> will both write the entire manifest to the prefs and load from disk
>> normally.
>
> What if on extension load, we checked the prefs first, and if the manifest
> entry was absent, then we loaded from disk?  New extension installs would
> write only to the pref.  Seems like that would get us transparent backwards
> compat.

You're right, that is another way to do it.

>> b) Extension prefs are currently written in
>> ExtensionsService::OnExtensionInstalled. At this point, we no longer
>> have the JSON form of the manifest, it has already been parsed into an
>> Extension object.
>
> It's easy enough to pass along the JSON object from OnExtensionUnpacked,
> which calls OnExtensionInstalled.

True, but it felt really messy to me. Basically this means that we end
up with two representations of the extension: the Extension manifest
and the Extension object. The object contains all kinds of extra state
like the location, the path, etc. It seems like an area for potential
confusion.

>> b) and c) lead me to the conclusion that we should refactor the
>> Extension class so that it is a lightweight wrapper around a JSON
>> dictionary and has no state of its own. This would fix the problem of
>> not having access to the JSON representation and therefore having to
>> write serialization code for it.
>
> A less radical approach would be to keep a copy of the JSON dictionary in
> the Extension class while we're in this migration period.  That's not to say
> we shouldn't refactor the Extension class (I have no opinion on that).

True.

- a

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