The only difference between the icon that was removed and the one kept is that
the removed one has a default fill color in the SVG. This meant everywhere the
icon was replaced, we have to make sure that a fill color is defined in CSS.
In a few cases, that necessitated adding a new class. In a few others, colors
were already being defined for the icon, so there was no need to add any here.
Differential Revision: https://phabricator.services.mozilla.com/D121030
This adds an onRefresh option for app menus so we can update custom controls
in any opened window. In this case, we need to refresh the checkbox state in the
addon-installed panel. We test this using the theme install test and verify both
windows do not have the checkbox.
Differential Revision: https://phabricator.services.mozilla.com/D23224
This patch includes the following changes:
- added a new "num_strings" extra key to the "addonsManager install" and "addonsManager manage"
telemetry events, where "num_strings" represents the "number of permissions actually visible
in the extension permission doorhanger"
- do not record a telemetry event for the "permission_prompt" (or "sideload_prompt") if the
permissions_prompt is not going to be shown
- add num_strings and removed "num_perms" and "num_origins" extras from the test assertions in the existing tests
- added some additional assertions to test in automation that we don't record the telemetry
event for "permission_prompt" when no permission prompt is being shown for an
extension update (as part of the browser_extension_update_background_noprompt.js test)
Differential Revision: https://phabricator.services.mozilla.com/D16992
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8
This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:
ChromeUtils.import("resource://gre/modules/Services.jsm");
is approximately the same as the following, in the new model:
var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");
Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs
This was done using the followng script:
https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D16750
This is a quick fix to ensure that the search install panel is shown when an extension uses is_default. The intention is to uplift for 64.
Differential Revision: https://phabricator.services.mozilla.com/D13078
- Added definitions for the new telemetry events
- Send telemetry events for each AddonManager action on an extension.
- Ensure that telemetry events are sent also for the extension prompts.
Differential Revision: https://phabricator.services.mozilla.com/D4448
DocShells are associated with outer DOM Windows, rather than Documents, so
having the getter on the document is a bit odd to begin with. But it's also
considerably less convenient, since most of the times when we want a docShell
from JS, we're dealing most directly with a window, and have to detour through
the document to get it.
MozReview-Commit-ID: LUj1H9nG3QL
DocShells are associated with outer DOM Windows, rather than Documents, so
having the getter on the document is a bit odd to begin with. But it's also
considerably less convenient, since most of the times when we want a docShell
from JS, we're dealing most directly with a window, and have to detour through
the document to get it.
MozReview-Commit-ID: LUj1H9nG3QL