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

4305 Коммитов

Автор SHA1 Сообщение Дата
Lee Salzman 60ec99a7d2 Bug 1872087 - Share recycling across WebGL framebuffers on a single context. r=aosmond,gfx-reviewers
This was a change for bug 1872087 that somehow got lost when I was rebasing. The idea
here is that DrawTargetWebgls use a single shared WebGL context, so it makes sense for
them to share recycle texture data, much like CanvasTranslator shares recycling of
texture data for D2D. This should increase the efficiency of use-cases that create and
destroy a lot of canvases every frame and would not normally benefit from recycling.

Depends on D197375

Differential Revision: https://phabricator.services.mozilla.com/D197376
2023-12-28 20:29:58 +00:00
Norisz Fay 4d542e529c Backed out 3 changesets (bug 1872087, bug 1767344, bug 1872159) for causing gpu related leak failures CLOSED TREE
Backed out changeset 2c0ef884644c (bug 1872087)
Backed out changeset 0cf50076e7ee (bug 1872159)
Backed out changeset a4148511920c (bug 1767344)
2023-12-28 21:24:33 +02:00
Lee Salzman 64ae07c26f Bug 1872087 - Share recycling across WebGL framebuffers on a single context. r=aosmond,gfx-reviewers
This was a change for bug 1872087 that somehow got lost when I was rebasing. The idea
here is that DrawTargetWebgls use a single shared WebGL context, so it makes sense for
them to share recycle texture data, much like CanvasTranslator shares recycling of
texture data for D2D. This should increase the efficiency of use-cases that create and
destroy a lot of canvases every frame and would not normally benefit from recycling.

Depends on D197375

Differential Revision: https://phabricator.services.mozilla.com/D197376
2023-12-28 16:31:07 +00:00
Lee Salzman 322f03f420 Bug 1872087 - Share recycled texture data across remote texture owners on a single client. r=sotaro,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D197324
2023-12-27 14:56:24 +00:00
Andrew Osmond 484b8d4e39 Bug 1871613 - Ensure CanvasDrawEventRecorder releases external surface dependencies. r=gfx-reviewers,lsalzman
This patch makes CanvasDrawEventRecorder track what eventCount we
recorded an external surface reference. When the reader has increment
its processedCount above that, we will release our reference as it
should have acquired a strong reference to the data. This was previously
done when we forwarded the texture, but with remote textures, we no
longer have this event. Now we check when we start a new recording, or
attempt to clear cached resources.

Differential Revision: https://phabricator.services.mozilla.com/D197216
2023-12-23 01:34:31 +00:00
Tom Schuster ff2bc9c19b Bug 1713619 - Exempt chrome/resource (incl PDF.js) principals from canvas randomization/placeholders. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D197149
2023-12-22 13:38:39 +00:00
Lee Salzman 2755ca2726 Bug 1871467 - Use RemoteTextureMap for D2D canvas. r=aosmond CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D197101
2023-12-22 04:58:15 +00:00
Natalia Csoregi f885d9e42d Backed out 3 changesets (bug 1871467) for causing reftest failures on transformations-1.html. CLOSED TREE
Backed out changeset 1b02448b1e9b (bug 1871467)
Backed out changeset 0fd0c31a5140 (bug 1871467)
Backed out changeset a1c8e8621bdd (bug 1871467)
2023-12-22 10:12:28 +02:00
Lee Salzman f3ffc78271 Bug 1871467 - Use RemoteTextureMap for D2D canvas. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D197101
2023-12-22 04:58:15 +00:00
Andrew Osmond 458224e190 Bug 1870957 - Part 4. Refactor canvas shutdown to be synchronized with CanvasManagerChild. r=lsalzman
Because we cannot control the ordering of shutdown notification from
WorkerRef, we need to choose one centralized point to begin shutdown of
the main thread or the owning DOM worker. Since there are other objects
owned by CanvasManagerChild, we also switch to a ThreadSafeWorkerRef.

Differential Revision: https://phabricator.services.mozilla.com/D195120
2023-12-20 13:01:19 +00:00
Noemi Erli 7b97e142d0 Backed out 12 changesets (bug 1795296, bug 1855742) as requested by aosmond a=backout
Backed out changeset 05b607c3bbe6 (bug 1795296)
Backed out changeset 7704291111b4 (bug 1855742)
Backed out changeset db60743295fb (bug 1855742)
Backed out changeset 8ed51e7d1c98 (bug 1855742)
Backed out changeset 40cba2c51b1c (bug 1855742)
Backed out changeset d4bfe15c07ec (bug 1855742)
Backed out changeset 2061271c53e8 (bug 1855742)
Backed out changeset 5b2a89a61f7f (bug 1855742)
Backed out changeset 2028c7018977 (bug 1855742)
Backed out changeset 13e806495fb8 (bug 1855742)
Backed out changeset 4bfa0d4913a2 (bug 1855742)
Backed out changeset 711b3f47e380 (bug 1855742)
2023-12-19 17:25:55 +02:00
Andrew Osmond 13cc2c3b57 Bug 1855742 - Part 11. Allow recording based canvases with OffscreenCanvas. r=gfx-reviewers,lsalzman
It is disabled in this patch via the gfx.canvas.remote.allow-offscreen
pref. A follow up patch will enable this by default.

Differential Revision: https://phabricator.services.mozilla.com/D189532
2023-12-19 05:10:35 +00:00
Andrew Osmond 80532714b0 Bug 1855742 - Part 8. Make OffscreenCanvas use PersistentBufferProvider on the display pipeline. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D195124
2023-12-19 05:10:34 +00:00
Andrew Osmond 696dee1a1a Bug 1855742 - Part 5. Refactor canvas shutdown to be synchronized with CanvasManagerChild. r=lsalzman
Because we cannot control the ordering of shutdown notification from
WorkerRef, we need to choose one centralized point to begin shutdown of
the main thread or the owning DOM worker. Since there are other objects
owned by CanvasManagerChild, we also switch to a ThreadSafeWorkerRef.

Differential Revision: https://phabricator.services.mozilla.com/D195120
2023-12-19 05:10:33 +00:00
Lee Salzman 3a265d3692 Bug 1829026 - Optimize circle drawing in DrawTargetWebgl. r=aosmond
Chartjs heavily relies on circle drawing, which dispatches to the FillCircle and
StrokeCircle hooks in DrawTarget. These need to be implemented in DrawTargetWebgl.

Differential Revision: https://phabricator.services.mozilla.com/D194353
2023-12-18 18:10:47 +00:00
Lee Salzman 5b34ab7937 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-18 18:10:46 +00:00
Lee Salzman 46b4579090 Bug 1829026 - Support using DrawTargetWebgl via remote canvas. r=aosmond
This mostly restructures DrawTargetWebgl to no longer rely upon ClientWebGLContext.
Instead, it must directly interact with WebGLContext which requires some noisy changes
of the GL rendering API used.

In addition, this restructures SharedContextWebgl so that it can be explicitly
allocated and further DrawTargetWebgls can be allocated that feed off of it.

This is all towards the ultimate goal of relying on remote canvas infrastructure for
remoting instead.

Differential Revision: https://phabricator.services.mozilla.com/D194351
2023-12-18 18:10:46 +00:00
Lee Salzman f88c86a77e Bug 1829026 - Allow WebGLContext::PushRemoteTexture to specify an explicit pid. r=aosmond
Since we're not using WebGL remoting, we no longer have direct knowledge of the pid across
the IPDL gap inside WebGLContext. This must be explicitly passed in.

Differential Revision: https://phabricator.services.mozilla.com/D194348
2023-12-18 18:10:45 +00:00
Lee Salzman a3b440d279 Bug 1829026 - Allow WebGLContext to work without a host or client wrapper. r=jgilbert,aosmond
DrawTargetWebgl will use WebGLContext in a direct, non-networked capacity. Currently
there are only a few places WebGLContext actually checks for a host context, and those
are easily stubbed our or made conditional.

Differential Revision: https://phabricator.services.mozilla.com/D194347
2023-12-18 18:10:45 +00:00
Lee Salzman 2215011b5e Bug 1829026 - Remove unused ClientWebGLContext local extensions. r=jgilbert,aosmond
DrawTargetWebgl is transitioning away from using ClientWebGLContext, so
local extensions that were added to support that use-case are no longer necessary.

Differential Revision: https://phabricator.services.mozilla.com/D194346
2023-12-18 18:10:44 +00:00
Andrew Osmond 9850d508cd Bug 1664063 - Ensure we consistently handle all errors from IDXGIKeyedMutex::AcquireSync. r=gfx-reviewers,lsalzman
When we call IDXGIKeyedMutex::AcquireSync, we need to check for a
general failure, WAIT_ABANDONED and WAIT_TIMEOUT. The last two are
special because Microsoft's SUCCEEDED and FAILED macros consider them
successful.

Differential Revision: https://phabricator.services.mozilla.com/D196668
2023-12-18 16:41:54 +00:00
Nicolas Silva 1e78d7a947 Bug 1862039 - Pref webgl_gl_khr_no_error off on Linux. r=gfx-reviewers,jgilbert,jrmuizel
Ideally we'd check whether we are using mesa, but we have to make the decision before creating the context and need the latter to know whether mesa is involved.

Differential Revision: https://phabricator.services.mozilla.com/D193053
2023-12-14 07:52:11 +00:00
Butkovits Atila fcac574890 Merge autoland to mozilla-central. a=merge 2023-12-13 23:40:45 +02:00
Sebastian Hengst 4d6a5b9742 Backed out 10 changesets (bug 1829026) for causing bug 1869760 and bug 1869738. a=backout
Backed out changeset 4c619422efe5 (bug 1829026)
Backed out changeset 77da89c7dab7 (bug 1829026)
Backed out changeset 19d28d8f75a4 (bug 1829026)
Backed out changeset 674b60ba54b1 (bug 1829026)
Backed out changeset 31935f164ef0 (bug 1829026)
Backed out changeset 13c9bf69085f (bug 1829026)
Backed out changeset 330a6732fc0b (bug 1829026)
Backed out changeset 974c08a3791b (bug 1829026)
Backed out changeset 3ba040642ddc (bug 1829026)
Backed out changeset 9d9b3a68858c (bug 1829026)
2023-12-13 19:20:00 +01:00
Tom Schuster 375c65e422 Bug 1856732 - WebExtensions should not be subject to random canvas noise for fingerprint resistance. r=timhuang,gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D195239
2023-12-13 11:33:25 +00:00
Lee Salzman e00cccd240 Bug 1829026 - Optimize circle drawing in DrawTargetWebgl. r=aosmond
Chartjs heavily relies on circle drawing, which dispatches to the FillCircle and
StrokeCircle hooks in DrawTarget. These need to be implemented in DrawTargetWebgl.

Differential Revision: https://phabricator.services.mozilla.com/D194353
2023-12-12 07:35:03 +00:00
Lee Salzman 0978159170 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-12 07:35:03 +00:00
Lee Salzman 7f9ab71be1 Bug 1829026 - Support using DrawTargetWebgl via remote canvas. r=aosmond
This mostly restructures DrawTargetWebgl to no longer rely upon ClientWebGLContext.
Instead, it must directly interact with WebGLContext which requires some noisy changes
of the GL rendering API used.

In addition, this restructures SharedContextWebgl so that it can be explicitly
allocated and further DrawTargetWebgls can be allocated that feed off of it.

This is all towards the ultimate goal of relying on remote canvas infrastructure for
remoting instead.

Differential Revision: https://phabricator.services.mozilla.com/D194351
2023-12-12 07:35:02 +00:00
Lee Salzman cf3beedd47 Bug 1829026 - Allow WebGLContext::PushRemoteTexture to specify an explicit pid. r=aosmond
Since we're not using WebGL remoting, we no longer have direct knowledge of the pid across
the IPDL gap inside WebGLContext. This must be explicitly passed in.

Differential Revision: https://phabricator.services.mozilla.com/D194348
2023-12-12 07:35:01 +00:00
Lee Salzman 2b9ebd56de Bug 1829026 - Allow WebGLContext to work without a host or client wrapper. r=jgilbert,aosmond
DrawTargetWebgl will use WebGLContext in a direct, non-networked capacity. Currently
there are only a few places WebGLContext actually checks for a host context, and those
are easily stubbed our or made conditional.

Differential Revision: https://phabricator.services.mozilla.com/D194347
2023-12-12 07:35:01 +00:00
Lee Salzman a2f06c0392 Bug 1829026 - Remove unused ClientWebGLContext local extensions. r=jgilbert,aosmond
DrawTargetWebgl is transitioning away from using ClientWebGLContext, so
local extensions that were added to support that use-case are no longer necessary.

Differential Revision: https://phabricator.services.mozilla.com/D194346
2023-12-12 07:35:01 +00:00
Stanca Serban 1cc99991d8 Backed out changeset ad72b273da7f (bug 1856732) for causing bc failures in browser_canvas_randomization.js. CLOSED TREE 2023-12-08 16:52:18 +02:00
Tom Schuster 20cc3bf2c1 Bug 1856732 - WebExtensions should not be subject to random canvas noise for fingerprint resistance. r=timhuang,gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D195239
2023-12-08 10:56:37 +00:00
Andrew Osmond ec51df1bde Bug 1868397 - Make WebGL use VideoBridge to avoid copies with GPUVideoImage. r=jgilbert
This patch makes it so that WebGL that runs in the compositor process
can take advantage of the fact that GPUVideoImage should have an already
created TextureHost between the compositor process and the producing
utility process. For software decoders, this will allow us to avoid a
copy into a shmem from the utility process, and another copy into a
shmem to the compositor process.

Differential Revision: https://phabricator.services.mozilla.com/D195559
2023-12-06 19:31:32 +00:00
Joel Maher c993099c60 Bug 1865385 - remove win7/win-aarch64 annotations from reftest manifests. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D193995
2023-12-05 21:49:04 +00:00
Cosmin Sabou 6f5d4853e5 Backed out 8 changesets (bug 1829026) for causing several mochitest failures. CLOSED TREE
Backed out changeset 790ba6aa65e4 (bug 1829026)
Backed out changeset 2ff1f5f41380 (bug 1829026)
Backed out changeset de6ddf5eb2a7 (bug 1829026)
Backed out changeset 773e7b31ac6e (bug 1829026)
Backed out changeset e09602ab096d (bug 1829026)
Backed out changeset fe16d4ac1049 (bug 1829026)
Backed out changeset c0fe0aea86c2 (bug 1829026)
Backed out changeset 53d6f69055f1 (bug 1829026)
2023-12-05 16:08:36 +02:00
Lee Salzman 84a2fea0ae Bug 1829026 - Optimize circle drawing in DrawTargetWebgl. r=aosmond
Chartjs heavily relies on circle drawing, which dispatches to the FillCircle and
StrokeCircle hooks in DrawTarget. These need to be implemented in DrawTargetWebgl.

Differential Revision: https://phabricator.services.mozilla.com/D194353
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 c78f8f5830 Bug 1829026 - Support using DrawTargetWebgl via remote canvas. r=aosmond
This mostly restructures DrawTargetWebgl to no longer rely upon ClientWebGLContext.
Instead, it must directly interact with WebGLContext which requires some noisy changes
of the GL rendering API used.

In addition, this restructures SharedContextWebgl so that it can be explicitly
allocated and further DrawTargetWebgls can be allocated that feed off of it.

This is all towards the ultimate goal of relying on remote canvas infrastructure for
remoting instead.

Differential Revision: https://phabricator.services.mozilla.com/D194351
2023-12-05 09:37:03 +00:00
Lee Salzman a08ee8c8d1 Bug 1829026 - Allow WebGLContext::PushRemoteTexture to specify an explicit pid. r=aosmond
Since we're not using WebGL remoting, we no longer have direct knowledge of the pid across
the IPDL gap inside WebGLContext. This must be explicitly passed in.

Differential Revision: https://phabricator.services.mozilla.com/D194348
2023-12-05 09:37:02 +00:00
Lee Salzman 22df6189e9 Bug 1829026 - Allow WebGLContext to work without a host or client wrapper. r=jgilbert,aosmond
DrawTargetWebgl will use WebGLContext in a direct, non-networked capacity. Currently
there are only a few places WebGLContext actually checks for a host context, and those
are easily stubbed our or made conditional.

Differential Revision: https://phabricator.services.mozilla.com/D194347
2023-12-05 09:37:02 +00:00
Lee Salzman c14ed2a57d Bug 1829026 - Remove unused ClientWebGLContext local extensions. r=jgilbert,aosmond
DrawTargetWebgl is transitioning away from using ClientWebGLContext, so
local extensions that were added to support that use-case are no longer necessary.

Differential Revision: https://phabricator.services.mozilla.com/D194346
2023-12-05 09:37:01 +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
Emilio Cobos Álvarez 3bd4909e7a Bug 1867854 - Remove some no-longer-exposed colors from test_bug232227.html.
MANUAL PUSH: Trivial orange fix CLOSED TREE
2023-12-03 13:20:33 +01:00
Emilio Cobos Álvarez 3d97c216b7 Bug 1867854 - Hide some macOS system colors from content. r=jwatt
Mostly drive-by. Hide macOS specific colors from content, and also the native
hyperlinktext color, which isn't and shouldn't be used from CSS at all.

Differential Revision: https://phabricator.services.mozilla.com/D195296
2023-12-03 10:52:14 +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
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
Kelsey Gilbert 41ab84efb9 Bug 1864988 - Don't call CreateDataSourceSurfaceByCloning on null. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D194936
2023-11-29 01:27:36 +00:00
Peter Van der Beken e3989e26b1 Bug 1866220 - Force UniquePtr<…> return type for functions called from bindings for things marked as NewObject and returning a non-refcounted object. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D194468
2023-11-24 10:38:18 +00:00