678a7c5d8a83a23739179da9c07a4a5cb2569845: Bug 1646266 - MarkerOptions - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:35:21 +0000 - rev 547137
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - MarkerOptions - r=gregtatum A `MarkerOptions` must be constructed from a MarkerCategory, e.g.: `mozilla::baseprofiler::category::OTHER`. This will be required for all markers. `MarkerOptions` also contains defaulted `MarkerThreadId`, `MarkerTiming`, `MarkerStack`, and `MarkerInnerWindowId`. They may be set by calling `WithOptions()` on the MarkerCategory, e.g.: `PROFILER_MARKER<...>("name", OTHER.WithOptions(MarkerThreadId(otherThread), MarkerStack::Capture()), ...);` Differential Revision: https://phabricator.services.mozilla.com/D87249
3c1f350a07d5b5b8be1a2ccb67d7c6f5f9380f52: Bug 1646266 - Marker option: MarkerInnerWindowId - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:34:58 +0000 - rev 547136
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - Marker option: MarkerInnerWindowId - r=gregtatum This option can take an inner window id. Differential Revision: https://phabricator.services.mozilla.com/D87248
d091750b1b14f386673f4f12bcce70ced54c6626: Bug 1646266 - Marker option: MarkerStack - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:34:40 +0000 - rev 547135
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - Marker option: MarkerStack - r=gregtatum This marker option allows three cases: - By default, no stacks are captured. - The caller can request a stack capture, and the add-marker code will take care of it in the most efficient way. - The caller can still provide an existing backtrace, for cases where a marker reports something that happened elsewhere. Differential Revision: https://phabricator.services.mozilla.com/D87247
de4d9ab1a6e1175f2248771c633532bb2ac13d2e: Bug 1646266 - Rework backtrace-capture functions - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:34:17 +0000 - rev 547134
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - Rework backtrace-capture functions - r=gregtatum `profiler_capture_backtrace(ProfileChunkedBuffer&)` renamed to `profiler_capture_backtrace_into(ProfileChunkedBuffer&)` (notice "_into"), which is clearer. New function `profiler_capture_backtrace()` creates a buffer, uses `profiler_capture_backtrace_into()`, and returns a `UniquePtr<ProfileChunkedBuffer>`, which can later be given to `MarkerStack::TakeBacktrace`. `profiler_get_backtrace()` (returning a `UniqueProfilerBacktrace`) now uses `profiler_capture_backtrace()`. This patch reduces most duplicate code between these functions. Differential Revision: https://phabricator.services.mozilla.com/D88280
9eff1a8c358ea29bfeb84a8c97fb9f30fc454f1a: Bug 1646266 - ProfileChunkedBuffer::IsEmpty() and Serializer<ProfileChunkedBuffer*> - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:33:44 +0000 - rev 547133
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - ProfileChunkedBuffer::IsEmpty() and Serializer<ProfileChunkedBuffer*> - r=gregtatum `IsEmpty()` makes it easier for users to determine if there is anything stored in the `ProfileChunkedBuffer`. And `ProfileChunkedBuffer` can now be serialized from a raw pointer, which will be useful when adding markers with an optional stack. Deserialization should be done to a `UniquePtr<ProfileChunkedBuffer>`, which is already implemented. Differential Revision: https://phabricator.services.mozilla.com/D87246
db3bdff5e4d79c9cff52a0095684e6d55dc501d4: Bug 1646266 - Marker option: MarkerTiming - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:33:26 +0000 - rev 547132
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - Marker option: MarkerTiming - r=gregtatum This moves the existing MarkerTiming class introduced in bug 1640969 to the BaseProfilerMarkersPrerequesites.h header, and can be used as a marker option. Some minor clarifying changes: - `Instant()` is split into two functions: `InstantNow()` and `InstantAt(TimeStamp)`. - `Interval(TimeStamp, TimeStamp)` must be given both start and end, otherwise `IntervalUntilNowFrom(TimeStamp)` takes the start only and ends "now". Also the default construction is now reserved for internal marker usage, the private member function `IsUnspecified()` will be used by the add-marker code will replace it with `InstantNow()`. The serialization contains the phase, and only one or two timestamps as needed, to save space for non-interval timings. Differential Revision: https://phabricator.services.mozilla.com/D87245
be8fd5f6d3351c688b72ee436bf8a44aef699d71: Bug 1646266 - Marker option: MarkerThreadId - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:32:53 +0000 - rev 547131
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - Marker option: MarkerThreadId - r=gregtatum This marker option captures a given thread id. If left unspecified (by default construction) during the add-marker call, the current thread id will be used then. Differential Revision: https://phabricator.services.mozilla.com/D87244
220f96d1e3a28fce9a56dd7d0bbfb59cc4cffdfc: Bug 1646266 - Marker option: MarkerCategory - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:32:35 +0000 - rev 547130
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - Marker option: MarkerCategory - r=gregtatum The main, and only compulsory, marker option is the `MarkerCategory`, which captures the "category pair", as well as the parent category. Differential Revision: https://phabricator.services.mozilla.com/D88154
092c89f164bacf0fbd843e0c8ce9e25ac94949f1: Bug 1646266 - CorePS buffer access - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:32:13 +0000 - rev 547129
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - CorePS buffer access - r=gregtatum The upcoming profiler-specific add-marker function will need to know which `ProfileChunkedBuffer` to serialize to, `profiler_get_core_buffer()` give access to the profiler's buffer, and `CachedCoreBuffer()` keeps it stored in a function-static object. Differential Revision: https://phabricator.services.mozilla.com/D87256
ddec14555d7e500388fe8c6ff7bd781f2e4ae97a: Bug 1646266 - ProfilerString{,8,16}View - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:31:45 +0000 - rev 547128
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - ProfilerString{,8,16}View - r=gregtatum These string views are similar to `std::string_view`, but they are optimized to be serialized in the profiler buffer, and later deserialized and streamed to JSON. They accept literal strings, and keep them as unowned raw pointers and sizes. They also accept any substring reference, assuming that they will only be used as parameters during function calls, and therefore the dependent string will live during that call where these `StringView`'s are used. Internally, they also allow optional string ownership, which is only used during deserialization and streaming. This is hidden, so that users are not tempted to use potentially expensive string allocations during profiling; it's only used *after* profiling, so it's less of an impact to allocate strings then. (But it could still be optimized later on, as part of bug 1577656.) Differential Revision: https://phabricator.services.mozilla.com/D87242
8c9ceb8f8dc85e89d9129779ed34d20bf0c2710e: Bug 1646266 - ProfilerMarkers skeleton files - r=gregtatum
Gerald Squelart <gsquelart@mozilla.com> - Tue, 01 Sep 2020 01:31:17 +0000 - rev 547127
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1646266 - ProfilerMarkers skeleton files - r=gregtatum This patch introduces all new files that contain the new markers C++ API and implementation. They are mostly empty at this time, only including each other as eventually needed, and with `#ifdef MOZ_GECKO_PROFILER` guards. Rough inclusion diagram: (header <-- includer) BaseProfilerMarkerPrerequesites.h <-- ProfilerMarkerPrerequesites.h (Useful types: Input string view, marker options) ^ ^ BaseProfilerMarkerDetail.h <-- ProfilerMarkerDetail.h (Implementation details) ^ ^ BaseProfilerMarkers.h <-- ProfilerMarkers.h (Main API) ^ ^--------- ^ ^--------- BaseProfilerMarkerTypes.h | <-- ProfilerMarkerTypes.h | (Common marker types) ^ BaseProfiler.h <-- GeckoProfiler.h (Existing main profiler headers) Differential Revision: https://phabricator.services.mozilla.com/D87241
b3e160c2f1104ae303020ef5738f14dabda509c5: Bug 1585074 - Audit usage of nsIDocShellTreeItem in PendingFullscreenChangeList::Iterator::Iterator r=smaug,nika,xidorn
Alphan Chen <alchen@mozilla.com> - Tue, 01 Sep 2020 01:48:06 +0000 - rev 547126
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1585074 - Audit usage of nsIDocShellTreeItem in PendingFullscreenChangeList::Iterator::Iterator r=smaug,nika,xidorn Differential Revision: https://phabricator.services.mozilla.com/D85988
e1242e04253e6969871f10c3e38bb6cd906b2587: Bug 1659589: Remove error event listener that set to stylesheet actor. r=ochameau
Daisuke Akatsuka <daisuke@birchill.co.jp> - Tue, 01 Sep 2020 01:44:28 +0000 - rev 547125
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1659589: Remove error event listener that set to stylesheet actor. r=ochameau Depends on D87047 Differential Revision: https://phabricator.services.mozilla.com/D88531
ad6708adb4cc62da41ae9374681c784e61c1ac9a: Bug 1659589: Implement update method in stylesheets actor. r=ochameau,devtools-backward-compat-reviewers
Daisuke Akatsuka <daisuke@birchill.co.jp> - Fri, 28 Aug 2020 06:27:53 +0000 - rev 547124
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1659589: Implement update method in stylesheets actor. r=ochameau,devtools-backward-compat-reviewers Depends on D87046 Differential Revision: https://phabricator.services.mozilla.com/D87047
e8258610951f6983a786c18f53b509622e31f38f: Bug 1659589: Implement getText in stylesheets actor. r=ochameau,devtools-backward-compat-reviewers
Daisuke Akatsuka <daisuke@birchill.co.jp> - Fri, 28 Aug 2020 06:07:33 +0000 - rev 547123
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1659589: Implement getText in stylesheets actor. r=ochameau,devtools-backward-compat-reviewers Depends on D87044 Differential Revision: https://phabricator.services.mozilla.com/D87045
bc075afd9fdf228987b0f628300a5536edd02561: Bug 1659589: Implement toggleDisabled in stylesheets actor. r=ochameau,devtools-backward-compat-reviewers
Daisuke Akatsuka <daisuke@birchill.co.jp> - Thu, 20 Aug 2020 08:27:47 +0000 - rev 547122
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1659589: Implement toggleDisabled in stylesheets actor. r=ochameau,devtools-backward-compat-reviewers Depends on D87043 Differential Revision: https://phabricator.services.mozilla.com/D87044
bb7ec19eaf346a09e1e4a02abd15f74d6ea1f253: Backed out 20 changesets (bug 1646266) for bustages on TestBaseProfiler.cpp . CLOSED TREE
Narcis Beleuzu <nbeleuzu@mozilla.com> - Tue, 01 Sep 2020 03:31:28 +0300 - rev 547121
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Backed out 20 changesets (bug 1646266) for bustages on TestBaseProfiler.cpp . CLOSED TREE Backed out changeset 0871a6eb61bb (bug 1646266) Backed out changeset c797da0d5b1b (bug 1646266) Backed out changeset 5e8954913748 (bug 1646266) Backed out changeset 9bc0276c9260 (bug 1646266) Backed out changeset fa6a89f9eba2 (bug 1646266) Backed out changeset 9a1cd7b6c1ca (bug 1646266) Backed out changeset d193a9f84702 (bug 1646266) Backed out changeset ecfc47fc2444 (bug 1646266) Backed out changeset 7ecc9ee961b6 (bug 1646266) Backed out changeset e482a2568f27 (bug 1646266) Backed out changeset 1a17cf6e6b4d (bug 1646266) Backed out changeset 08dd6220f0dd (bug 1646266) Backed out changeset 4189499ea599 (bug 1646266) Backed out changeset df82ad015f84 (bug 1646266) Backed out changeset 1c1501cfa02b (bug 1646266) Backed out changeset 9001175e7475 (bug 1646266) Backed out changeset c25cdf173894 (bug 1646266) Backed out changeset e01bc772d669 (bug 1646266) Backed out changeset 35166588a684 (bug 1646266) Backed out changeset f05f6a52bd7e (bug 1646266)
34ee0403ab1e8dbf3b7cc943a867113f0cefc69e: Bug 1661897 - Add a test. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Tue, 01 Sep 2020 00:05:31 +0000 - rev 547120
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1661897 - Add a test. r=botond The new promiseMouseDragEvent function is an async promise-returning copy of the code in dragVerticalScrollbar. Eventually we should just make all this code using async/promise but that's for another day. Differential Revision: https://phabricator.services.mozilla.com/D88894
f83db4b41bf63803df556db29598734457c798ad: Bug 1661897 - Acknowledge pending visual scroll updates for any RSF. r=botond
Kartikaya Gupta <kgupta@mozilla.com> - Mon, 31 Aug 2020 20:34:34 +0000 - rev 547119
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1661897 - Acknowledge pending visual scroll updates for any RSF. r=botond We set pending visual scroll updates even for RSFs that are on subdocuments, so we should ensure they get acknowledged and cleared on paints. Otherwise the pending visual scroll update can get "stuck" and it affects things that depend on it, such as the drag-selection code. Differential Revision: https://phabricator.services.mozilla.com/D88893
f4a3d1132b74178459d11e42bf7104a958b69964: Bug 1662145, make form interactable when switching to page range all and fix page count for invalid ranges r=mstriemer
Emma Malysz <emalysz@mozilla.com> - Mon, 31 Aug 2020 23:48:15 +0000 - rev 547118
Push 37745 by btara@mozilla.com at Tue, 01 Sep 2020 09:45:42 +0000
Bug 1662145, make form interactable when switching to page range all and fix page count for invalid ranges r=mstriemer Differential Revision: https://phabricator.services.mozilla.com/D88879
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 tip