Граф коммитов

230 Коммитов

Автор SHA1 Сообщение Дата
Tom Ritter 6d09d0bdf2 Bug 1436778 Add an assertion to hopefully get a reproduction for a hard-to-repro timer jitter bug r=baku
MozReview-Commit-ID: D4zt1v1tjOs

--HG--
extra : rebase_source : b4f5be226c72d6a2f80b4f598155fe9f11ee695c
2018-04-10 13:08:25 -05:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tomislav Jovanovic 9e09943ad5 Bug 1441336 - Use addon permissions for PerformanceTiming properties r=bz,kmag
We need to side-step existing cross-origin checks in Performance Timing code
when the caller is a web extension content script that otherwise has permission
to access the cross-origin resource.

MozReview-Commit-ID: 8IgtqZgPWgY

--HG--
extra : rebase_source : e8152c5d8ab32096d1ff7f97311c1b43b57c3694
2018-04-04 16:54:26 +02:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Andrea Marchesini 4cea8df527 Bug 1437897 - Remove a wrong assertion related to the size of the Performance resource entries array in Performance::InsertResourceEntry, r=bz 2018-04-11 07:42:43 +02:00
Boris Zbarsky 4292bca4ee Bug 1449631 part 6. Remove nsIDOMEventTarget::DispatchEvent. r=smaug
MozReview-Commit-ID: 8YMgmMwZkAL
2018-04-05 13:42:41 -04:00
Tom Ritter 6ebcecc30e Bug 1440195 Add a random context seed to the Performance APIs r=baku
We attach it to WorkerPrivate and DOMNavigationTiming so it will be re-used
when it should.

WorkerPrivate is used in the Performance APIs, Performance Storage Worker,
and Event.

DOMNavigationTiming is used only in the Performance APIs, but the crucial
part is that when the individual DOMNavigationTiming object is re-used,
so will the context seed. This in particular came up with the
nav2_test_document_open.html Web Platform Test which illustrated the fact
that even if you .open() a new document, the performance navigation data
is not supposed to change.

MozReview-Commit-ID: GIv6biEo2jY

--HG--
extra : rebase_source : da2ad8d9d6e0172679c6af14dba72938e9d2012c
2018-03-13 12:36:34 -05:00
Andreea Pavel 46575fad3b Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-15 00:10:23 +02:00
Andrea Marchesini 958050f504 Bug 1445540 - Use WorkerRef in PerformanceStorageWorker, r=smaug 2018-03-14 15:27:13 +01:00
Tom Ritter ce3c0e4f8f Bug 1443943 Allow internal callers of performance.now() to opt-out of clamping/jittering r=bholley
PresShell only uses performane.now to track refresh times, and notify internal
observers. We can provide more accurate times by not clamping and jittering
these numbers.

MozReview-Commit-ID: FkDGJhrLeAy

--HG--
extra : rebase_source : 99c571d1e5df53f51b4be0304df3818c161d2972
2018-03-09 20:12:53 -06:00
Tom Ritter ba0e15150d Bug 1443943 Port the performance APIs only to only clamping/jittering on non-System Principal r=baku
MozReview-Commit-ID: FKYLI5Yc1kX

--HG--
extra : rebase_source : a50952a233eff12c523bb9d9006d3143fa744005
2018-03-09 09:29:33 -06:00
Andreea Pavel e843cc64e7 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-09 21:35:33 +02:00
Andrea Marchesini 9cfc993eff Bug 1444150 Performance.measure(name) should not throw if name is one of the readonly attribute of the Performance interface, r=valentin 2018-03-09 08:23:44 +01:00
Greg Tatum 4f7596f26a Bug 1425605 - Add the start/end mark names to performance.measure profiler markers; r=baku,mstange
MozReview-Commit-ID: I8DzSlSi124

--HG--
extra : rebase_source : 5062bf33824284df7346dae15595f8e1e479bc40
2018-03-08 16:36:53 -06:00
Andrea Marchesini dce09604e1 Bug 1436744 - Get rid of WorkerCheckAPIExposureOnMainThreadRunnable, r=catalinb 2018-02-12 21:02:22 +01:00
Tom Ritter f928a0f4b2 Bug 1435296 Remove unneeded script import from test_timeOrigin.html r=baku
MozReview-Commit-ID: G0sqJYbi3vz

--HG--
extra : rebase_source : ef634be1569422df6bab7315beccf02df0f70dbd
2018-02-10 09:11:04 -06:00
Tom Ritter aa82f54ab6 Bug 1435296 Address test failures caused by bumping timer precision to 2 ms r=baku
There are a few different reasons why tests needed updating (not an exhaustive list):

- Tests assume that successive operations take place at different times.
- Tests assume that an operation took a minimum amount of time.
- Tests hardcodes a specific delay.

In most cases we hardcode the preference off. In some cases this is the best approach,
in others, we would like to improve. The bug for tracking those improvements is Bug 1429648

An improvement that is present in some tests is to hardcode a specific precision reduction
that is acceptable based on the confides of the test. (Obviously this needs to be a fix for
the test framework and not a requirement on the feature being tested.)

In a few places, the test itself can be fixed, for example to no longer require the end
time of an operation to be strictly greater than the start time, and allows it to be equal
to it.

MozReview-Commit-ID: J59c7xQtZZJ

--HG--
extra : rebase_source : df8a03e76eaf9cdc9524dbb3eb9035af237e534b
2018-02-12 11:39:41 -06:00
Josh Matthews 19738f789f Bug 1436743 - Dispatch events via the docgroup rather than the tabgroup when possible. r=mystor 2018-02-08 15:54:00 -05:00
Andrea Marchesini a11a9d201f Bug 1436692 - Implement PerformanceObserver::takeRecords(), r=valentin 2018-02-08 17:43:25 +01:00
Andrea Marchesini 8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Florian Quèze 2b1c8dccb6 Bug 1339461 - script-generated patch to convert foo.indexOf(...) == -1 to foo.includes(), r=Mossop. 2018-02-01 20:45:22 +01:00
Andrea Marchesini a5bed23bd8 Bug 1432963 - Fixing workers headers - part 15 - static function in a workers namespace, r=smaug 2018-01-31 08:24:30 +01:00
Andrea Marchesini 2c7c69af24 Bug 1432963 - Fixing workers headers - part 14 - WorkerPrivate without workers namespace, r=smaug 2018-01-31 08:24:08 +01:00
Andrea Marchesini 063723a1f0 Bug 1432963 - Fixing workers headers - part 13 - WorkerHolder without workers namespace, r=smaug 2018-01-31 08:23:44 +01:00
Andrea Marchesini 1be2954fe1 Bug 1413112 - WorkerError in separate files, r=bkelly 2018-01-30 10:12:50 +01:00
Andrea Marchesini b92373da05 Bug 1425458 - Resource timing entries Workers - part 7 - mochitests, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini b0815a186e Bug 1425458 - Resource timing entries Workers - part 5 - dispatch resourcetimingbufferfull on workers, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini f306e5c7bb Bug 1425458 - Resource timing entries Workers - part 4 - exposing partial interface, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini 0356adb210 Bug 1425458 - Resource timing entries Workers - part 3 - PerformanceStorageWorker, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini a8d07c4d56 Bug 1425458 - Resource timing entries Workers - part 2 - PerformanceTimingData, r=smaug 2018-01-24 17:17:31 +01:00
Andrea Marchesini 2f72a5e897 Bug 1425458 - Resource timing entries Workers - part 1 - PerformanceStorage on main-thread, r=smaug 2018-01-24 17:17:31 +01:00
Andrea Marchesini c6da271117 Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug
* * *
Bug 1425458 - Resource timing entries Workers - part 10 - Correct parameters in NS_NewChannel in nsDataObj.cpp, r=me
2018-01-24 17:17:31 +01:00
Brindusan Cristian 368c3d5b6b Backed out 12 changesets (bug 1425458) for mochitest failures on WorkerPrivate.cpp on a CLOSED TREE
Backed out changeset 11997de13778 (bug 1425458)
Backed out changeset 100b9d4f36bc (bug 1425458)
Backed out changeset a29e9dbb8c42 (bug 1425458)
Backed out changeset b96d58fd945c (bug 1425458)
Backed out changeset f140da44ba68 (bug 1425458)
Backed out changeset af56400233d9 (bug 1425458)
Backed out changeset 7034af4332e4 (bug 1425458)
Backed out changeset f70500179140 (bug 1425458)
Backed out changeset 793bbfc23257 (bug 1425458)
Backed out changeset 2efb375a8ffc (bug 1425458)
Backed out changeset 07e781e37451 (bug 1425458)
Backed out changeset e875f3702a5f (bug 1425458)
2018-01-24 20:47:48 +02:00
Andrea Marchesini e3a4f3c0c6 Bug 1425458 - Resource timing entries Workers - part 11 - WPT, r=me CLOSED TREE 2018-01-24 18:52:18 +01:00
Andrea Marchesini 614ece72f9 Bug 1425458 - Resource timing entries Workers - part 9 - Fixing a compilation issue, r=me CLOSED TREE 2018-01-24 18:19:12 +01:00
Andrea Marchesini 3df0fd7a06 Bug 1425458 - Resource timing entries Workers - part 7 - mochitests, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini a1fb457571 Bug 1425458 - Resource timing entries Workers - part 5 - dispatch resourcetimingbufferfull on workers, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini e1b65b46fd Bug 1425458 - Resource timing entries Workers - part 4 - exposing partial interface, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini 662a5542a3 Bug 1425458 - Resource timing entries Workers - part 3 - PerformanceStorageWorker, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini f5ad0fea6c Bug 1425458 - Resource timing entries Workers - part 2 - PerformanceTimingData, r=smaug 2018-01-24 17:17:31 +01:00
Andrea Marchesini 6ade04534b Bug 1425458 - Resource timing entries Workers - part 1 - PerformanceStorage on main-thread, r=smaug 2018-01-24 17:17:31 +01:00
Andrea Marchesini 6480b95ba3 Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug 2018-01-24 17:17:31 +01:00
Tom Ritter d0170278b3 Bug 1429764 Do not call ReduceTimerPrecision twice for DOM Navigation timers r=bkelly,timhuang
Bug 1429764 details a test failure that was asserting that the performance navigation
timers were strictly increasing (or equal). fetchStart should have a timestamp before
domainLookupStart.  But it didn't.

The problem is two-fold.  This corrects the test and the issue by addressing one part
of the problem, the second part of the problem needs to be written up in a new bug
and addressed there. (That bug is not yet filed at writing, but see dependencies of
1429764 in the future to find it.)

The second, and underlying, problem is that calling ReduceTimerPrecision with the
same value multiple times may continually reduce it. Meaning that the first you call
it with, say, .75, (and a precision of .20), it will be reduced to .6. The second time
you call it (with .6), instead of staying at .6 it will be reduced to .4. This is
because floats are fuzzy. Inside ReduceTimerPrecision we are multiplying a decimal by
a decimal, so while floor(.6 / .20)  should equal 3, sometimes it's actually 2.999...
which gets floors to 2, gets multiplied again by .2, and which results in .4

If that's the underlying problem, the first, and surface, problem is - why are we
calling ReduceTimerPrecision multiple times? We shouldn't be. That's what this
patch fixes.

TimeStampToDOMHighResOrFetchStart will return either TimeStampToDOMHighRes() or
FetchStartHighRes(). FetchStartHighRes() internally calls TimeStampToDOMHighRes
and then ReduceTimerPrecision - this is where (some of) the two reduction calls
happen - because TimeStampToDOMHighRes itself calls ReduceTimerPrecision also.

I remove the ReduceTimerPrecision from TimeStampToDOMHighRes. FetchStartHighRes
will now only call ReduceTimerPrecision once, at the end of the return.

But we have to fix places we call TimeStampToDOMHighResOrFetchStart, because the
callers of that function also call ReduceTimerPrecision. So if
TimeStampToDOMHighResOrFetchStart returned FetchStartHighRes, we'd be calling
ReduceTimerPrecision twice for those callers.

So inside first off, we remove the outer call to ReduceTimerPrecision. that
surrounds the 5 or so callsites of TimeStampToDOMHighResOrFetchStart. Then
inside of TimeStampToDOMHighResOrFetchStart we return either FetchStartHighRes
(which is has already called ReduceTimerPrecision) or we call
ReduceTimerPrecision with the value.

Now. TimeStampToDOMHighRes was used in more places than just FetchStartHighRes -
there were several other places where we were doing double rounding, and this
fixed those as well. AsyncOpenHighRes, WorkerStartHighRes, DomainLookupEndHighRes,
ConnectStartHighRes, SecureConnectionStartHighRes, ConnectEndHighRes, and
ResponseEndHighRes.

MozReview-Commit-ID: K5nHql135rb

--HG--
extra : rebase_source : e06785203f0f8b01fc7b694ce840f07dc09bc4a1
2018-01-12 13:36:04 -06:00
Tom Ritter 58c53866d8 Bug 1424341 Round the Performance Timing APIs when privacy.reduceTimerPrecision is set r=bkelly,timhuang
MozReview-Commit-ID: LrAmrIfKk39

--HG--
extra : rebase_source : e9ded5202406abd07465a0b4a9a6122c86a9c072
2018-01-10 15:51:23 -06:00
Andrea Marchesini 61778fdf43 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 5 - Performance logging enabled, r=asuth 2018-01-08 14:05:04 +01:00
Tom Ritter 29a0059ef9 Bug 1427870 - Change resolution of .now() to 20us. r=bkelly, a=lizzard
The comment about workers was introduced in Bug 1186489 but became obsolete some time after that
(definitely by Bug 1278838)
2017-12-30 13:07:00 -06:00
Dragana Damjanovic d2271cd3a8 Bug 1417431 - secureConnectionStart should be 0 for pages with HTTP scheme. r=bkelly 2017-12-06 12:57:28 +01:00
Jonathan Watt 25f221f47d Bug 1180145, part 3 - Block resource timing reporting for channels that are tainted. r=jwatt
MozReview-Commit-ID: FdlbJ2YYMaG
2017-11-08 18:13:46 +00:00
Cosmin Sabou 5c4663243d Backed out 23 changesets (bug 1419771) for frequently failing service workers related devtools tests, e.g. devtools/client/aboutdebugging/test/browser_service_workers_push.js. r=backout on a CLOSED TREE
Backed out changeset 2242edc902a5 (bug 1419771)
Backed out changeset 9cc3c29a9e36 (bug 1419771)
Backed out changeset c39ee002c825 (bug 1419771)
Backed out changeset caf7428013f2 (bug 1419771)
Backed out changeset c03970363433 (bug 1419771)
Backed out changeset 7f9de012861e (bug 1419771)
Backed out changeset ed146ac42a7f (bug 1419771)
Backed out changeset a8154698f782 (bug 1419771)
Backed out changeset 8a54c1c8d45d (bug 1419771)
Backed out changeset e32cd55b4c96 (bug 1419771)
Backed out changeset b7f342f436ef (bug 1419771)
Backed out changeset 60464b3e468f (bug 1419771)
Backed out changeset 108806f14ad8 (bug 1419771)
Backed out changeset 65998b0740f3 (bug 1419771)
Backed out changeset 0d23880842d8 (bug 1419771)
Backed out changeset 862aeaa2fefd (bug 1419771)
Backed out changeset cbc192478bf5 (bug 1419771)
Backed out changeset c58ef2a91bad (bug 1419771)
Backed out changeset 2b0a4bfd654f (bug 1419771)
Backed out changeset f182eba574f9 (bug 1419771)
Backed out changeset d9999a624097 (bug 1419771)
Backed out changeset 4050a1b8db2b (bug 1419771)
Backed out changeset a1a68e6500d9 (bug 1419771)
2017-11-30 22:35:32 +02:00
Andrea Marchesini c8ae53b657 Bug 1419771 - Introduce DOMPreferences, a thread-safe access to preferences for DOM - part 5 - Performance logging enabled, r=asuth 2017-11-30 18:16:44 +01:00
Nika Layzell f1ac9bf744 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Ben Kelly bdbb6e6750 Bug 1415740 P1 Allow PerformanceResourceTiming.workerStart to be accessed on no-cors resources without Timing-Allow-Origin. r=baku 2017-11-10 00:20:30 -08:00
Ben Kelly 39ab1eb0b4 Bug 1415630 Make PerformanceResourceTiming.fetchStart match the time we dispatch the FetchEvent when SW interception occurs. r=baku 2017-11-09 09:00:43 -08:00
Sebastian Hengst 485da1eec8 Backed out changeset c2c746884242 (bug 1403027) for failing M-e10s(2,h2) without failure summary on Windows. r=backout on a CLOSED TREE
--HG--
extra : amend_source : e140ace761a6be91840cb282bc7c676561698291
2017-10-25 23:44:40 +02:00
Thomas Wisniewski 6bf7c6882a Bug 1403027 - Do not throw from PerformanceObserver.observe when none of the entryTypes are known (log a JS console warning instead); r=bz
MozReview-Commit-ID: Lx2cjWDX8sh

--HG--
extra : rebase_source : d7e8b3dfbf395de0c0d7b5b7ce716a37337735f5
2017-10-22 22:49:44 -04:00
Sebastian Hengst 6125e83b28 Backed out changeset c5f2f0e827d0 (bug 1403027) for build bustage at dom/workers/WorkerPrivate.cpp(984): expression did not evaluate to a constant, at least on Windows. r=backout on a CLOSED TREE
--HG--
extra : amend_source : e6eb5cbe9b6b41a929c8f811859efe6093eab3a2
2017-10-21 00:31:07 +02:00
Thomas Wisniewski ac538c1bc0 Bug 1403027 - Do not throw from PerformanceObserver.observe when none of the entryTypes are known (log a JS console warning instead); r=bz
MozReview-Commit-ID: Lx2cjWDX8sh

--HG--
extra : rebase_source : 7f70818de5e4c31eb1781d524e0129b0b20759e3
2017-10-20 15:58:20 -04:00
Ben Kelly 8231685365 Bug 1204254 P14 Stop faking responseStart/End directly and make PerformanceTiming map SW specific timings instead. r=asuth 2017-10-17 13:38:56 -07:00
Nicholas Nethercote 8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Ben Kelly f9e5ee1ee2 Bug 1191943 P1 Implement PerformanceResourceTiming.workerStart. r=asuth 2017-10-06 09:04:54 -07:00
Ben Kelly b4b2a21adc Bug 1405739 P1 Don't expose internal redirect start/end/count through performance timing API. r=valentin 2017-10-06 09:04:54 -07:00
Valentin Gosu da8e71fd84 Bug 1403926 - Make sure PerformanceNavigationTiming timestamps are correct r=baku
MozReview-Commit-ID: 9qtfwaqSY4J

--HG--
extra : rebase_source : 1c8b29a9cc0aec9e33dadbea8808dfda9f9a6888
2017-10-04 04:05:39 +02:00
Valentin Gosu 9b2d85e6e1 Bug 1403926 - Make the PerformanceNavigationTiming timestamps be relative to startTime r=baku
MozReview-Commit-ID: 7lvSsde9dzh

--HG--
extra : rebase_source : bc4b7fa0526a3fe749c17ce10f70baa8a33f8bb1
2017-10-04 02:48:36 +02:00
Valentin Gosu 3fba909015 Bug 1403926 - Add pref for PerformanceNavigationTiming r=baku
MozReview-Commit-ID: 9f6fcCk8mh

--HG--
extra : rebase_source : 0a1252a7cff2cfaec8f0ab5f8ffa755a0a8a4b5e
2017-10-04 02:48:33 +02:00
Valentin Gosu 70b668ea83 Bug 1403178 - Remove mParent assertion from Performance* as it's triggered in headless mode r=baku
MozReview-Commit-ID: BOz7e0oarab

--HG--
extra : rebase_source : 4b64987f740e737315b4e5c6858018c1449cec62
2017-09-28 08:26:11 +02:00
Valentin Gosu 5519da0088 Bug 1403154 - Don't MOZ_CRASH in PerformanceNavigationTiming::Type if the navigation type is TYPE_RESERVED r=baku
MozReview-Commit-ID: A9lwpjRb3G6

--HG--
extra : rebase_source : 854cc9d8616fa5dc8365c82b1e29a4eab91bb590
2017-09-26 17:44:05 +02:00
Valentin Gosu f59511657b Bug 1263722 - Implement performance navigation timing r=baku
MozReview-Commit-ID: 9rJ3J6SqiDX
* * *
[mq]: test.patch

MozReview-Commit-ID: IYXp5G3iNSi

--HG--
extra : rebase_source : 42ef00dea8c7dff60743c1119faf4a76e8f59ae5
2016-04-17 22:03:28 +02:00
Sebastian Hengst b9a549d819 Backed out changeset 6827b7bf9116 (bug 1263722) for leaks detected on mochitest shutdown. r=backout 2017-09-25 09:57:13 +02:00
Valentin Gosu d5c34da10e Bug 1263722 - Implement performance navigation timing r=baku
MozReview-Commit-ID: 9rJ3J6SqiDX
* * *
[mq]: test.patch

MozReview-Commit-ID: IYXp5G3iNSi

--HG--
extra : rebase_source : 5f2efdcf2cbd9f3b80752b59f083e32654a32e61
2016-04-17 22:03:28 +02:00
Hiroyuki Ikezoe 6b381a4cf5 Bug 1386021 - Enable PerformanceObserver on all channels. r=baku
MozReview-Commit-ID: LdktbmR4Fd

--HG--
extra : rebase_source : e3940d7a52c94effe98a7c19b7a8c68255078349
2017-09-07 06:23:49 +09:00
Hiroyuki Ikezoe 53ea279d4e Bug 1396219 - Support PerformanceObserverInit.buffered. r=baku
MozReview-Commit-ID: FhVZquBoC6F

--HG--
extra : rebase_source : 550192da86e26b1a0056d89546e83644e19bbcbb
2017-09-03 10:25:57 +09:00
Hiroyuki Ikezoe a81e75270e Bug 1396230 - Clear PerformanceObserver mQueuedEntries right after they were copied to PerformanceObserverEntryList. r=baku
This matches to the spec and makes po-callback-mutate.any.js test pass.

From the spec [1]

  1. Let entries be a copy of po’s observer buffer.
  2. Empty po’s observer buffer.
  3. If entries is non-empty, call po’s callback with entries as first
     argument and po as the second argument and callback this value. If this
     throws an exception, report the exception.

[1] https://w3c.github.io/performance-timeline/#queue-a-performanceentry

MozReview-Commit-ID: AEdfvGpauzy

--HG--
extra : rebase_source : 20b9fc8426fd48d10e8e55662afe1c881fd92343
2017-09-02 22:05:44 +09:00
Hiroyuki Ikezoe 8f3ef222fd Bug 1396228 - Filter out by type if the type if specified for PerformanceEntry.getEntries. r=baku
MozReview-Commit-ID: 4XManqN8BVY

--HG--
extra : rebase_source : 2fefe77e5fcadbd4e5632d557e554e8356c1ef52
2017-09-02 21:42:00 +09:00
Hiroyuki Ikezoe 8ae5e3226b Bug 1396227 - Sort performance entries by start time. r=baku
MozReview-Commit-ID: 7m4MLlOJmFZ

--HG--
extra : rebase_source : 7437d240e8c74d279cef8e1dee277d06125f4df6
2017-09-02 21:39:19 +09:00
Andrew McCreight 78807d8776 Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.

MozReview-Commit-ID: 5agRGFyUry1

--HG--
extra : rebase_source : 5388c56b2f6905c6ef969150f0c5b77bf247624d
2017-08-29 16:02:48 -07:00
Valentin Gosu 8482ae39c3 Bug 919391 - Incorrect Navigation Timing API: performance.timing.responseStart - performance.timing.requestStart < 0 r=baku
MozReview-Commit-ID: 6s5FljTQEAB
2017-08-23 16:50:18 +02:00
Masatoshi Kimura dec070e4cf Bug 1389460 - Remove @deprecated nsIDOMEventTarget.DispatchDOMEvent. r=smaug
MozReview-Commit-ID: E88DZK5sfwx

--HG--
extra : rebase_source : 64e1a47c9366a970f20ec459dde9b379a207e802
2017-08-07 02:28:52 +09:00
Sebastian Hengst b3269bec34 Backed out changeset 685802013f43 (bug 1389460) for OS X bustage at widget/cocoa/nsMenuX.mm:364: no member named 'DispatchDOMEvent' in 'nsIContent'. r=backout 2017-08-11 17:46:42 +02:00
Masatoshi Kimura 58d29db70b Bug 1389460 - Remove @deprecated nsIDOMEventTarget.DispatchDOMEvent. r=smaug
MozReview-Commit-ID: E88DZK5sfwx

--HG--
extra : rebase_source : 63300d87c0496394d3f75cb76bc47c75d640d369
2017-08-07 02:28:52 +09:00
Andrea Marchesini d06ba4ca6f Bug 1382768 - Performance API must be a memory reporter, r=bz 2017-07-27 09:05:51 +02:00
Andrea Marchesini e162c04cba Bug 1159003 - Remove Performance::GetAsISupports(), r=bz 2017-07-20 19:05:38 +02:00
Andrea Marchesini 6f4d5069c8 Bug 1159003 - setResourceTimingBufferSize shouldn't affect user timing, but we should clean user markers if we have memory pressure, r=bz 2017-07-20 12:57:08 +02:00
Ryan VanderMeulen 3e946fc60d Backed out changesets f4378a5e6c7f and b7d81fea0b33 (bug 1159003) for causing bug 1383553. 2017-07-25 21:50:06 -04:00
Nicholas Nethercote 6e6ae2ea9b Bug 1382099 - Remove MOZ_WIDGET_GONK from several dom/ subdirectories. r=mccr8,jdm.
As well as the obvious #ifdef stuff, the patch removes
TCPSocket::SetAppIdAndBrowser(), which means
{TCPSocketParent,TCPServerSocketParent}::{GetAppId,GetInIsolatedMozBrowser}()
can also be removed.
2017-07-21 10:52:44 +10:00
Andrea Marchesini 9bdc9f9ef2 Bug 1159003 - Remove Performance::GetAsISupports(), r=bz 2017-07-20 19:05:38 +02:00
Andrea Marchesini b02308d651 Bug 1159003 - setResourceTimingBufferSize shouldn't affect user timing, but we should clean user markers if we have memory pressure, r=bz 2017-07-20 12:57:08 +02:00
Patrick McManus 850582d8f3 Bug 772589 - Implement the secureConnectionStart property for the PerformanceTiming interface r=bkelly,dragana,francois,Honza
Implements PerformanceTiming, nsITimedChannel, and devtools 'tls setup'

Also captures telemetry on this as we do for all other attributes of timedChannel

Also propogates some null transaction timings onto first real
transaction of a connection

MozReview-Commit-ID: 47TQJYVHnKC

--HG--
extra : rebase_source : a7723962986de0c2ab00d479a22c3f5fd185c8b2
2017-07-10 15:01:35 -04:00
Perry Jiang 211a8becfd Bug 1377251 - Expose TIME_TO_NON_BLANK_PAINT as Performance Entry behind pref. r=qDot 2017-07-05 16:51:50 -07:00
Wes Kocher 1786eb88fb Backed out changeset 5f7d4b62f6e4 (bug 1377251) for test_toJSON.html failures a=backout
MozReview-Commit-ID: JdRvGn6MQXn
2017-07-07 17:08:35 -07:00
Perry Jiang 5ed2e8ed69 Bug 1377251 - Expose TIME_TO_NON_BLANK_PAINT as Performance Entry behind pref. r=qdot
MozReview-Commit-ID: 4WPeEzBnGnk
2017-07-05 16:51:50 -07:00
Kyle Machulis 37abc6d73b Bug 1378537 - Store PerformanceEntry objects in AutoTArray; r=smaug
Storing PerformanceEntry objects in an AutoTArray (currently sized to
match our limit for resource timing entries) should omit some
per-entry allocations and give us a small speedup with creating
entries in tight loops.

MozReview-Commit-ID: LNgVhMn461g

--HG--
extra : rebase_source : 10250c2fad5ebaf0e89bf9759d157b7d1d855ffa
2017-07-05 15:15:08 -07:00
Nicholas Nethercote 5d446671a8 Bug 1375776 (part 4) - Allow ProfilerMarkerPayload.h to be #included unconditionally. r=mstange.
This requires:

- Moving the constructors of ProfilerMarkerPayload and its subclasses into the
  .h file so they are visible even when ProfilerMarkerPayload.cpp isn't
  compiled.

- Similarly, using a macro to make StreamPayload() a crashing no-op when the
  profiler isn't enabled. (It is never called in that case.)

--HG--
extra : rebase_source : 7aad2fdb1bd4e49782024dba6664e8f992771520
2017-06-23 16:24:15 +10:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Nicholas Nethercote 915a56fb41 Bug 1375299 (part 2) - Remove PROFILER_MARKER. r=mstange.
PROFILER_MARKER is now just a trivial wrapper for profiler_add_marker(). This
patch removes it.

--HG--
extra : rebase_source : 9858f34763bb343757896a91ab7ad8bd8e56b076
2017-06-22 13:40:21 +10:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Nicholas Nethercote 5d3808c6e5 Bug 1373436 (part 4) - Use UniquePtr with profile_add_marker(). r=mstange.
Once the |aPayload| argument to profile_add_marker() became a UniquePtr the
default value of nullptr caused compilation difficulties that could only be
fixed by #including ProfilerMarkerPayload.h into lots of additional places
(because the UniquePtr<T> instantiation required the T to be fully defined). To
get around this I just split profile_add_marker() into two functions, one with
1 argument and one with 2 arguments.

The patch also removes the definition of PROFILER_MARKER_PAYLOAD in the case
where MOZ_GECKO_PROFILER isn't defined. A comment explains why.
2017-06-16 12:26:26 +10:00
Tim Huang 7d1c0f2d14 Bug 1369303 - Part 2: Marking the performance timing API always reports 0 and the access of resource timing and user timing becomes NOP when 'privacy.resistFingerprinting' is true. r=arthuredelstein,baku
This patch is going to neutralize the threat of fingerprinting of performance API
by spoofing the value of performance timing into 0, making getEntries* functions
always returns an empty list and making mark() and measure() into NOP methods.

In addition, this patch changes nsContentUtils::ShouldResistFingerprinting() to
allow it can be called in both main thread and worker threads.

MozReview-Commit-ID: C8Jt7KEMe5e

--HG--
extra : rebase_source : 85cbf66881c868ca5109022ffd4af81e3ab0a049
2017-06-15 16:48:27 +08:00
Jonathan Hao dca1a28633 Bug 1217238 - Reduce time precision when privacy.resistFingerprinting is on. r=mystor
This patch is adapted from Tor bug 1517.

To offer some protection against timing attacks by JS content pages, in this
patch we round the various time-exposing APIs (such as Date and
Event.timeStamps) to the nearest 100 ms when the pref "privacy.resistFingerprinting" is on.

MozReview-Commit-ID: eGucM9nGTn

--HG--
extra : rebase_source : 3ee600b07943f3954e9a2a9561391f2f7821bb86
2017-06-06 11:45:14 +08:00
Nicholas Nethercote 273ec65c56 Bug 1123754 (part 1) - Rename ProfilerMarkers.{h,cpp} as ProfilerMarkerPayload.{h,cpp}. r=mstange.
Because ProfilerMarkerPayload is the main type defined in these files, and
because the next patch is going to introduce ProfilerMarker.{h,cpp}, which
would be confusingly similar to the old names.

--HG--
rename : tools/profiler/core/ProfilerMarkers.cpp => tools/profiler/core/ProfilerMarkerPayload.cpp
rename : tools/profiler/public/ProfilerMarkers.h => tools/profiler/public/ProfilerMarkerPayload.h
extra : rebase_source : df22a2ab3867650348ae78fe959ff0366aff230b
2017-04-27 07:36:19 +10:00
Greg Tatum 778111225d Bug 1357849 - Instrument performance.measure with markers; r=baku,mstange
MozReview-Commit-ID: KQcQgxYyEYi

--HG--
extra : rebase_source : bc26048ca4317d11ab22a5a54064fa2c031a9fdc
2017-04-24 10:15:11 -05:00
Wei-Cheng Pan 150bc3a607 Bug 1344893 - Part 2: Add time to first byte metric. r=smaug, data-review=bsmedberg
MozReview-Commit-ID: 6a30Xofr6p1
2017-04-19 02:00:00 -04:00
Carsten "Tomcat" Book 087da3f0d9 merge mozilla-inbound to mozilla-central a=merge 2017-03-07 15:13:31 +01:00
Andrea Marchesini 2733271b7f Bug 1344669 - Remove Performance::IsEnabled, r=qdot 2017-03-07 08:50:40 +01:00
Wei-Cheng Pan 510ba75c20 Bug 1310127 - Part 17: Use MOZ_MUST_USE in netwerk/protocol/http r=smaug
MozReview-Commit-ID: 5gvVZtsa3yS

--HG--
extra : rebase_source : 5e1ab2fc06ae58f18abb8909ac93f9512abbe220
2016-12-20 11:49:32 +08:00
Joel Maher f297f17181 Bug 1339232 - annotate more dom/* moz.build files with BUG_COMPONENT. r=overholt
MozReview-Commit-ID: 2HbPxGkrVfv
2017-03-01 08:20:25 -05:00
Olli Pettay 0364dbc792 Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8
--HG--
extra : rebase_source : 3ae1207308de120b7299b13ecaa95dd1612b3459
2017-01-03 21:47:55 +02:00
Olli Pettay 8f2731ad19 Bug 1326508 - PerformanceMainThread should not call NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=bz 2016-12-31 14:41:24 +02:00
Andrea Marchesini ed7e7b4ae2 Bug 1323941 - navigationStart should not be exposed to workers as timing attribute, r=bz 2016-12-17 07:51:22 +01:00
Andrea Marchesini 64b687fb1c Bug 1322292 - Some fixes for the Performance API in workers - part 2 - Get rid of NowBaseTimeStamp(), r=bz 2016-12-16 09:07:39 +01:00
Andrea Marchesini 4c69bb647d Bug 1322292 - Some fixes for the Performance API in workers - part 1 - Centralized Performance.now(), r=bz 2016-12-16 09:07:04 +01:00
Andrea Marchesini 3c9042f49b Bug 1322966 - Cleanup performance.cpp, r=qdot 2016-12-13 02:27:28 +01:00
Valentin Gosu d4b789bf8d Bug 1317297 - nextHopProtocol is an empty string for local fetch r=baku
MozReview-Commit-ID: 7oC29OthYja
2016-12-01 16:13:19 +01:00
Andrea Marchesini a7ee323115 Bug 1313420 - Implement Performance.timeOrigin - part 4 - tests, r=me 2016-11-17 12:50:10 +01:00
Andrea Marchesini 3f3797799a Bug 1313420 - Implement Performance.timeOrigin - part 3 - tests, r=me 2016-11-17 11:06:28 +01:00
Andrea Marchesini ad23bdeed0 Bug 1313420 - Implement Performance.timeOrigin - part 2 - tests, r=bz 2016-11-17 10:00:26 +01:00
Andrea Marchesini b0435b9411 Bug 1313420 - Implement Performance.timeOrigin - part 1, r=bz 2016-11-17 10:00:05 +01:00
Andrea Marchesini 60ab8339e0 Bug 1288736 - Add some missing rv.SuppressException(), r=smaug 2016-07-22 16:50:10 +02:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Chris Peterson b175c9fdd5 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
Andrea Marchesini dd368c9569 Bug 1279194 - Get rid of nsDOMPerformanceNavigationType, r=smaug 2016-06-10 16:29:46 +02:00
Andrea Marchesini 42d73e42ca Bug 1278838 - move workers/performance tests in dom/performance/tests, r=smaug
--HG--
rename : dom/workers/test/sharedworker_performance_user_timing.js => dom/performance/tests/sharedworker_performance_user_timing.js
rename : dom/workers/test/test_sharedWorker_performance_user_timing.html => dom/performance/tests/test_sharedWorker_performance_user_timing.html
rename : dom/workers/test/test_performance_observer.html => dom/performance/tests/test_worker_observer.html
rename : dom/workers/test/test_worker_performance_now.html => dom/performance/tests/test_worker_performance_now.html
rename : dom/workers/test/test_worker_performance_now.js => dom/performance/tests/test_worker_performance_now.js
rename : dom/workers/test/test_performance_user_timing.html => dom/performance/tests/test_worker_user_timing.html
rename : dom/workers/test/performance_observer.html => dom/performance/tests/worker_performance_observer.html
rename : dom/workers/test/worker_performance_observer.js => dom/performance/tests/worker_performance_observer.js
rename : dom/workers/test/worker_performance_user_timing.js => dom/performance/tests/worker_performance_user_timing.js
2016-06-09 19:05:16 +02:00
Andrea Marchesini 64734bf74c Bug 1278838 - Remove separate worker binding for Performance API, r=smaug
--HG--
rename : dom/performance/nsPerformance.cpp => dom/performance/Performance.cpp
rename : dom/performance/nsPerformance.h => dom/performance/Performance.h
rename : dom/workers/Performance.cpp => dom/performance/PerformanceWorker.cpp
rename : dom/workers/Performance.h => dom/performance/PerformanceWorker.h
2016-06-09 19:04:42 +02:00
Andrea Marchesini 1264ad2da5 Bug 1278845 - Move PerformanceNavigation to separate files, r=smaug 2016-06-09 12:44:54 +02:00
Andrea Marchesini d84e87b425 Bug 1278843 - Move PerformanceTiming code in separate files, r=smaug 2016-06-09 12:43:56 +02:00
Andrea Marchesini e7022433c4 Bug 1278835 - Renaming nsPerformanceNavigation to mozilla::dom::PerformanceNavigation, r=smaug 2016-06-09 12:43:02 +02:00
Andrea Marchesini c1ff80c475 Bug 1278834 - Renaming nsPerformanceTiming to mozilla::dom::PerformanceTiming, r=smaug 2016-06-09 12:42:43 +02:00
Andrea Marchesini 8723eb439d Bug 1278816 - Move Performance API into dom/performance, r=smaug
--HG--
rename : dom/base/PerformanceEntry.cpp => dom/performance/PerformanceEntry.cpp
rename : dom/base/PerformanceEntry.h => dom/performance/PerformanceEntry.h
rename : dom/base/PerformanceMark.cpp => dom/performance/PerformanceMark.cpp
rename : dom/base/PerformanceMark.h => dom/performance/PerformanceMark.h
rename : dom/base/PerformanceMeasure.cpp => dom/performance/PerformanceMeasure.cpp
rename : dom/base/PerformanceMeasure.h => dom/performance/PerformanceMeasure.h
rename : dom/base/PerformanceObserver.cpp => dom/performance/PerformanceObserver.cpp
rename : dom/base/PerformanceObserver.h => dom/performance/PerformanceObserver.h
rename : dom/base/PerformanceObserverEntryList.cpp => dom/performance/PerformanceObserverEntryList.cpp
rename : dom/base/PerformanceObserverEntryList.h => dom/performance/PerformanceObserverEntryList.h
rename : dom/base/PerformanceResourceTiming.cpp => dom/performance/PerformanceResourceTiming.cpp
rename : dom/base/PerformanceResourceTiming.h => dom/performance/PerformanceResourceTiming.h
rename : dom/base/nsPerformance.cpp => dom/performance/nsPerformance.cpp
rename : dom/base/nsPerformance.h => dom/performance/nsPerformance.h
rename : dom/base/test/performance_observer.html => dom/performance/tests/performance_observer.html
rename : dom/base/test/test_performance_observer.html => dom/performance/tests/test_performance_observer.html
rename : dom/base/test/test_performance_observer.js => dom/performance/tests/test_performance_observer.js
rename : dom/base/test/test_performance_user_timing.html => dom/performance/tests/test_performance_user_timing.html
rename : dom/base/test/test_performance_user_timing.js => dom/performance/tests/test_performance_user_timing.js
2016-06-09 12:42:21 +02:00