Commit Graph

77 Commits

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