Commit Graph

678211 Commits

Author SHA1 Message Date
Harry Twyford
a9891da4c8 Bug 1589826 - Remove the megabar's "focused & collapsed" state. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D49824

--HG--
extra : moz-landing-system : lando
2019-11-05 15:21:29 +00:00
Harry Twyford
baac927898 Bug 1592268 - Make the permanent search icon a bookmarks doorhanger anchor. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D51814

--HG--
extra : moz-landing-system : lando
2019-11-05 16:28:13 +00:00
Harry Twyford
a0b4536ac3 Bug 1593665 - Increase font-weight of highlighted URLs and titles in the Megabar. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D51816

--HG--
extra : moz-landing-system : lando
2019-11-05 16:16:28 +00:00
Brian Grinstead
7be32e6d1b Bug 1587142 - Remove XBL tests in layout/ r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D50651

--HG--
extra : moz-landing-system : lando
2019-11-05 20:45:28 +00:00
Dzmitry Malyshau
9ac41ecccf Bug 1575008 - WebGPU implementation basis r=webidl,baku
This change vendors `wgpu` library in-tree and hooks up the initialization bits. It implements adapter and device initialization and adds a simple test.

Current status:
  - [x] Architecture
    - [x] figure out the IPC story
    - [ ] move wgpu crates into a dedicated folder (let's follow up with this)
  - [x] Review
    - [x] WebIDL changes by DOM peers
  - [x] Linux
    - [x] avoid depending on spirv_cross - https://github.com/gfx-rs/wgpu/pull/371
  - [x] macOS
    - [x] due to cross-compiling shaders - https://github.com/gfx-rs/gfx/pull/3047
    - [x] need the dependency update
    - [x] stop using gcc - https://github.com/SSheldon/rust-objc-exception/pull/5
    - [x] unexpected SSL header collision - https://phabricator.services.mozilla.com/D51148
    - [x] undefined Metal symbols
    - [x] missing webrtc headers for IPDL magic - https://phabricator.services.mozilla.com/D51558
  - [x] Windows
    - [x] due to "ipc-channel" not supporting Windows yet - https://github.com/servo/ipc-channel/pull/233~~
    - [x] due to some exceptional stuff - https://github.com/grovesNL/spirv_cross/issues/121
    - [x] undefined symbol: `D3D12CreateDevice`
    - [x] d3d12.dll is not found, dxgi1_4 doesn't present
    - [x] d3d11.dll and dxgi.dll need to be explicitly loaded on win32 mingw - https://github.com/gfx-rs/gfx/pull/3076
    - [x] libbacktrace fails to link on win32 mingw
    - [x] cc mislinking C++ standard library - https://github.com/alexcrichton/cc-rs/pull/455
  - [x] Android
    - [x] spirv-cross fails to build - https://github.com/KhronosGroup/SPIRV-Cross/pull/1193

Update-1:
We decided to go with IPDL mechanism instead of Rust based ipc-channel (or any alternatives), which unblocks Windows build.

Update-2:
It appears that WebGPUThreading isn't needed any more as the child thread (and its event loop) is now managed by IPDL infrastructure. This PR removes it 🎉 .

Update-3:
InstanceProvider is also removed.

Update-4:
All set, the try is green, waiting for dependent changes to go in.

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

--HG--
rename : dom/webgpu/Adapter.cpp => dom/webgpu/ipc/WebGPUTypes.h
rename : third_party/rust/arrayvec/.cargo-checksum.json => third_party/rust/arrayvec-0.4.11/.cargo-checksum.json
rename : third_party/rust/arrayvec/Cargo.toml => third_party/rust/arrayvec-0.4.11/Cargo.toml
rename : third_party/rust/arrayvec/README.rst => third_party/rust/arrayvec-0.4.11/README.rst
rename : third_party/rust/arrayvec/benches/extend.rs => third_party/rust/arrayvec-0.4.11/benches/extend.rs
rename : third_party/rust/arrayvec/build.rs => third_party/rust/arrayvec-0.4.11/build.rs
rename : third_party/rust/arrayvec/src/array.rs => third_party/rust/arrayvec-0.4.11/src/array.rs
rename : third_party/rust/arrayvec/src/array_string.rs => third_party/rust/arrayvec-0.4.11/src/array_string.rs
rename : third_party/rust/arrayvec/src/char.rs => third_party/rust/arrayvec-0.4.11/src/char.rs
rename : third_party/rust/arrayvec/src/lib.rs => third_party/rust/arrayvec-0.4.11/src/lib.rs
rename : third_party/rust/arrayvec/src/maybe_uninit.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_nodrop.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_nodrop.rs
rename : third_party/rust/arrayvec/src/maybe_uninit_stable.rs => third_party/rust/arrayvec-0.4.11/src/maybe_uninit_stable.rs
rename : third_party/rust/arrayvec/src/range.rs => third_party/rust/arrayvec-0.4.11/src/range.rs
rename : third_party/rust/arrayvec/tests/serde.rs => third_party/rust/arrayvec-0.4.11/tests/serde.rs
rename : third_party/rust/arrayvec/tests/tests.rs => third_party/rust/arrayvec-0.4.11/tests/tests.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/atom/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/cocoa/Cargo.toml
rename : third_party/rust/core-graphics/src/lib.rs => third_party/rust/cocoa/src/lib.rs
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/colorful/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/range-alloc/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/shared_library/Cargo.toml
rename : third_party/rust/core-graphics/Cargo.toml => third_party/rust/x11/Cargo.toml
extra : moz-landing-system : lando
2019-11-05 19:51:15 +00:00
Yoshi Cheng-Hao Huang
2795fb4e1e Bug 1593975 - update linearWeakMarkingDisabled_ to MainThreadOrGCTaskData. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D51810

--HG--
extra : moz-landing-system : lando
2019-11-05 17:32:34 +00:00
Valentin Gosu
fc552d572c Bug 1594055 - Update telemetry email for ex-necko people r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D51851

--HG--
extra : moz-landing-system : lando
2019-11-05 20:09:42 +00:00
Andreas Pehrson
199b843bd7 Bug 1588055 - Remove use of nsAutoPtr in MediaPipeline. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D49239

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:59 +00:00
Andreas Pehrson
13a4cca896 Bug 1588055 - Fix MediaPipeline static-analysis warnings and make RefPtr passing consistent. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D48957

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:52 +00:00
Andreas Pehrson
18c4e9ab29 Bug 1212237 - Use a content principal by default for received tracks. r=bwc
This swaps things around so that received tracks in peer connections have a
content principal instead of a null principal initially.

This puts an extra requirement on us to not output any frames under the content
principal after ALPN has been negotiated with requested privacy, but before this
private principal has been signaled to the MediaPipelines. The private principal
is signaled from the STS thread, via the main thread, whereas media is consumed
directly by MediaPipelines after being received on the STS thread.

This patch adds an extra signaling path directly from the STS thread that tells
MediaPipelines to make their PrincipalHandle private, and to ignore any data
until the private PrincipalHandle is set. It also moves the responsibility of
updating the principal of the received MediaStreamTracks from TransceiverImpl
to MediaPipeline, so it's all in the same path.

This lets all MediaStream and MediaStreamTrack APIs consume received tracks
directly after getting exposed to JS without errors. In case privacy is later
requested, consumers that have already been set up must handle this on the fly.
(They do, in specs and impls)

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

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:45 +00:00
Andreas Pehrson
0b04e39974 Bug 1212237 - s/nsIEventTarget/nsISerialEventTarget/ in media/webrtc. r=bwc
nsISerialEventTarget is more semantically accurate for these uses, as the
dispatched runnables cannot run in parallel. It also allows us to use
InvokeAsync in future patches, as that function only takes nsISerialEventTarget.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:29 +00:00
Andreas Pehrson
b009f6cd63 Bug 1212237 - Be explicit about principals for received tracks. r=bwc
This patch fixes two things:
1) A potential threading issue in setting and reading the PrincipalHandle for
   MediaPipelineReceiveVideo.
2) Plumbs the PrincipalHandle down to the receiving MediaPipelines right from
   the start. It hasn't been necessary in the past as initially the principal
   handed to a track's constructor is trusted, but it's good form and will help
   clarify the situation for the next patch which switches the initial
   principal from always-private to mostly-non-private. In most cases this
   principal does no longer get updated after the track's been created, so it
   helps to have a PrincipalHandle that matches the track's principal.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:15 +00:00
Andreas Pehrson
d817feca61 Bug 1212237 - Use MediaRecorder to test peerIdentity track isolation. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D48945

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:08 +00:00
Andreas Pehrson
2cc34450a1 Bug 1212237 - Add mochitest to test that freshly received tracks are not isolated. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D48944

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:00 +00:00
Brindusan Cristian
b135033275 Backed out 2 changesets (bug 1576733) for android build bustages on OSFileConstants.cpp. CLOSED TREE
Backed out changeset 12df7898b0ee (bug 1576733)
Backed out changeset 4ab691bf4228 (bug 1576733)
2019-11-05 21:50:12 +02:00
Ricky Stewart
0bc04914ab Bug 1582195 - Provide a job to build lucetc r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D51716

--HG--
extra : moz-landing-system : lando
2019-11-05 16:30:24 +00:00
alaskanemily
43cc243866 Bug 1588017 - Clean up nsIFrame::IntrinsicISizeOffsetData r=TYLin,dholbert
Update the comments, name, and fields to show it is agnostic of isize/bsize.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:52:03 +00:00
Dragana Damjanovic
1d1cb3bdf1 Bug 1593810 - Mark a Http3Stream DONE when nsHttpTransaction has picked up the FIN/RESET signal. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D51707

--HG--
extra : moz-landing-system : lando
2019-11-05 18:59:23 +00:00
Dragana Damjanovic
2c84ed6710 Bug 1593446 - Neqo do not reset individual streams any more, we must clean them up in necko. r=mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D51705

--HG--
extra : moz-landing-system : lando
2019-11-05 18:59:35 +00:00
Markus Stange
c0cdef1454 Bug 1592739 - Stop using the vibrant region as the transparent region. r=mattwoodrow
This code was assuming that the only non-opaque parts of compositor rendering would be the
parts of the window that had vibrancy. But now that the default window background is transparent,
we can have non-vibrant parts where we render into transparency. Dialog windows such as sheet
windows are an example of this.
So instead of using the non-vibrant region of the window as its opaque region, we now use
the region that is covered by opaque Gecko layers. This region is a lot more conservative:
For example, the main browser chrome is now entirely transparent, because the chrome's opaque
parts share a layer with its transparent parts.
As a result, this change slightly affects the CALayer partitioning in the main browser window:
The entire browser chrome is now transparent, not just the tab bar.
The web content area is still opaque.

I think this will be fine. The thing I'm most concerned about is that scrolling inside web
content might cause invalidations of pixels from the chrome, because then we'd recomposite
the CALayers that cover the vibrant tab bar. This doesn't seem to happen most of the time
though, from what I can tell.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 19:04:14 +00:00
Markus Stange
4ea9aa8435 Bug 1592739 - Make the sidebar non-vibrant when any lwtheme is in use. r=ntim
This is needed because under the new vibrancy model, vibrant -moz-appearance
values only work on elements that have nothing rendered behind them. The elements
with the vibrant appearance become truly transparent.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:48:49 +00:00
Markus Stange
80992e260c Bug 1592739 - Stop clearing the background behind vibrant -moz-appearance items. r=mattwoodrow
Now that there is no Gecko-contributed background color in the window any more,
there's nothing that needs to be cleared away. This simplifies things.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:48:29 +00:00
Markus Stange
7bb6e93a25 Bug 1592739 - Remove vibrancy code for sheet windows. r=spohl
With -moz-appearance: dialog now always being transparent, setting up our own
vibrant views for sheet windows is no longer necessary. We now let the regular
sheet window background show through, and that background is already vibrant.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:48:15 +00:00
Markus Stange
41d42f6f41 Bug 1592739 - Make -moz-appearance: dialog render nothing. r=spohl
The window background will be contributed by the widget itself, which renders
them underneath Gecko's rendering.
As a result, -moz-appearance: dialog is now equivalent to the combination
-moz-appearance: none; background-color: transparent.

This change does not turn the widget itself transparent because nsCocoaWindow
does not allow top level windows to become transparent (ever since bug 1162649).
If we ever add support for top level widgets with transparent backgrounds again,
we will probably want to treat -moz-appearance: dialog differently from
-moz-appearance: none; background-color: transparent, but for now this is fine.

This change means that Gecko's rendering will go into transparent buffers. This
may result in some loss of subpixel AA in various cases.
In the main browser window, there are CSS backgound colors that cover all the
non-vibrant areas of the window, so in that window we still render mostly onto
opaque pixels.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:48:00 +00:00
Markus Stange
1e79827721 Bug 1592739 - Style the browser window's root element with -moz-appearance: dialog on macOS (which is the default). r=ntim
This is preferable over a hardcoded color because it lets Gecko choose where the
window background should come from. We would like the background to be handled
by the OS widget, and prevent Gecko from painting a CSS background color.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:47:44 +00:00
Markus Stange
a3e9f03c73 Bug 1592739 - Ignore the background-color CSS value on the window document's root element if that element has a -moz-appearance. r=tnikkel
For regular elements, whenever -moz-appearance is used, the CSS background is
ignored. Root elements were behaving specially, and the background color also
needed to be adjusted.
For example, for Windows 7, we have the following CSS rule;

```
    :root {
      background-color: transparent;
      -moz-appearance: -moz-win-borderless-glass;
    }
```

This change makes the root element more consistent with other elements, so the
extra `background-color: transparent` declaration is no longer necessary.

This change does not let content documents opt out of forced opaqueness:
Root content documents still get an opaque background color from an existing
check further down in this method.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:47:30 +00:00
Markus Stange
4c8859d2b4 Bug 1592739 - Make nsChildView::WidgetPaintsBackground() return true. r=tnikkel
On macOS, the OS window always comes with an opaque background for top level
windows. This is the case even if Gecko determines the root element of the
window to be transparent: Ever since bug 1162649, nsChildView/nsCocoaWindow
ignore calls to SetTransparencyMode for top level windows and always stay opaque.

Returning true from nsChildView::WidgetPaintsBackground() lets us indicate that
we do not need an opaque backstop color to be added at the bottom of the display
list. This backstop color would interfere with vibrant -moz-appearance rendering
under the new vibrancy model.
WidgetPaintsBackground() is only called in one place, in ComputeBackstopColor():

```
nscolor PresShell::ComputeBackstopColor(nsView* aDisplayRoot) {
  nsIWidget* widget = aDisplayRoot->GetWidget();
  if (widget && (widget->GetTransparencyMode() != eTransparencyOpaque ||
                 widget->WidgetPaintsBackground())) {
    // Within a transparent widget, so the backstop color must be
    // totally transparent.
    return NS_RGBA(0, 0, 0, 0);
  }
  // Within an opaque widget (or no widget at all), so the backstop
  // color must be totally opaque. The user's default background
  // as reported by the prescontext is guaranteed to be opaque.
  return GetDefaultBackgroundColorToDraw();
}
```

On Windows 7, the widget returns eTransparencyBorderlessGlass from
GetTransparencyMode(), which also avoids the backstop color.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:47:21 +00:00
Markus Stange
691e7d64a1 Bug 1593339 - Remove now-unused vibrancy fill color methods. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D51457

--HG--
extra : moz-landing-system : lando
2019-11-05 18:47:17 +00:00
Markus Stange
5586cc9eca Bug 1593339 - Stop drawing vibrancy background colors. r=spohl
Drawing vibrancy fill colors was necessary in the past because we were erasing
the fill color that was drawn by the system, through our override of the
drawRect method of our NSVisualEffectView subclass.

However, starting with changeset be263e3d8bdfc0b6c072ffad2736999b9652d036
(from bug 1491445), we no longer override drawRect. Moreover, since the switch
to Core Animation, there is no way to clear the system's vibrancy fill drawing.

So we don't need to draw the vibrancy fill color any more. In fact, we should
stop drawing it, because now we're double-drawing it.
The fill color is very translucent so the double-drawing is not visually obvious.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:59:36 +00:00
Markus Stange
e8d0a3ca81 Bug 1593325 - Use NextSurfaceAsDrawTarget in nsChildView. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D50876

--HG--
extra : moz-landing-system : lando
2019-11-05 18:59:36 +00:00
Haik Aftandilian
2ee559082e Bug 1576733 - Part 2 - Remove the Hardened Runtime AppleEvent entitlement r=spohl
Revert bug 1570581 by removing the AppleEvent entitlement from our hardened runtime configuration for both production and development.

Now that native messaging helpers are started 'disclaimed' with a new attribution chain, the entitlement is not needed.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 17:42:09 +00:00
Haik Aftandilian
f5d3bff1d3 Bug 1576733 - Part 1 - Launch native messaging helper applications with the "disclaim" posix_spawn attribute r=kmag
On macOS, launch native messaging helper apps with a new "Transparency, Consent, and Control" (TCC) attribution chain using the undocumented disclaim posix_spawn attribute.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 17:50:37 +00:00
Geoff Brown
7467b22f8f Bug 1584040 - Allow assertions in outline-in-frameset.xhtml crashtest; r=dbaron
Accept assertions to avoid intermittent test failures due to assertion count mismatches.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 19:19:59 +00:00
Erica Wright
3f15d7f302 Bug 1593974 - remove top border from celebration button r=nhnt11
Differential Revision: https://phabricator.services.mozilla.com/D51887

--HG--
extra : moz-landing-system : lando
2019-11-05 18:47:13 +00:00
Narcis Beleuzu
a36c38a36a Backed out changeset 5d1f3e0160fa (bug 1592718) for BC failures on debugger.js . CLOSED TREE 2019-11-05 21:23:22 +02:00
Edwin Takahashi
9497983d61 Bug 1592855 - run mach vendor rust with python3 r=froydnj
Changes:
- use regular strings instead of byte strings when matching
- encode files in UTF-8 prior to hashing

Depends on D51414

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:56:21 +00:00
Edwin Takahashi
c6e2eb6f8e Bug 1592855 - run mach vendor dav1d with python3 r=ahal
Changes:
- change `urlparse` import to `urllib.parse` to make switch over to python3

Depends on D51414

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

--HG--
extra : moz-landing-system : lando
2019-11-05 15:28:21 +00:00
Nihanth Subramanya
4ba289a597 Bug 1593984 - Set -moz-appearance: none on the milestone toolbarbutton. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D51886

--HG--
extra : moz-landing-system : lando
2019-11-05 18:20:12 +00:00
Julian Descottes
ef1bf374d0 Bug 1594023 - Log actorIDs instead of js objects in DevTools target-list r=ochameau
Depends on D51630

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:26:49 +00:00
Brian Grinstead
cd409fbd97 Bug 1594123 - Fix lookup of toolbarbutton-icon in TabsList r=mconley
document.getAnonymousElementByAttribute is dead code now, and even when it wasn't this would
have returned null ever since <toolbarbutton> stopped using XBL.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 18:22:38 +00:00
Jon Coppeard
ba3386ca9b Bug 1594061 - Make FinalizationGroups work correctly when called from a different realm r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D51856

--HG--
extra : moz-landing-system : lando
2019-11-05 18:12:09 +00:00
Jon Coppeard
72de7c7261 Bug 1593260 - Don't use remove_if for sweeping GCVector as the predicate can modify the elements r=anba
Differential Revision: https://phabricator.services.mozilla.com/D51786

--HG--
extra : moz-landing-system : lando
2019-11-05 15:42:19 +00:00
Edwin Takahashi
9a7b0768dc Bug 1592855 - run mach vendor aom with python3 r=dminor
Changes:
- update sections of `generate_sources_mozbuild.py` and `cmakeparser.py` to be python3 compatible
- change import of `urlparse` to be python3 compatible

Depends on D51414

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

--HG--
extra : moz-landing-system : lando
2019-11-04 20:31:43 +00:00
Edwin Takahashi
b66e852ab2 Bug 1592855 - run mach vendor python with python3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D51414

--HG--
extra : moz-landing-system : lando
2019-11-05 15:29:44 +00:00
Brian Grinstead
55642eb095 Bug 1594110 - Remove unused searchPrefsLink UI Tour target r=mak
Differential Revision: https://phabricator.services.mozilla.com/D51741

--HG--
extra : moz-landing-system : lando
2019-11-05 18:03:57 +00:00
Miko Mynttinen
9b72daa6e2 Bug 1554499 - Store WebRenderAnimationData using display item type as key r=jrmuizel
Depends on D50186

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

--HG--
extra : moz-landing-system : lando
2019-11-05 15:10:40 +00:00
Miko Mynttinen
f8659a8bef Bug 1554499 - Remove member variables that were previously only used to calculate per frame index r=mattwoodrow
Depends on D50185

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

--HG--
extra : moz-landing-system : lando
2019-11-05 15:10:20 +00:00
Miko Mynttinen
a131671571 Bug 1554499 - Add missing CalculatePerFrameIndex implementations r=mattwoodrow
Depends on D37804

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

--HG--
extra : moz-landing-system : lando
2019-11-05 15:09:53 +00:00
Alexis Beingessner
86bd968ca8 Bug 1554499 - Rename PerFrameKey -> PerFrameIndex for most methods r=mattwoodrow
This distinguishes better between the overloaded aspect of the PerFrameKey and the
actual mixed value.

Depends on D37803

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

--HG--
extra : moz-landing-system : lando
2019-11-05 15:09:04 +00:00
Alexis Beingessner
ffcc426ce5 Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow
This static method is assumed to have the same signature as the type's constructor,
and so we must have an implementation of ComputePerFrameKey for each constructor
a display item provides that is called by MakeDisplayItem. Notably this excludes
the MakeClone constructor for a lot of items.

There is a default varargs implementation on nsDisplayItem which everyone
inherits by default, so types which previously didn't overload this method
still don't need to.

Providing an implementation of ComputePerFrameKey on some display item type
shadows the varargs implementation, so one doesn't need to worry about overloading
one constructor but forgetting about another -- if you do, the compiler will only
see the overload and complain that the signature doesn't match.

One slightly annoying result of this is that display items which previously
inherited an overloaded implementation from a superclass now must provide
their own manual implementations. Although as far as I could tell, all of
those cases had a trivial implementation of key=0 (the super class supported
custom keys but the subclasses didn't make use of it).

In those cases I just hardcoded key=0, but it's possible that it would be
better to call into the superclass' implementation to be more robust to changes.

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

--HG--
extra : moz-landing-system : lando
2019-11-05 15:08:53 +00:00