Closed
Bug 782115
Opened 13 years ago
Closed 13 years ago
Dictionary add-ons should be compatible by default
Categories
(Toolkit :: Add-ons Manager, defect)
Toolkit
Add-ons Manager
Tracking
()
RESOLVED
FIXED
mozilla17
People
(Reporter: bugzilla, Assigned: bugzilla)
References
Details
Attachments
(1 file, 1 obsolete file)
9.29 KB,
patch
|
mossop
:
review+
|
Details | Diff | Splinter Review |
Dictionary add-ons with <em:type>64</em:type> introduced by bug 591780 should be compatible by default. Since the introduction of dictionaries (I think it was Firefox 2) they have seen one incompatible change. That was bug 533038 in Firefox 4 which introduced <em:unpack>true</em:unpack>.
Attachment #651189 -
Flags: review?(dtownsend+bugmail)
Assignee | ||
Comment 1•13 years ago
|
||
I just discovered Bug 667262 after filing this, but that bug was from before Bug 692664, so I think its conclusion is no longer relevant.
Comment 2•13 years ago
|
||
(In reply to Jesper Kristensen from comment #1)
> I just discovered Bug 667262 after filing this, but that bug was from before
> Bug 692664, so I think its conclusion is no longer relevant.
Not entirely irrelevant. For add-ons, any incompatible change in the application can break some add-ons, and those broken versions can be marked incompatible by AMO.
However, for dictionaries it's my understanding that any incompatible change in hunspell is likely to break *all* dictionaries.
I think we need some mitigation strategy against that. Compatible-by-default add-ons have a minimum version they need to declare they're compatible with, controlled by the extensions.minCompatibleAppVersion an extensions.minCompatiblePlatformVersion prefs (for Firefox it's 4.0, and 2.0 for Toolkit). We could do the same for dictionaries, specifying different app/platform minimum versions - and those can be bumped whenever there's an incompatible hunspell change.
Would like to hear Dave's thoughts though - I think he's thought about dictionaries more than I have.
Comment 3•13 years ago
|
||
Comment on attachment 651189 [details] [diff] [review]
Dictionaries default to compatible v1
Review of attachment 651189 [details] [diff] [review]:
-----------------------------------------------------------------
Quick late-night drive-by:
::: toolkit/mozapps/extensions/XPIProvider.jsm
@@ +5508,5 @@
> version = aPlatformVersion
>
> // Only extensions can be compatible by default; themes and language packs
> // always use strict compatibility checking.
> + if ((this.type == "extension" || this.type == "dictionary") &&
These if-statements for strict compatibility are getting a bit unwieldy. Define these two types as a const array at the top of the file, as see if this.type is in that array?
Also, the comment needs updated.
Assignee | ||
Comment 4•13 years ago
|
||
(In reply to Blair McBride (:Unfocused) from comment #2)
It might be a good idea to make a separate preference for minCompatible*Version for dictionary add-ons. But I think we would need to weigh the risk of an incompatible change ever occurring against added complexity by having two prefs. I will wait for Dave's opinion before implementing something like that. Besides, compatible by default for non-restartless dictionaries are already handled by minCompatible*Version, so adding a new preference could be a separate enhancement after this bug.
Comment 6•13 years ago
|
||
(In reply to Blair McBride (:Unfocused) from comment #2)
> (In reply to Jesper Kristensen from comment #1)
> > I just discovered Bug 667262 after filing this, but that bug was from before
> > Bug 692664, so I think its conclusion is no longer relevant.
>
> Not entirely irrelevant. For add-ons, any incompatible change in the
> application can break some add-ons, and those broken versions can be marked
> incompatible by AMO.
>
> However, for dictionaries it's my understanding that any incompatible change
> in hunspell is likely to break *all* dictionaries.
>
> I think we need some mitigation strategy against that. Compatible-by-default
> add-ons have a minimum version they need to declare they're compatible with,
> controlled by the extensions.minCompatibleAppVersion an
> extensions.minCompatiblePlatformVersion prefs (for Firefox it's 4.0, and 2.0
> for Toolkit). We could do the same for dictionaries, specifying different
> app/platform minimum versions - and those can be bumped whenever there's an
> incompatible hunspell change.
>
> Would like to hear Dave's thoughts though - I think he's thought about
> dictionaries more than I have.
I don't think there's any benefit to adding the different prefs speculatively, it's just as easy to do it later if we ever encounter the need I think.
Comment 7•13 years ago
|
||
Comment on attachment 651189 [details] [diff] [review]
Dictionaries default to compatible v1
Review of attachment 651189 [details] [diff] [review]:
-----------------------------------------------------------------
::: toolkit/mozapps/extensions/XPIProvider.jsm
@@ +756,5 @@
> +
> + if (addon.type == "dictionary")
> + addon.strictCompatibility = getRDFProperty(ds, root, "strictCompatibility") == "true";
> + else
> + addon.strictCompatibility = true;
Should pull this code out of the if and share it for both types, using whatever test we agree upon elsewhere.
@@ +5508,5 @@
> version = aPlatformVersion
>
> // Only extensions can be compatible by default; themes and language packs
> // always use strict compatibility checking.
> + if ((this.type == "extension" || this.type == "dictionary") &&
How about instead a function like |supportsCompatibleByDefault(aType)| ?
Assignee | ||
Comment 8•13 years ago
|
||
I am not sure who of you I should request review from.
Attachment #651189 -
Attachment is obsolete: true
Attachment #651189 -
Flags: review?(dtownsend+bugmail)
Attachment #651556 -
Flags: review?(dtownsend+bugmail)
Updated•13 years ago
|
Attachment #651556 -
Flags: review?(dtownsend+bugmail) → review+
Assignee | ||
Updated•13 years ago
|
Keywords: checkin-needed
Comment 9•13 years ago
|
||
Jesper, to make life easier for those checking in on your behalf, please make sure your patches include all of the necessary metadata needed. I've already taken care of this one locally, but it'll make things easier next time. Thanks!
https://developer.mozilla.org/en-US/docs/Creating_a_patch_that_can_be_checked_in
Comment 10•13 years ago
|
||
Green on Try.
https://tbpl.mozilla.org/?tree=Try&rev=2ec9ffb953d7
https://hg.mozilla.org/integration/mozilla-inbound/rev/4c0f3d35933b
Flags: in-testsuite+
Keywords: checkin-needed
Comment 11•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
You need to log in
before you can comment on or make changes to this bug.
Description
•