commit 5df96aec501cad8d3641d20f897c0d779f62ee77
parent 2f7a93b800baaafb829a0707c6d7c2ed3e77609e
Author: Markus Stange <mstange.moz@gmail.com>
Date: Fri, 3 Oct 2025 12:45:27 +0000
Bug 1987007 - Change type of mNativeLayers to use concrete layer class. r=bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D267148
Diffstat:
3 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/gfx/layers/NativeLayerRemoteMac.h b/gfx/layers/NativeLayerRemoteMac.h
@@ -11,7 +11,6 @@
#include "mozilla/layers/NativeLayer.h"
#include "mozilla/layers/NativeLayerCommandQueue.h"
#include "mozilla/layers/NativeLayerMacSurfaceHandler.h"
-#include "mozilla/layers/NativeLayerRootRemoteMacChild.h"
#include "nsRegion.h"
namespace mozilla {
diff --git a/gfx/layers/NativeLayerRootRemoteMacChild.h b/gfx/layers/NativeLayerRootRemoteMacChild.h
@@ -6,9 +6,9 @@
#ifndef mozilla_layers_NativeLayerRootRemoteMacChild_h
#define mozilla_layers_NativeLayerRootRemoteMacChild_h
-#include "mozilla/layers/NativeLayer.h"
#include "mozilla/layers/NativeLayerCommandQueue.h"
#include "mozilla/layers/NativeLayerRemoteChild.h"
+#include "mozilla/layers/NativeLayerRemoteMac.h"
namespace mozilla {
namespace layers {
@@ -49,7 +49,7 @@ class NativeLayerRootRemoteMacChild final : public NativeLayerRoot {
RefPtr<NativeLayerRemoteChild> mRemoteChild;
RefPtr<NativeLayerCommandQueue> mCommandQueue;
- nsTArray<RefPtr<NativeLayer>> mNativeLayers;
+ nsTArray<RefPtr<NativeLayerRemoteMac>> mNativeLayers;
NativeLayerRootSnapshotter* mWeakSnapshotter = nullptr;
bool mNativeLayersChanged = false;
diff --git a/gfx/layers/NativeLayerRootRemoteMacChild.mm b/gfx/layers/NativeLayerRootRemoteMacChild.mm
@@ -52,8 +52,8 @@ void NativeLayerRootRemoteMacChild::SetLayers(
const nsTArray<RefPtr<NativeLayer>>& aLayers) {
// We don't create a command for this, because we don't care
// about the layers until CommitToScreen().
- nsTArray<RefPtr<NativeLayer>> layers(aLayers.Length());
- for (auto& layer : aLayers) {
+ nsTArray<RefPtr<NativeLayerRemoteMac>> layers(aLayers.Length());
+ for (const auto& layer : aLayers) {
RefPtr<NativeLayerRemoteMac> layerRemoteMac =
layer->AsNativeLayerRemoteMac();
MOZ_ASSERT(layerRemoteMac);
@@ -96,11 +96,8 @@ bool NativeLayerRootRemoteMacChild::CommitToScreen() {
// Iterate our layers to get the LayerInfo and ChangedSurface commands
// into our shared command queue.
- for (auto layer : mNativeLayers) {
- RefPtr<NativeLayerRemoteMac> layerRemoteMac(
- layer->AsNativeLayerRemoteMac());
- MOZ_ASSERT(layerRemoteMac);
- layerRemoteMac->FlushDirtyLayerInfoToCommandQueue();
+ for (const auto& layer : mNativeLayers) {
+ layer->FlushDirtyLayerInfoToCommandQueue();
}
if (mNativeLayersChanged) {
@@ -108,7 +105,7 @@ bool NativeLayerRootRemoteMacChild::CommitToScreen() {
// command of this array filled with the IDs of everything
// in mNativeLayers.
nsTArray<uint64_t> setLayerIDs;
- for (auto layer : mNativeLayers) {
+ for (const auto& layer : mNativeLayers) {
auto ID = reinterpret_cast<uint64_t>(layer.get());
setLayerIDs.AppendElement(ID);
}