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

45744 Коммитов

Автор SHA1 Сообщение Дата
Lee Salzman 1e18317694 Bug 1829026 - Implement DrawShadow in DrawTargetRecording. r=aosmond
DrawTargetWebgl relies upon DrawShadow for shadow performance. This was never
implemented in DrawTargetRecording, which this patch rectifies.

Differential Revision: https://phabricator.services.mozilla.com/D194354
2023-12-05 09:37:04 +00:00
Lee Salzman ada9a43cc2 Bug 1829026 - Update CanvasTranslator to work with DrawTargetWebgl. r=aosmond
This adds the necessary infrastructure for CanvasTranslator to allocate DrawTargetWebgl
instead of just allocating TextureData, and to use RemoteTextureMap to handle sending
the DrawTargetWebgl frames to the compositor.

This optimizes snapshot transport to use fewer copies to and from shmems when we know
the snapshot contents can be sourced from a shmem.

This adds a blocking mechanism separate from deactivation so that existing DrawTargetWebgls
can continue processing events while denying further ones from being created in the event
that allocating further DrawTargetWebgls might cause problems, but so that we don't disrupt
canvases that are already in flight.

PersistentBufferProviderAccelerated still remains the buffer provider for the new setup,
but just allocates a single RecordedTextureData internally. Since DrawTargetWebgl already
does its own swap chain management internally, we do not want to use the multiple texture
client strategy that PersistentBufferProviderShared does.

This adds a fallback mechanism such that if DrawTargetWebgl allocation fails, a TextureData
is allocated instead that still sends results to RemoteTextureMap. This has the advantage
that we don't need to synchronously block in the content process to verify if acceleration
succeeded, as the costs of such blocking are rather extreme and we must still produce the
rendered frame to ensure the user sees the correct result if the speculative acceleration
failed. It then notifies the content process asynchronously via the refresh mechanism to
try to recreate a non-accelerated buffer provider when it is ready.

There is one additional hitch in RemoteTextureMap that we need to add a mechanism to deal
with the setup of the RemoteTextureOwner. When display list building initially needs to get
the remote texture, the RemoteTextureOwner might not exist yet. In this case, we need to add
a block to ensure we wait for that to occur so that we do not render an erroneous result.
Previously, this block was handled in ClientWebGLContext. Since that is no longer used,
the block must be reinstated somewhere else until a non-blocking mechanism for display list
building to proceed with a stub texture host wrapper can be implemented.

Currently this leaves the gfx.canvas.remote and gfx.canvas.accelerated prefs as separate
toggles rather than trying to lump everything into one mechanism. While this may be desirable
in the future, currently Direct2D remote canvas is a separate acceleration mechanism that
needs to co-exist with the WebGL acceleration, and so being able to toggle both on or off
for testing is desirable.

Differential Revision: https://phabricator.services.mozilla.com/D194352
2023-12-05 09:37:03 +00:00
Lee Salzman 4cf322976a Bug 1829026 - Allow invalidating the current TLS context on establishing TLS scope. r=aosmond
On a given thread, if there are outside users of OpenGL (such as WebRender) that don't go
through the GLContext interface to set the current context, the TLS current context value
may be incorrect. To solve this, we need to assume that on establishing some TLS scopes,
that the current context value is unreliable and invalidate it so that it gets properly
reset.

Differential Revision: https://phabricator.services.mozilla.com/D194350
2023-12-05 09:37:02 +00:00
Iulian Moraru 8af1c585c1 Backed out changeset 774b13e9f1e7 (bug 1865830) for causing mass build bustages. CLOSED TREE 2023-12-05 01:27:27 +02:00
Nicolas Silva 0a15b03add Bug 1868143 - Update `wgpu` to revision 767ac03245ee937d3dc552edc13fe7ab0a860eec. r=webgpu-reviewers,supply-chain-reviewers,ErichDonGubler
# Changelog

 * #4708 Fix max_vertex_buffers validation
   By nical in https://github.com/gfx-rs/wgpu/pull/4708
 * #4729 Remove expected failure on AMD/DX12 from msaa example
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4729
 * #4711 [naga] Add `Literal::I64`, for signed 64-bit integer literals.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4711
 * #4736 Bump serde from 1.0.192 to 1.0.193
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4736
 * #4735 [naga]: Let `TypeInner::Matrix` hold a `Scalar`, not just a width.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4735
 * #4741 [naga] Fix type error in test.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4741
 * #4742 [naga]: Make snapshot tests include paths in errors.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4742
 * #4723 Test And Normalize Vertex Behavior on All Backends
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4723
 * #4746 Skip Flaky Test
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4746
 * #4744 Ensure DeviceLostClosureC callbacks have null-terminated message strings
   By bradwerth in https://github.com/gfx-rs/wgpu/pull/4744
 * #4745 [naga wgsl-in] Test hex float suffix handling corner case.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4745
 * #4737 Make the command_encoder_clear_buffer's size an Option<BufferAddress>
   By nical in https://github.com/gfx-rs/wgpu/pull/4737
 * #4701 [naga msl-out] Emit and init `struct` member padding always
   By ErichDonGubler in https://github.com/gfx-rs/wgpu/pull/4701
 * #4701 [naga msl-out] Emit and init `struct` member padding always
   By ErichDonGubler in https://github.com/gfx-rs/wgpu/pull/4701
 * #4701 [naga msl-out] Emit and init `struct` member padding always
   By ErichDonGubler in https://github.com/gfx-rs/wgpu/pull/4701
 * #4701 [naga msl-out] Emit and init `struct` member padding always
   By ErichDonGubler in https://github.com/gfx-rs/wgpu/pull/4701
 * #4733 [naga wgsl-in] Preserve type names in `alias` declarations.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4733
 * #4734 [naga] Make compaction preserve named types, even if unused.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4734
 * #4752 Logging cleanups in device/global.rs
   By nical in https://github.com/gfx-rs/wgpu/pull/4752
 * #4753 Fix Mac Event Loop
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4753
 * #4754 wgpu-hal(vk): Add WGPU_ALLOW_NONCOMPLIANT_ADAPTER
   By i509VCB in https://github.com/gfx-rs/wgpu/pull/4754
 * #4748 Allow Tests to Expect Certain Panic or Validation Messages
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4748
 * #4756 Move to A Single Example Executable
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4756
 * #4747 [naga wgsl-in] Experimental 64-bit floating-point literals.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4747
 * #4747 [naga wgsl-in] Experimental 64-bit floating-point literals.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4747
 * #4761 [naga] Make the `example_wgsl` test build without `wgsl-in` feature.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4761
 * #4769 Conditionally lift API logging from trace to info level
   By nical in https://github.com/gfx-rs/wgpu/pull/4769
 * #4771 Downgrade some of wgpu_core's logging level from info to trace and debug
   By nical in https://github.com/gfx-rs/wgpu/pull/4771
 * #4760 Rename `ALLOW_NONCOMPLIANT_ADAPTER` to `ALLOW_UNDERLYING_NONCOMPLIANT_ADAPTER`
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4760
 * #4772 Downgrade resource lifetime management log level to trace.
   By nical in https://github.com/gfx-rs/wgpu/pull/4772
 * #4765 Revamp Examples to Match Website
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4765
 * #4774 Update examples readme files
   By roffs in https://github.com/gfx-rs/wgpu/pull/4774
 * #4781 remove_abandoned fix
   By gents83 in https://github.com/gfx-rs/wgpu/pull/4781
 * #4777 Bump web-sys to 0.3.65
   By torokati44 in https://github.com/gfx-rs/wgpu/pull/4777
 * #4780 Fixes for Skybox and All Examples
   By cwfitzgerald in https://github.com/gfx-rs/wgpu/pull/4780
 * #4782 Remove resources ONLY when needed inside wgpu and not in user land
   By gents83 in https://github.com/gfx-rs/wgpu/pull/4782
 * #4786 Don't keep a strong ref in storage for destroyed resources
   By gents83 in https://github.com/gfx-rs/wgpu/pull/4786
 * #4795 Fix Arcanization changelog
   By a1phyr in https://github.com/gfx-rs/wgpu/pull/4795
 * #4794 Delete/rename now-unused gpu.rs
   By exrook in https://github.com/gfx-rs/wgpu/pull/4794
 * #4794 Delete/rename now-unused gpu.rs
   By exrook in https://github.com/gfx-rs/wgpu/pull/4794
 * #4573 Support nv12 texture format
   By xiaopengli89 in https://github.com/gfx-rs/wgpu/pull/4573
 * #4789 Bump js-sys from 0.3.65 to 0.3.66
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4789
 * #4784 Bump winit from 0.29.3 to 0.29.4
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4784
 * #4798 Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4798
 * #4800 Bump web-sys from 0.3.65 to 0.3.66
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4800
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4743 Implement WGSL abstract types for global `const` declarations and constructor calls.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4743
 * #4799 Bump wasm-bindgen-futures from 0.4.38 to 0.4.39
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4799
 * #4796 Remove surface extent validation (and thus fix the annoying `Requested size ... is outside of the supported range` warning)
   By Wumpf in https://github.com/gfx-rs/wgpu/pull/4796
 * #4804 Add space to a comment inside make_spirv_raw
   By ComfyFluffy in https://github.com/gfx-rs/wgpu/pull/4804
 * #4803 `features`/`limits` refactors
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4803
 * #4803 `features`/`limits` refactors
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4803
 * #4803 `features`/`limits` refactors
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4803
 * #4803 `features`/`limits` refactors
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4803
 * #4803 `features`/`limits` refactors
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4803
 * #4805 [naga] Improve ConstantEvaluatorError::InvalidCastArg message.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4805
 * #4801 update deno
   By crowlKats in https://github.com/gfx-rs/wgpu/pull/4801
 * #4806 Fixes and changes to the documentation for increasing clarity
   By Blatko1 in https://github.com/gfx-rs/wgpu/pull/4806
 * #4809 [naga wgsl-in] Use a better span for errors in constructors.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4809
 * #4808 [naga wgsl-in] Drop spanless labels from front-end error messages.
   By jimblandy in https://github.com/gfx-rs/wgpu/pull/4808
 * #4822 Fix expected error message
   By teoxoy in https://github.com/gfx-rs/wgpu/pull/4822
 * #4759 Add feature float32-filterable
   By almarklein in https://github.com/gfx-rs/wgpu/pull/4759
 * #4813 Bump core-graphics-types from 0.1.2 to 0.1.3
   By dependabot[bot] in https://github.com/gfx-rs/wgpu/pull/4813

Differential Revision: https://phabricator.services.mozilla.com/D195438
2023-12-04 22:30:03 +00:00
Nicolas Silva bc39e78852 Bug 1865830 - Implement CommandEncoder.clearBuffer. r=webgpu-reviewers,webidl,emilio,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D194233
2023-12-04 22:11:21 +00:00
Iulian Moraru 95f4da1719 Backed out 8 changesets (bug 1839051) for causing assertion failures on NotificationController.cpp. CLOSED TREE
Backed out changeset 94a4c163e417 (bug 1839051)
Backed out changeset 5204b97e40bc (bug 1839051)
Backed out changeset 8443a22a399d (bug 1839051)
Backed out changeset 2ab1e27d5945 (bug 1839051)
Backed out changeset 20a850a4fd7e (bug 1839051)
Backed out changeset 658568fe9662 (bug 1839051)
Backed out changeset 82525b11a7c3 (bug 1839051)
Backed out changeset 720e6863c41a (bug 1839051)
2023-12-04 22:34:25 +02:00
Glenn Watson 6e436ebb49 Bug 1868026 - Fix compositor surface promotion with underlay + masks on translucent slices r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D195384
2023-12-04 19:09:41 +00:00
Jens Stutte c0200af50a Bug 1839051 - Use std::sort for nsTArray and deprecate NS_QuickSort. r=emilio,nika,janv,dom-storage-reviewers
Until now we used our own, well-aged C-style implementation of quick sort, based on code from 1992/93. Apart from being old (which is not bad as such), this code had some
disadvantages, namely:

- It was not typesafe and invocations could not be optimized by inlining.
- [Quick Sort](https://en.wikipedia.org/wiki/Quicksort) has a worst case performance of O(n<sup>2</sup>).
- Quick Sort can recurse deeply and thus cause stack overflows.
- On Windows, [Control Flow Guard](https://learn.microsoft.com/en-us/windows/win32/secbp/control-flow-guard) inspects any function invocation via function pointers to check if the called function was known at compile time. This comes with a [notable overhead](https://bugzilla.mozilla.org/show_bug.cgi?id=1842079) when calling the compare function repeatedly.

`std::sort` and `std::stable_sort` are preferred and have an optimal, guaranteed worst case performance.

Differential Revision: https://phabricator.services.mozilla.com/D181339
2023-12-04 18:33:39 +00:00
Sylvestre Ledru ef35fa7374 Bug 1519636 - Reformat recent changes to the Google coding style r=emilio,media-playback-reviewers,padenot
clang-format version 17.0.6 (taskcluster-QueHFUviQeyM8Y7r_d7MQQ)

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D195397
2023-12-04 10:09:36 +00:00
Hiroyuki Ikezoe d3d4a5137d Bug 1715179 - Handle `overflow: visible` case in OOP iframes. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D193755
2023-12-04 09:31:23 +00:00
Hiroyuki Ikezoe 80e4683e9e Bug 1715179 - Allow double-tap-to-zoom to zoom in contents inside OOP iframes. r=botond
Depends on D186325

Differential Revision: https://phabricator.services.mozilla.com/D186326
2023-12-04 09:31:23 +00:00
Hiroyuki Ikezoe 7f283c3839 Bug 1715179 - Propagate transform matrix and relevant zoom values to convert CSSRect/CSSPoint in OOPIF to top level content document cooords. r=botond
Depends on D186324

Differential Revision: https://phabricator.services.mozilla.com/D186325
2023-12-04 09:31:23 +00:00
Hiroyuki Ikezoe f89be3e0e6 Bug 1715179 - Propagate VisualViewport rect and the root scrollable rect and use them on the main-thread. r=botond
Depends on D186323

Differential Revision: https://phabricator.services.mozilla.com/D186324
2023-12-04 09:31:22 +00:00
Hiroyuki Ikezoe 3aa9a37a1e Bug 1715179 - Add two test cases where `touch-action:manipulation` prevents double-tap-to-zoom. r=botond
Though there's no open bugs corresponding to these test cases, there were no
test cases to make sure `touch-action:manipulation` prevents double-tap-to-zoom
on __touchscreen__ and doesn't prevent it on __touchpad__.

I've confirmed both Chrome and Safari have the same behavior on touchpad.

Differential Revision: https://phabricator.services.mozilla.com/D186321
2023-12-04 09:31:22 +00:00
Botond Ballo be52d1d4a2 Bug 1846935 - In helper_relative_scroll_smoothness, limit the duration for which samples are checked. r=hiro
During local testing, I observed the test failing because we were still
collecting samples after the animations had completed. Since we are
only synthesizing wheel events that trigger animations for a certain
duration (1500 ms), it's safer to only check samples for 1500 ms.

Differential Revision: https://phabricator.services.mozilla.com/D194019
2023-12-04 01:51:15 +00:00
Botond Ballo 2e086fbfa6 Bug 1846935 - In helper_relative_scroll_smoothness, relax the expectation on scroll offsets from strictly increasing to non-decreasing for MSD physics. r=hiro
Depends on D195351

Differential Revision: https://phabricator.services.mozilla.com/D195352
2023-12-04 01:51:14 +00:00
Botond Ballo 750a4885f8 Bug 1846935 - In APZ tests that need to slow down smooth scroll animations, slow them down with MSD physics too. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D195351
2023-12-04 01:51:14 +00:00
Botond Ballo 30b4e05998 Bug 1846935 - Run helper_relative_scroll_smoothness in both Bezier and MSD physics variants. r=hiro
Depends on D195349

Differential Revision: https://phabricator.services.mozilla.com/D195350
2023-12-04 01:51:13 +00:00
Botond Ballo 99bd89bff6 Bug 1846935 - Factor out a buildRelativeScrollSmoothnessVariants helper. r=hiro
Depends on D195348

Differential Revision: https://phabricator.services.mozilla.com/D195349
2023-12-04 01:51:13 +00:00
Botond Ballo a6c8fd0a4d Bug 1846935 - Factor out a getSmoothScrollPrefs helper. r=hiro
Depends on D195347

Differential Revision: https://phabricator.services.mozilla.com/D195348
2023-12-04 01:51:12 +00:00
Botond Ballo 516f7c2a26 Bug 1846935 - Use 'scrollend' to wait for the animation to complete in helper_mainthread_scroll_bug1662379.html. r=hiro
Depends on D193393

Differential Revision: https://phabricator.services.mozilla.com/D195347
2023-12-04 01:51:12 +00:00
Botond Ballo 4abbad51c7 Bug 1846935 - Use FuzzyEqualsCoordinate in the computation of userScrolled. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D193393
2023-12-04 01:51:12 +00:00
Sylvestre Ledru d6cea3eede Bug 1519636 - Remove nbsp in the doc r=firefox-source-docs-reviewers,geckoview-reviewers,ahal,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D194782
2023-12-03 11:01:53 +00:00
Noemi Erli a08fb1a2d8 Backed out 2 changesets (bug 1867639) for causing wrench bustages CLOSED TREE
Backed out changeset 014768de11ca (bug 1867639)
Backed out changeset 375a5bb63fa7 (bug 1867639)
2023-12-01 23:21:07 +02:00
Ben Dean-Kawamura c34d9f3c2d Bug 1867639 - Vendor in new application-services / Glean / UniFFI. r=markh,janerik,supply-chain-reviewers,mach-reviewers,ahal
Updated uniffi-bindgen-gecko-js to work with UniFFI 0.25.2:
- Use `config.toml` to list UniFFI sources.  This makes it easier to
  associate data with them, for example the `crate_name` field that's
  now required to generate the sources.
- Enable the `extern-rustbuffer` feature on `uniffi_core`
- Updated the external types fixture to work around
  https://github.com/mozilla/uniffi-rs/issues/1872

Ran mach vendor and mach cargo vet to update the Rust crates.

Differential Revision: https://phabricator.services.mozilla.com/D195163
2023-12-01 14:26:03 +00:00
Alex Jakobi 6b974d7582 Bug 1683776 - Reset focus state when adopting child tab from other window. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D191298
2023-12-01 05:50:15 +00:00
Hiroyuki Ikezoe a9d2d55848 Bug 1783681 - Make sure to sample scroll offsets on the next couple of frames if we have changes to the scroll offset. r=botond
Since bug 1675614 we can effectively handle multiple input events in a single
vsync tick.

In the cases of smooth scrolling it doesn't matter because there should be an
`mAnimation` instance, thus AsyncPanZoomController::UpdateAnimation never
returns false [1] even if the function gets called multiple times in a vsync
tick, it will ensure compositing (though every sampling time stamp in the vsync
tick is identical thus whether to sample the animated offset isn't a problem).

But in the cases of instant scrolling the function returns false on the second
and subsequent calls, it skips generating the next frame [2] on the next
composition because we don't invoke
CompositorBridgeParent::ScheduleRenderOnCompositorThread in the case where the
function returns false.

[1] https://searchfox.org/mozilla-central/rev/ffbf86ccd1f7c14346da94f39023a8f012d01983/gfx/layers/apz/src/AsyncPanZoomController.cpp#4655-4657
[2] https://searchfox.org/mozilla-central/rev/ce4599d3d4e20e34cb6db68f255c3dff1aec246b/gfx/layers/wr/WebRenderBridgeParent.cpp#2338-2341
[3] https://searchfox.org/mozilla-central/rev/ce4599d3d4e20e34cb6db68f255c3dff1aec246b/gfx/layers/apz/src/APZCTreeManager.cpp#752-755

Differential Revision: https://phabricator.services.mozilla.com/D186851
2023-12-01 02:27:44 +00:00
sotaro faaff9538c Bug 1867447 - Add workaround for video overlay's SwapChain Present() on Windows r=gfx-reviewers,lsalzman
Implement a workaround of overlay's SwapChain Present() that exists in chromium.

Differential Revision: https://phabricator.services.mozilla.com/D195073
2023-11-30 19:43:29 +00:00
Cosmin Sabou 36061c2d62 Backed out changeset 7aa58b8ef68a (bug 1655101) for causing bustages on dom/WebGLIpdl.h. CLOSED TREE 2023-11-30 21:06:53 +02:00
Kelsey Gilbert f69f941a95 Bug 1655101 - Allow webgl.texImage gpu-blit for RGB8 if supported. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D194943
2023-11-30 17:40:42 +00:00
Sandor Molnar 51f7095383 Backed out changeset 88c02f86a668 (bug 1783681) for causing Gtest failures CLOSED TREE 2023-11-30 11:12:18 +02:00
Hiroyuki Ikezoe 8f24f2aa1d Bug 1783681 - Make sure to sample scroll offsets on the next two frames in the case of keyboard instant scrolling. r=botond
Since bug 1675614 we can effectively handle multiple input events in a single
vsync tick.

In the cases of async scrolling it doesn't matter because there should be an
`mAnimation` instance, thus AsyncPanZoomController::UpdateAnimation never
returns false [1] even if the function gets called multiple times in a vsync
tick, it will ensure compositing (though every sampling time stamp in the vsync
tick is identical thus whether to sample the animated offset isn't a problem).

But in the cases of instant scrolling the function returns false on the second
and subsequent calls, it skips generating the next frame [2] on the next
composition because we don't invoke
CompositorBridgeParent::ScheduleRenderOnCompositorThread in the case where the
function returns false.

[1] https://searchfox.org/mozilla-central/rev/ffbf86ccd1f7c14346da94f39023a8f012d01983/gfx/layers/apz/src/AsyncPanZoomController.cpp#4655-4657
[2] https://searchfox.org/mozilla-central/rev/ce4599d3d4e20e34cb6db68f255c3dff1aec246b/gfx/layers/wr/WebRenderBridgeParent.cpp#2338-2341
[3] https://searchfox.org/mozilla-central/rev/ce4599d3d4e20e34cb6db68f255c3dff1aec246b/gfx/layers/apz/src/APZCTreeManager.cpp#752-755

Differential Revision: https://phabricator.services.mozilla.com/D186851
2023-11-30 07:55:13 +00:00
Ashley Hale 8c0266380b Bug 1843782 - WebGL software rendering when mesa/vmwgfx driver detected r=gfx-reviewers,bradwerth,jrmuizel,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D192039
2023-11-29 21:45:27 +00:00
sotaro c199b59dd1 Bug 1866021 - Set to MultithreadProtected during creating CompositorDevice r=gfx-reviewers,jrmuizel
Set to MultithreadProtected by gfx::DeviceManagerDx::GetImageDevice() caused a thread safe problem. MultithreadProtected needs to be set during CompositorDevice creation.

Differential Revision: https://phabricator.services.mozilla.com/D194907
2023-11-29 04:16:19 +00:00
Butkovits Atila fe1644b3dc Backed out changeset 8d11a3a0d707 (bug 1843782) for causing failures complaining about RemoteProcessMonitor . CLOSED TREE 2023-11-29 05:51:34 +02:00
Ashley Hale 5fed10025e Bug 1843782 - WebGL software rendering when mesa/vmwgfx driver detected r=gfx-reviewers,bradwerth,jrmuizel,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D192039
2023-11-29 02:15:17 +00:00
Karl Tomlinson e01e8e4950 Bug 1863846 change VideoInfo::Rotation to non-nested enum class VideoRotation so that it can be forward declared r=aosmond,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D193163
2023-11-29 01:44:45 +00:00
Stanca Serban 2b58cc84d0 Backed out 5 changesets (bug 1715179) for causing mochitests failures in test_group_double_tap_zoom-2.html. CLOSED TREE
Backed out changeset 600afc2dc0ca (bug 1715179)
Backed out changeset 75c2c7f6230e (bug 1715179)
Backed out changeset b851e0aff383 (bug 1715179)
Backed out changeset 0acfcbbdf460 (bug 1715179)
Backed out changeset b0c83c964ccf (bug 1715179)
2023-11-28 18:45:32 +02:00
Hiroyuki Ikezoe 3482b47436 Bug 1715179 - Handle `overflow: visible` case in OOP iframes. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D193755
2023-11-28 09:42:23 +00:00
Hiroyuki Ikezoe bde5e3b047 Bug 1715179 - Allow double-tap-to-zoom to zoom in contents inside OOP iframes. r=botond
Depends on D186325

Differential Revision: https://phabricator.services.mozilla.com/D186326
2023-11-28 09:42:22 +00:00
Hiroyuki Ikezoe ed4976ed3c Bug 1715179 - Propagate transform matrix and relevant zoom values to convert CSSRect/CSSPoint in OOPIF to top level content document cooords. r=botond
Depends on D186324

Differential Revision: https://phabricator.services.mozilla.com/D186325
2023-11-28 09:42:22 +00:00
Hiroyuki Ikezoe b2f944eea1 Bug 1715179 - Propagate VisualViewport rect and the root scrollable rect and use them on the main-thread. r=botond
Depends on D186323

Differential Revision: https://phabricator.services.mozilla.com/D186324
2023-11-28 09:42:21 +00:00
Hiroyuki Ikezoe 61c8e65c69 Bug 1715179 - Add two test cases where `touch-action:manipulation` prevents double-tap-to-zoom. r=botond
Though there's no open bugs corresponding to these test cases, there were no
test cases to make sure `touch-action:manipulation` prevents double-tap-to-zoom
on __touchscreen__ and doesn't prevent it on __touchpad__.

I've confirmed both Chrome and Safari have the same behavior on touchpad.

Differential Revision: https://phabricator.services.mozilla.com/D186321
2023-11-28 09:42:21 +00:00
Sandor Molnar 3b95748905 Backed out changeset c1e95a42b8d7 (bug 1843782) for causing gv-junit-fis failures. CLOSED TREE 2023-11-28 02:31:02 +02:00
Ashley Hale 5150f6a2bf Bug 1843782 - WebGL software rendering when mesa/vmwgfx driver detected r=gfx-reviewers,bradwerth,jrmuizel,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D192039
2023-11-27 23:25:14 +00:00
Brad Werth d06c9ec44b Bug 1859625 Part 4: Do feature support for OPENGL_COMPOSITING in InitOpenGLConfig. r=jgilbert
This feature needs to have defaults set before user force enables are
processed. Before this change, both ImportContentDeviceData and
InitOpenGLConfig potentially could do both defaults and user setting,
making it an error if both functions are called (in either order). This
change makes it so that InitOpenGLConfig is solely responsible for
setting defaults and user force enable for this feature. This change
prevents the content process from inheriting parent process data
available in ImportContentDeviceData, but as long as InitOpenGLConfig
fully configures the feature and makes the right decision, that doesn't
matter.

Differential Revision: https://phabricator.services.mozilla.com/D194436
2023-11-27 21:11:11 +00:00
Brad Werth cb5944eb4c Bug 1859625 Part 3: Stop sending the GetOutputColorProfileData message. r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D193139
2023-11-27 21:11:10 +00:00
Brad Werth 7ae9549693 Bug 1859625 Part 2: Stop sending the GetGraphicsDeviceInitData message. r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D192999
2023-11-27 21:11:10 +00:00
Brad Werth 8272a162fb Bug 1859625 Part 1: Stop sending the GetGfxVars message. r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D192996
2023-11-27 21:11:09 +00:00