Closed Bug 847244 Opened 8 years ago Closed 7 years ago

New click-to-play state should influence how plugins are sorted in the Add-ons Manager UI


(Toolkit :: Add-ons Manager, defect)

Not set





(Reporter: Unfocused, Assigned: alexbardas, Mentored)



(Whiteboard: [lang=js])


(1 file, 1 obsolete file)

Not 100% sure we want this, but... 

When add-ons are shown in a list, we sort the enabled ones first and the disabled ones last. With bug 549697, we have a new intermediate state of "ask me". It may make sense to take that into account when sorting plugins - and sort the "ask me" state in between the equivalents of enabled and disabled. With the current patch in bug 549697, they're sorted the same as enabled plugins.
Boriss: Thoughts?
Flags: needinfo?(jboriss)
Vaguely remember some agreement over this.
Flags: needinfo?(jboriss)
Will need to update sortElements() in toolkit/mozapps/extensions/content/extensions.js

Add-ons are of a type, as determined by their 'type' property. Add-on types also have a set of properties, that define how that specific type should behave - you can look this up via AddonManager.addonTypes - which is a hash mapping the type ID (a string) to a AddonType object. An AddonType object has a 'flags' property, which is a bitfield. If it includes TYPE_SUPPORTS_ASK_TO_ACTIVATE, then such an add-on's 'userDisabled' property can have the value STATE_ASK_TO_ACTIVATE.

We want add-ons in the ask-to-activate state to be sorted so they come directly after enabled add-ons.
Mentor: bmcbride
Whiteboard: [lang=js]
Assignee: nobody → abardas
Attachment #8464346 - Attachment description: bug847244_sort_plugins_from_addons_manager.diff → Take into account askToActivate state for plugin Addon objects and add new browser tests
Attachment #8464346 - Flags: review?(bmcbride)
Comment on attachment 8464346 [details] [diff] [review]
Take into account askToActivate state for plugin Addon objects and add new browser tests

Review of attachment 8464346 [details] [diff] [review]:

Awesome, thanks :)

::: toolkit/mozapps/extensions/test/browser/browser_sorting_plugins.js
@@ +72,5 @@
> +  var node = list.firstChild;
> +  var baseId = "";
> +  while (node) {
> +    var id = node.getAttribute("value");
> +    if (id && id.substring(id.length - baseId.length) == baseId)

Nit: Now days we can use .endsWith(), which makes this a lot cleaner - see
Attachment #8464346 - Flags: review?(bmcbride) → review+
Use .endsWith instead of .substring in test files, based on :Unfocused suggestion.
Attachment #8464346 - Attachment is obsolete: true
Attachment #8465615 - Flags: review+
Comment on attachment 8465615 [details] [diff] [review]
Take into account askToActivate state for plugin Addon objects and add new browser tests

I pushed this to try:
Try looks OK so far.
Keywords: checkin-needed

Flags: in-testsuite+
Keywords: checkin-needed
Whiteboard: [lang=js] → [lang=js][fixed-in-fx-team]
Closed: 7 years ago
Resolution: --- → FIXED
Whiteboard: [lang=js][fixed-in-fx-team] → [lang=js]
Target Milestone: --- → mozilla34
Depends on: 1050620
You need to log in before you can comment on or make changes to this bug.