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

653836 Коммитов

Автор SHA1 Сообщение Дата
Mike Conley fe0e5c8689 Bug 1533949 - Make nsIRemoteTab.hasBeforeUnload check each OOP subframe as well. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D33158

--HG--
extra : moz-landing-system : lando
2019-05-30 19:01:29 +00:00
James Teh c4f229b2b2 Bug 1555362: Fix build bustage with --disable-accessibility (introduced in bug 1543282). r=nika
Differential Revision: https://phabricator.services.mozilla.com/D33119

--HG--
extra : moz-landing-system : lando
2019-05-30 14:49:40 +00:00
James Teh 2864ddc45b Bug 1553706: Fix IAccessible::accChild in the parent process for out-of-process iframes. r=eeejay
It must be possible to retrieve any accessible by calling IAccessible::accChild on the RootAccessible (in the parent process) with the unique id of the desired accessible.
Among other things, this is the way accessibility events are targeted on Windows.
Previously, this code only searched remote documents at the top level of the tree.
In order to support out-of-process iframes, it must now also search embedded documents at the top level of their content process.

As part of this, the MSAA id must be set for out-of-process iframe documents, just as it is for top level documents.
This was already being sent from the content process, but previously, we didn't store this in the parent process.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 00:59:53 +00:00
James Teh 381c2b2f93 Bug 1543313 part 3: For out-of-process iframes on Windows, send the embedder accessible COM proxy to be used as the parent of the embedded document. r=eeejay
Aside from the parent being needed by the client, this is also important because events from the embedded document are deferred until the parent COM proxy is received.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 06:14:24 +00:00
James Teh 2ce51b6111 Bug 1543313 part 2: Support getting an IAccessible for a ProxyAccessible in an out-of-process iframe. r=eeejay
Previously, a COM proxy was only sent from content for top level documents.
Now, a COM proxy is also sent (and needed) for out-of-process iframe documents.
This change adjusts GetProxiedAccessibleInSubtree accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 20:13:00 +00:00
James Teh 80e4370a70 Bug 1543313 part 1: Allow identification and retrieval of DocAccessibleParents at the top level of their content process. r=eeejay
DocAccessibleParent already has IsTopLevel(), which identifies a document at the top level of the hierarchy; i.e. it has no parents.
Now that we have out-of-process iframes, we need to be able to identify and retrieve documents at the top level of their content process, even if they are embedded by another remote document.
DocAccessibleParent::IsTopLevelInContentProcess() has been introduced to achieve this.
BrowserParent::GetTopLevelDocAccessible() now uses this instead of IsTopLevel(), since we want to be able to get the top DocAccessibleParent even for a BrowserParent for an out-of-process iframe.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 20:00:31 +00:00
Paul Bone b69c50a312 Bug 1555550 - Wait for nursery decommit during OOM r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33112

--HG--
extra : moz-landing-system : lando
2019-05-31 01:18:37 +00:00
Paul Bone 0e0ceca906 Bug 1555550 - Use decommitAllArenas which also updates bookkeeping r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D33111

--HG--
extra : moz-landing-system : lando
2019-05-31 01:18:33 +00:00
Paul Bone 9f31585d17 Bug 1555243 - Document decommitAllArenasWithoutUnlocking's complexity r=jonco
Also rename decommitAllArenasWithoutUnlocking to make it clear that it does
not do what decommitAllArenas does, since it only decommits free arenas.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 01:18:29 +00:00
Paul Bone 51a6a08e43 Bug 1555558 - Don't collect the nursery for finalise or decommit slices r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D33137

--HG--
extra : moz-landing-system : lando
2019-05-31 00:43:58 +00:00
Andrew Halberstadt e3250fbdb5 Bug 1555824 - Don't call MozbuildObject.substs from a MachCommandCondition r=nalexander
Invoking MozbuildObject.substs causes an exception to be raised if there is no
BuildEnvironment. This means that we hit an error on |mach help| if there is no
build, which is not ideal for people trying to learn how to build :).

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

--HG--
extra : moz-landing-system : lando
2019-05-30 21:47:56 +00:00
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