All the SizeOf{In,Ex}cludingThis() functions take a MallocSizeOf function
which measures memory blocks. This patch introduces a new type, SizeOfState,
which includes a MallocSizeOf function *and* a table of already-measured
pointers, called SeenPtrs. This gives us a general mechanism to measure
graph-like data structures, by recording which nodes have already been
measured. (This approach is used in a number of existing reporters, but not in
a uniform fashion.)
The patch also converts the window memory reporting to use SizeOfState in a lot
of places, all the way through to the measurement of Elements. This is a
precursor for bug 1383977 which will measure Stylo elements, which involve
Arcs.
The patch also converts the existing mAlreadyMeasuredOrphanTrees table in the
OrphanReporter to use the new mechanism.
--HG--
extra : rebase_source : 2c23285f8b6c3b667560a9d14014efc4633aed51
* Has storage providers metadata
* Scan for storage providers returning preferred provider
* Helper methods to access cloud services prefs
* Helper method to set cloud storage as default download directory
* Notify observers for displaying cloud storage prompt
* Support pref value browser.downloads.folderList 3
* Read dropbox custom downloadpath from info.json
* Handle rejected providers by saving response in cloud.services.rejected.key
* Load providers metadata from providers.json
* Tested using add-on implemented in Bug 1365129
* Tests for Linux, Mac and Win Platform
MozReview-Commit-ID: LrmoDfsRTBV
--HG--
extra : rebase_source : cc3933407def5da26b4c0fb29a32797bc6a13130
This is basically a cosmetic change; references are the normal way to do string
outparams.
--HG--
extra : rebase_source : ffc5945f269bdcd3d4116755b56713e87a44b6cd
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 : d83f755273a50121d65e1cbc1676850dccb52d5d
This patch replaces four functions of the name AssignWithConversion which
are essentially wrappers around CopyASCIItoUTF16 and LossyCopyUTF16toASCII
with direct calls to the latter two functions. The replaced functions are:
void nsCString::AssignWithConversion( const nsAString& aData )
void nsString::AssignWithConversion( const nsACString& aData )
void nsTString_CharT::AssignWithConversion(
const incompatible_char_type* aData,
int32_t aLength = -1);
The last of the three exists inside the double-included nsTString* world and
so describes two functions, giving four in total.
This has two advantages:
* it removes code
* at the call points, it makes clear (from the replacement name) which
conversion is being carried out. The generic name "AssignWithConversion"
doesn't make that obvious -- one had to infer it from the types.
The patch also removes two commented out lines from
editor/composer/nsComposerCommands.cpp, that appear to be related. They are
at top level, where they would never have compiled. They look like
leftovers from some previous change.
--HG--
extra : rebase_source : fb47bf450771c3c9ee3341dd14520f5da69ec4f5
Added callback to testcase.py. Made sure callback is callable.
Added callback in test_main_tab_scalars to be the browser restart.
Added callback in test_ping_server_received_ping to None because no callback is needed.
MozReview-Commit-ID: Jf4YHasCXVg
--HG--
extra : rebase_source : f2b54f151d40436598003c009cc8a9b06bb052af
The following tests were removed from the test manifest in https://hg.mozilla.org/mozilla-central/rev/9704283b0e3a and never added back:
toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js
toolkit/components/extensions/test/xpcshell/test_ext_extension_content_telemetry.js
toolkit/components/extensions/test/xpcshell/test_ext_storage_telemetry.js
A bunch of changes were needed to the telemetry tests to make them work in OOP mode as well.
MozReview-Commit-ID: LPOrGb8OxNL
--HG--
extra : rebase_source : abae51aadcede9256e75f051d6f0dd21bc144c7f
The following tests were removed from the test manifest in https://hg.mozilla.org/mozilla-central/rev/9704283b0e3a and never added back:
toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js
toolkit/components/extensions/test/xpcshell/test_ext_extension_content_telemetry.js
toolkit/components/extensions/test/xpcshell/test_ext_storage_telemetry.js
A bunch of changes were needed to the telemetry tests to make them work in OOP mode as well.
MozReview-Commit-ID: LPOrGb8OxNL
--HG--
extra : rebase_source : e9ee1720fd42844e1fa81e3d068de87543981a41
This ping will be sent as soon as an update is ready to be applied, after
it's downloaded. This is currently enabled but protected behind the
'toolkit.telemetry.updatePing.enabled' preference.
MozReview-Commit-ID: 4TuM0e5MzBl
--HG--
extra : rebase_source : aa3ebda3cf1e1fc2cdb8c294a643973c5101fa1c