Commit Graph

654115 Commits

Author SHA1 Message Date
Barret Rennie
8923589429 Bug 1551735 - Clearly document the case of the RendererOGL receiving a new WebRenderCompositionRecorder while it has one r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32356

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:52 +00:00
Barret Rennie
d9cb9952d0 Bug 1551735 - Record compositions in Web Render r=kats
Now that we have a suitable composition recorder infrastructure, it is just a
matter of plumbing the `WebRenderCompositionRecorder` from the
`CompositorBridgeParent` to the `RenderThread` to start recording frames.

Differential Revision: https://phabricator.services.mozilla.com/D32234

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:39 +00:00
Barret Rennie
f5ab9bc353 Bug 1551735 - Add a thread-safe composition recorder for WebRender r=kvark,kats
Since WebRender does its rendering on a separate thread from the compositor
thread, we need a composition recorder that can be shared between threads.

Differential Revision: https://phabricator.services.mozilla.com/D32231

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:24 +00:00
Barret Rennie
b526a32af7 Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-31 00:31:05 +00:00
Barret Rennie
ba01dca1d6 Bug 1551735 - Add a mode to the AsyncScreenshotGrabber to enable composition recording r=kvark
The AsyncScreenshotGrabber now can operate in two modes:

* `ProfilerScreenshots`, which does asynchronous scaling of the captured frames
  for inclusion in profiles by the Gecko Profiler; and
* `CompositionRecorder`, which does not do any scaling and is used for visual
  metrics computations.

The latter mode is exposed by on the `Renderer` via the `record_frame`,
`map_recorded_frame`, and `release_composition_recorder_structures` methods.

A different handle type (`RecordedFrameHandle`) is returned and consumed by
these functions, but they translate between `RecordedFrameHandle` and
`AsyncScreenshotHandle` when communicating with the underlying
`AsyncScreenshotGrabber`.

I considered making the `AsyncScreenshotGrabber` generic over its handle type,
but the extra cost of monomorphization just to change the handle type did not
seem worth it.

Differential Revision: https://phabricator.services.mozilla.com/D32232

--HG--
extra : moz-landing-system : lando
2019-05-31 00:30:52 +00:00
Barret Rennie
5c8de993e0 Bug 1551735 - Split out screenshot grabbing infrasturcture into a new module r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32523

--HG--
extra : moz-landing-system : lando
2019-05-31 00:30:37 +00:00
Barret Rennie
fc26f28fc6 Bug 1551735 - Ref count and document CompositionRecorder r=kats
The CompositionRecorder was being stored as a UniquePtr on the
CompositorBridgeParent, but was then passed to and stored on the LayerManger as
a raw pointer. This has been updated to use a RefPtr.

Differential Revision: https://phabricator.services.mozilla.com/D32230

--HG--
extra : moz-landing-system : lando
2019-05-31 00:30:24 +00:00
Ting-Yu Lin
55c5622538 Bug 1555823 - Remove bug 1323652 annotations from crashtest.lists. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D33213

--HG--
extra : moz-landing-system : lando
2019-05-30 22:18:01 +00:00
Barret Rennie
1402fe2b8f Bug 1553487 - Do not attempt to instantiate RemoteWebProgressRequest with a matched list from JS r=Ehsan
The `WebProgressChild` no longer sends a `matchedList` parameter in its JSON
messages to the `RemoteWebProgress`, so it will always be undefined and trigger
a `ReferenceError`.

Differential Revision: https://phabricator.services.mozilla.com/D33202

--HG--
extra : moz-landing-system : lando
2019-05-30 20:44:35 +00:00
Barret Rennie
5bbd89905f Bug 1555379 - Record content paint times for WebRender r=kats
The WebRenderBridgeChild now records whether or not it was painting content
while sending display lists to the WebRenderBridgeParent, allowing for
composition times to be recorded for WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D32229

--HG--
extra : moz-landing-system : lando
2019-05-30 21:08:01 +00:00
Barret Rennie
67fb95c52f Bug 1555379 - Document the various CompositionPayloadTypes r=bas
Differential Revision: https://phabricator.services.mozilla.com/D33055

--HG--
extra : moz-landing-system : lando
2019-05-30 20:38:52 +00:00
Tom Prince
d02555e20e Bug 1553915: Check for mach binary before trying to use it to run python; r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D33175

--HG--
extra : moz-landing-system : lando
2019-05-30 20:20:57 +00:00
Coroiu Cristina
0c344192ae Backed out 7 changesets (bug 1551735) for build bustage at src/gfx/layers/wr/WebRenderCompositionRecorder.h on a CLOSED TREE
Backed out changeset 98e75ac2cf4f (bug 1551735)
Backed out changeset 152e3a6e5c10 (bug 1551735)
Backed out changeset 9deb5350e244 (bug 1551735)
Backed out changeset 6154bdfe6fad (bug 1551735)
Backed out changeset 4a0936bda490 (bug 1551735)
Backed out changeset a7868d694fe1 (bug 1551735)
Backed out changeset 06c8e5f7768d (bug 1551735)
2019-05-31 00:05:00 +03:00
Steve Fink
9097b58779 Bug 1167452 - Implement a mark queue to control marking order during testing r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31957

--HG--
extra : moz-landing-system : lando
2019-05-30 20:34:42 +00:00
Steve Fink
1334ce153c Bug 1167452 - Make a Cell::isMarked(color) utility function. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31956

--HG--
extra : moz-landing-system : lando
2019-05-30 20:34:19 +00:00
Steve Fink
373f99f380 Bug 1167452 - Split mark stack into black and gray. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31955

--HG--
extra : moz-landing-system : lando
2019-05-30 20:33:56 +00:00
Steve Fink
d9441f5488 Bug 1167452 - Prevent barriers from firing during tracing, rename markIteratively -> markEntries r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31954

--HG--
extra : moz-landing-system : lando
2019-05-30 20:33:30 +00:00
Steve Fink
d4af4ed928 Bug 1167452 - Split out nursery weak keys from tenured weak keys r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31953

--HG--
extra : moz-landing-system : lando
2019-05-30 20:33:12 +00:00
Steve Fink
28d00472ee Bug 1167452 - Switch weakmap marking code back from GCCellPtr to plain Cell* r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31952

--HG--
extra : moz-landing-system : lando
2019-05-30 20:32:49 +00:00
Steve Fink
3cbd4b9112 Bug 1167452 - Set gcLastSweepGroupIndex earlier (debugging feature) r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D31951

--HG--
extra : moz-landing-system : lando
2019-05-30 20:32:22 +00:00
Barret Rennie
1725af146a Bug 1551735 - Clearly document the case of the RendererOGL receiving a new WebRenderCompositionRecorder while it has one r=kats
Differential Revision: https://phabricator.services.mozilla.com/D32356

--HG--
extra : moz-landing-system : lando
2019-05-30 20:19:56 +00:00
Barret Rennie
0177b781d0 Bug 1551735 - Record compositions in Web Render r=kats
Now that we have a suitable composition recorder infrastructure, it is just a
matter of plumbing the `WebRenderCompositionRecorder` from the
`CompositorBridgeParent` to the `RenderThread` to start recording frames.

Differential Revision: https://phabricator.services.mozilla.com/D32234

--HG--
extra : moz-landing-system : lando
2019-05-30 20:19:48 +00:00
Barret Rennie
6e0b85ac76 Bug 1551735 - Add a thread-safe composition recorder for WebRender r=kvark,kats
Since WebRender does its rendering on a separate thread from the compositor
thread, we need a composition recorder that can be shared between threads.

Differential Revision: https://phabricator.services.mozilla.com/D32231

--HG--
extra : moz-landing-system : lando
2019-05-30 20:32:42 +00:00
Barret Rennie
1bd07ea3f6 Bug 1551735 - Expose bindings to the Renderer's composition recorder structures r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32233

--HG--
extra : moz-landing-system : lando
2019-05-30 20:18:23 +00:00
Barret Rennie
c40786fc58 Bug 1551735 - Add a mode to the AsyncScreenshotGrabber to enable composition recording r=kvark
The AsyncScreenshotGrabber now can operate in two modes:

* `ProfilerScreenshots`, which does asynchronous scaling of the captured frames
  for inclusion in profiles by the Gecko Profiler; and
* `CompositionRecorder`, which does not do any scaling and is used for visual
  metrics computations.

The latter mode is exposed by on the `Renderer` via the `record_frame`,
`map_recorded_frame`, and `release_composition_recorder_structures` methods.

A different handle type (`RecordedFrameHandle`) is returned and consumed by
these functions, but they translate between `RecordedFrameHandle` and
`AsyncScreenshotHandle` when communicating with the underlying
`AsyncScreenshotGrabber`.

I considered making the `AsyncScreenshotGrabber` generic over its handle type,
but the extra cost of monomorphization just to change the handle type did not
seem worth it.

Differential Revision: https://phabricator.services.mozilla.com/D32232

--HG--
extra : moz-landing-system : lando
2019-05-30 20:18:09 +00:00
Barret Rennie
b5f01eed03 Bug 1551735 - Split out screenshot grabbing infrasturcture into a new module r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D32523

--HG--
extra : moz-landing-system : lando
2019-05-30 20:17:52 +00:00
Barret Rennie
76600ea0a2 Bug 1551735 - Ref count and document CompositionRecorder r=kats
The CompositionRecorder was being stored as a UniquePtr on the
CompositorBridgeParent, but was then passed to and stored on the LayerManger as
a raw pointer. This has been updated to use a RefPtr.

Differential Revision: https://phabricator.services.mozilla.com/D32230

--HG--
extra : moz-landing-system : lando
2019-05-30 20:17:39 +00:00
Rob Wood
0698f8bffe Bug 1554308 - Raptor tests on Beta are running on both opt & pgo builds r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D33177

--HG--
extra : moz-landing-system : lando
2019-05-30 19:43:41 +00:00
Tooru Fujisawa
68db989149 Bug 1553958 - Make JumpTarget.offset default value to invalid offset. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32401

--HG--
extra : moz-landing-system : lando
2019-05-30 20:24:43 +00:00
Tooru Fujisawa
7b233f0619 Bug 1545540 - Part 3: Add BytecodeOffset/BytecodeOffsetDiff type. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32400

--HG--
extra : moz-landing-system : lando
2019-05-30 20:24:35 +00:00
Tooru Fujisawa
4293fb304d Bug 1545540 - Part 2: Use delta=0 to mark the end of JumpList. r=jorendorff
Previously the end of JumpList's link is marked by `offset + delta == -1`,

BytecodeOffset class introcuced in part 3 requires the operands of `-` operator
should be valid, and that rule conflicts with above.

Changed the end marker of JumpList to `delta == 0`, that won't happen in other
case, because that points the same opcode.

Differential Revision: https://phabricator.services.mozilla.com/D33053

--HG--
extra : moz-landing-system : lando
2019-05-30 20:24:18 +00:00
Tooru Fujisawa
755998f123 Bug 1545540 - Part 1: Use BytecodeSection.lastTarget_=-1 to mark last opcode is not jump target. r=jorendorff
Previously the initial value of BytecodeSection.lastTarget_ is chosen to make
the following condition true:
  lastTargetOffset() + ptrdiff_t(JSOP_JUMPTARGET_LENGTH) == -1

BytecodeOffset class introcuced in part 3 requires the offset value to be
either -1 (invalid) or non-negative, and that rule conflicts with above.

Changed the initial value of BytecodeSection.lastTarget_ to -1 and added
the check for that condition in BytecodeSection::lastOpcodeIsJumpTarget,
so that we don't use negative value in BytecodeOffset.

Differential Revision: https://phabricator.services.mozilla.com/D33052

--HG--
extra : moz-landing-system : lando
2019-05-30 20:24:01 +00:00
Tooru Fujisawa
81744b5dd7 Bug 1545540 - Part 0: Add comments for include in some frontend files. r=jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D32399

--HG--
extra : moz-landing-system : lando
2019-05-30 20:23:41 +00:00
Connor Brewster
e68c4f61a8 Bug 1536240 - Add debug option to wrench to output specified shader source r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D33088

--HG--
extra : moz-landing-system : lando
2019-05-30 19:28:10 +00:00
Noemi Erli
02b7a9faeb Backed out 7 changesets (bug 1551735) for build bustages in RenderThread.cpp CLOSED TREE
Backed out changeset aa165d8c181d (bug 1551735)
Backed out changeset e7b857609786 (bug 1551735)
Backed out changeset f2a2396a0d4a (bug 1551735)
Backed out changeset 5891d00fca85 (bug 1551735)
Backed out changeset 2e6ca6d6c527 (bug 1551735)
Backed out changeset 3b2078f90715 (bug 1551735)
Backed out changeset a516d20303e6 (bug 1551735)
2019-05-30 23:10:21 +03:00
Jason Orendorff
176a7f69b0 Bug 1536851 - Part 2: JS_NewObjectForConstructor should fail (not crash) if not constructing. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D32536

--HG--
extra : moz-landing-system : lando
2019-05-30 19:05:23 +00:00
Jason Orendorff
116208713f Bug 1536851 - Part 1: Change JS_NewObjectForConstructor to respect new.target, like non-derived JS classes. r=jwalden
Classes defined in JS using the `class` keyword, without using `extends`,
implicitly construct a new `this` object before running the body of the
constructor, and they use `new.target.prototype` as the new object's
[[Prototype]]. This is one of the ways that JS classes support subclassing.
When the subclass calls the base class constructor, the subclass's `.prototype`
is used.

Until now, we did not do this for classes defined in C++ using
JS_NewObjectForConstructor. But there's no reason it shouldn't work the same
way. Changing this is a nicety for embedders -- there's nothing using it in
Firefox or internally right now, except for testing.

Differential Revision: https://phabricator.services.mozilla.com/D31490

--HG--
extra : moz-landing-system : lando
2019-05-30 19:05:09 +00:00
Jason Orendorff
55b527c6ac Bug 1546145 - Enable the await fix by default. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D31727

--HG--
extra : moz-landing-system : lando
2019-05-30 19:56:34 +00:00
Noemi Erli
e28515ee12 Backed out changeset 9137795c6779 (bug 1544470) for linting failure in raptor.py CLOSED TREE 2019-05-30 22:56:54 +03:00
Yury Delendik
c2d8717df1 Bug 1555518 - Fixes original stack display for wasm files, and ref to original source. r=jlast
- Fixes expandFrames() to ensure the thread property is set
- Refactors getSourceLocationFromMouseEvent to use fromEditorLine
- Replaces dwarf_to_json (for proper DWARF conversion)

Differential Revision: https://phabricator.services.mozilla.com/D33092

--HG--
extra : moz-landing-system : lando
2019-05-30 01:01:19 +00:00
Ehsan Akhgari
d74c1d4a0f Bug 1555846 - Block cookies from trackers with dynamic FPI; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D33227

--HG--
extra : moz-landing-system : lando
2019-05-31 14:33:36 +00:00
Gijs Kruitbosch
871405553f Bug 1196094 - use e10s when doing PGO profiling, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32329

--HG--
extra : moz-landing-system : lando
2019-05-31 14:18:05 +00:00
Gijs Kruitbosch
fd337bafb4 Bug 1196094 - disable _exit in child processes when generating profile information, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D33269

--HG--
extra : moz-landing-system : lando
2019-05-31 14:17:47 +00:00
John Dai
6a23fc1690 Bug 1555301 - Fix JSWindowActor.webidl comments; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D33026

--HG--
extra : moz-landing-system : lando
2019-05-31 14:32:47 +00:00
Florin Strugariu
7f53677805 Bug 1508694 Turn off talos stylo sequential threads tp6 r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D32977

--HG--
extra : moz-landing-system : lando
2019-05-31 12:47:26 +00:00
alexandru.ionescu
bddabe044f Bug 1555330 - Add p2 aarch64 to youtube playback test. r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D33006

--HG--
extra : moz-landing-system : lando
2019-05-30 23:49:18 +00:00
Emilio Cobos Álvarez
19258bfbb4 Bug 1554716 - Remove nsStyleColor moving the color property to nsStyleText. r=jfkthame
I think this is a good change regardless of other discussion in bug 1552587. If
we decide to move `mColor` to the top-level of the struct that can be done
separately.

Differential Revision: https://phabricator.services.mozilla.com/D32726

--HG--
extra : moz-landing-system : lando
2019-05-31 14:48:22 +00:00
Kartikaya Gupta
e942ea78f1 Bug 1555956 - Disable double buffering on non-Nightly. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33270

--HG--
extra : moz-landing-system : lando
2019-05-31 14:43:55 +00:00
Dorel Luca
5a3296d55a Backed out changeset 910f7703f9f3 (bug 1555846) for Build bustages. CLOSED TREE 2019-05-31 17:24:43 +03:00
Ehsan Akhgari
7a3585c49f Bug 1415270 - Part 3: Prevent the editing APIs from being called on non-HTML documents; r=masayuki
This is similar to this Chromium change:
https://codereview.chromium.org/1155353002

The editing spec doesn't mention editing non-HTML documents, and historically
this is only a feature that WebKit has supported.  Supporting this feature
increases the attack surface of the browser without a clear benefit, so it
seems like a good idea to converge on this behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D32913

--HG--
rename : testing/web-platform/tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode.html => testing/web-platform/tests/html/editing/editing-0/making-entire-documents-editable-the-designmode-idl-attribute/user-interaction-editing-designMode-xml.xml
extra : moz-landing-system : lando
2019-05-30 17:14:05 +00:00