Commit Graph

117 Commits

Author SHA1 Message Date
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
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