Also updated addon listeners in extensions.js to use Set instead of
arrays and added a way to listen to AddonListener events on any addon.
MozReview-Commit-ID: Ev3kJgcr30G
--HG--
extra : rebase_source : 8f6ab458dc4ed82303631c0db1fa57849f149592
This removes about 2/3 of the occurrences of nsXPIDLString in the tree. The
places where nsXPIDLStrings are null-checked are replaced with |rv| checks.
The patch also removes a couple of unused declarations from
nsIStringBundle.idl.
Note that nsStringBundle::GetStringFromNameHelper() was merged into
GetStringFromName(), because they both would have had the same signature.
--HG--
extra : rebase_source : ac40bc31c2a4997f2db0bd5069cc008757a2df6d
The test is based on "test-harmful-simple" so we can add testing entries
in a human-readable way.
MozReview-Commit-ID: IJcYrp04uFs
--HG--
extra : rebase_source : afc4329af4cd5fc31a783a8f0f2e3a4bdcb2a432
extra : source : 55a2e275514d2154a23a656e48f685cc6032e5c3
As our threattype-listname conversion design, "goog-harmful-proto" is allocated
for this new threat type. This threat type is mainly for mobile.
MozReview-Commit-ID: G9GbgmHHHfp
--HG--
extra : rebase_source : 0681fcd9322b94451a86eafe57bf1ccc4b89db30
extra : intermediate-source : 28b0502d9add81beeae58a2c33f9fd5839d4d544
extra : source : 646f02f15131aa98ad37015b0a641304a3271796
_updateScrollButtonsDisabledState doesn't use nsIScrollBoxObject, so this shouldn't be a problem anymore.
MozReview-Commit-ID: DP7RD0lA7dQ
--HG--
extra : rebase_source : b39ae8b8cd05aa454ec5e4f960db7529c3ca455f
Also updated addon listeners in extensions.js to use Set instead of
arrays and added a way to listen to AddonListener events on any addon.
MozReview-Commit-ID: Ev3kJgcr30G
--HG--
extra : rebase_source : 1420093c1b69dccd4ff39cc3b0ede35cf9079efa
This mechanically replaces nsILocalFile with nsIFile in
*.js, *.jsm, *.sjs, *.html, *.xul, *.xml, and *.py.
MozReview-Commit-ID: 4ecl3RZhOwC
--HG--
extra : rebase_source : 412880ea27766118c38498d021331a3df6bccc70
The combination of "match_about_blank": true and "run_at": "document_start"
can potentially cause content scripts to run twice for the same document, once
for the intermediate about:blank document created by the document.open() call,
and again for the same document with its final URL after it's been fully
setup.
This test ensures that that behavior doesn't regress.
MozReview-Commit-ID: 9XSfW3rEL4f
--HG--
extra : rebase_source : e206bccd8fad648ebb152418c8784b0a4739fcab
This is also the first step in moving async startup/shutdown tracking into the
add-on manager.
MozReview-Commit-ID: Uf4ecSW77S
--HG--
extra : rebase_source : 16029f3c84feec4b98b23b3beabf763978a6b60d
extra : histedit_source : a7478fd19ebd6fa827856f299ebb824f29db5575
Calling setExperimentActive too early during startup can change
the order of some initialization. setExperimentActive probably
shouldn't have this kind of effect, so simply cache early calls
to it until gGlobalEnvironment has been initialized through other
functions.
Additionally, I am speculatively including work to ensure that
setExperimentInactive and getActiveExperiments have the same
behavior, while remaining correct by working from the same cache
that setExperimentActive uses.
MozReview-Commit-ID: IlzT1J0o6gK
--HG--
extra : rebase_source : b39b8d7e7b0970b520ce3f63af9750846d08b0eb
This moves AboutNewTab.init from nsBrowserGlue.js handling of "browser-delayed-startup-finished" into aboutNewTabService.js so that when the service is loaded once from the main thread probably by browser.js towards the beginning of _delayedStartup just before potentially calling gBrowser.loadTabs, the service triggers the attaching of RemotePages(about:newtab) before any about:newtab pages load.
Additionally even when RemotePages starts early enough, Activity Stream might not borrow the RemotePages instance early enough to catch the RemotePage:Load message, so to simulate that, RemotePages now remembers when a port has been loaded for consumers to check. Adds tests to confirm the expected properties on the port and value of loaded at the various RemotePage:* messages.
MozReview-Commit-ID: IXJLvFCgbEH
--HG--
extra : rebase_source : 2b53c4e58f4cb8cbd4ea10741f3f609693989010
* Use new panel animation when opening arrow-panels (including bookmarks menu) to fade in and drop into position
* Linux/GTK is (still) excluded
* New animation is non-directional (i.e. LTR vs. RTL)
This was landed then backed out due to test failures. New since last review:
* Make opacity & transform transition durations equal - ensuring popup is not still moving when popupshown is fired
* Fix missing comma in transition-duration values
* Add animating attribute to the arrowpanel binding to disable pointer-events during the opening transition (via :jaws)
* Wait for popupshown rather than transitionend in bookmark reparenting test
* Fix specificity of CSS rules for panels/bookmarks-menu on edges other than the top (via :jaws)
MozReview-Commit-ID: DTnvyMryf5Y
--HG--
extra : rebase_source : 77895818356b1b366e93c6a8c508ae2b74dbca5c
Touchmove and wheel events are sent frequently enough that smooth scroll behavior
prevents the expected pixel distance from being reached before the next event.
Also replace aSmoothScroll parameters with aInstant to better reflect how this
works: its purpose is to force instant scrolling, whereas omitting it falls back
to "auto" (which may mean instant or smooth depending on different factors).
The ensureElementIsVisible call from browser-customization.js can go away as
customize mode doesn't add padding around the window anymore.
Finally, remove the unused scrollPosition and scrollPaddingRect properties.
MozReview-Commit-ID: 3Ac7g6zZ0hW
--HG--
extra : rebase_source : e43d0bcab82c74e65d01a0fd79bfaec96952b35a
Fixes that about:telemetry only shows events if there are any present in processes.parent.
For some reason switching the processes in the events section also triggers HistogramSection.render(), which breaks when there are no histograms recorded in the selected process.
This patch fixes it to make things work.
--HG--
extra : rebase_source : e7a4cd1d823571a060a4d6293800b0900a68ddd4
To cut down on complexity, we don't require specifying any expiry versions.
Given that these events will be recorded non-persistently from off-train add-ons, they can be expired by shipping new add-on releases.
We also start to use the new "record on release" terminology here instead of opt-in/opt-out, but are not changing the internal functionality yet.
Technically, this is implemented by keeping a separate registry for the dynamic event information.
Built-in & dynamic events are tracked with separate numeric ids, so introduce a common identifier for both, an EventKey.
For actual event storage, the events are treated the same as built-in events. They are simply bucketed into the 'dynamic' process storage.
This approach ends up duplicating code paths that use the event info, but keeps a single implementation for recording, storage & serialization.
--HG--
extra : rebase_source : 639f9353a7e9383efe87f7f059ca83b56fb3b2a7
This also changes the Library window to use the newly added back-end object. The only user-visible change should be how the selection behaves when retrying downloads.
MozReview-Commit-ID: 7CQr1m21rcB
--HG--
extra : rebase_source : e36faf63dadeba0c897b769cb7e14a2d01d0f628
extra : amend_source : 2c7a88b6e3d6de50b37c34a5579b3ab6fb0c10dd
Before this patch, test_logins_decrypt_failure.js would essentially call
PK11_ResetToken and then PK11_ChangePW (via nsIPK11Token.reset and
nsIPK11Token.changePassword, respectively). This was never correct (after
PK11_ResetToken, the token has no password, so it can't be changed), and after
bug 1379273 this actually fails. The correct thing to do is PK11_ResetToken and
then PK11_InitPin (nsIPK11Token.initPassword).
--HG--
extra : rebase_source : b08f8a40b12bb114774bafe0ed0e5400d3b4c065