Bug 1721537 - Simplify nsIWidget::GetLayerManager by removing unused parameters. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D120439
This commit is contained in:
@@ -6685,29 +6685,17 @@ already_AddRefed<LayerManager> nsContentUtils::LayerManagerForContent(
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
static already_AddRefed<LayerManager> LayerManagerForDocumentInternal(
|
||||
const Document* aDoc, bool aRequirePersistent) {
|
||||
already_AddRefed<LayerManager> nsContentUtils::LayerManagerForDocument(
|
||||
const Document* aDoc) {
|
||||
nsIWidget* widget = nsContentUtils::WidgetForDocument(aDoc);
|
||||
if (widget) {
|
||||
RefPtr<LayerManager> manager = widget->GetLayerManager(
|
||||
aRequirePersistent ? nsIWidget::LAYER_MANAGER_PERSISTENT
|
||||
: nsIWidget::LAYER_MANAGER_CURRENT);
|
||||
RefPtr<LayerManager> manager = widget->GetLayerManager();
|
||||
return manager.forget();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
already_AddRefed<LayerManager> nsContentUtils::LayerManagerForDocument(
|
||||
const Document* aDoc) {
|
||||
return LayerManagerForDocumentInternal(aDoc, false);
|
||||
}
|
||||
|
||||
already_AddRefed<LayerManager>
|
||||
nsContentUtils::PersistentLayerManagerForDocument(Document* aDoc) {
|
||||
return LayerManagerForDocumentInternal(aDoc, true);
|
||||
}
|
||||
|
||||
bool nsContentUtils::AllowXULXBLForPrincipal(nsIPrincipal* aPrincipal) {
|
||||
if (!aPrincipal) {
|
||||
return false;
|
||||
|
||||
@@ -2374,23 +2374,6 @@ class nsContentUtils {
|
||||
static already_AddRefed<mozilla::layers::LayerManager> LayerManagerForContent(
|
||||
const nsIContent* aContent);
|
||||
|
||||
/**
|
||||
* Returns a layer manager to use for the given document. Basically we
|
||||
* look up the document hierarchy for the first document which has
|
||||
* a presentation with an associated widget, and use that widget's
|
||||
* layer manager. In addition to the normal layer manager lookup this will
|
||||
* specifically request a persistent layer manager. This means that the layer
|
||||
* manager is expected to remain the layer manager for the document in the
|
||||
* forseeable future. This function should be used carefully as it may change
|
||||
* the document's layer manager.
|
||||
*
|
||||
* @param aDoc the document for which to return a layer manager.
|
||||
* @param aAllowRetaining an outparam that states whether the returned
|
||||
* layer manager should be used for retained layers
|
||||
*/
|
||||
static already_AddRefed<mozilla::layers::LayerManager>
|
||||
PersistentLayerManagerForDocument(Document* aDoc);
|
||||
|
||||
/**
|
||||
* Determine whether a content node is focused or not,
|
||||
*
|
||||
|
||||
@@ -2545,8 +2545,7 @@ nsDOMWindowUtils::GetLayerManagerType(nsAString& aType) {
|
||||
nsCOMPtr<nsIWidget> widget = GetWidget();
|
||||
if (!widget) return NS_ERROR_FAILURE;
|
||||
|
||||
LayerManager* mgr =
|
||||
widget->GetLayerManager(nsIWidget::LAYER_MANAGER_PERSISTENT);
|
||||
LayerManager* mgr = widget->GetLayerManager();
|
||||
if (!mgr) return NS_ERROR_FAILURE;
|
||||
|
||||
mgr->GetBackendName(aType);
|
||||
|
||||
@@ -1418,8 +1418,7 @@ static already_AddRefed<LayerManager> LayerManagerFromCanvasElement(
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return nsContentUtils::PersistentLayerManagerForDocument(
|
||||
aCanvasElement->OwnerDoc());
|
||||
return nsContentUtils::LayerManagerForDocument(aCanvasElement->OwnerDoc());
|
||||
}
|
||||
|
||||
bool CanvasRenderingContext2D::TrySharedTarget(
|
||||
|
||||
@@ -585,9 +585,7 @@ bool PuppetWidget::GetEditCommands(NativeKeyBindingsType aType,
|
||||
return true;
|
||||
}
|
||||
|
||||
LayerManager* PuppetWidget::GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager, LayersBackend aBackendHint,
|
||||
LayerManagerPersistence aPersistence) {
|
||||
LayerManager* PuppetWidget::GetLayerManager() {
|
||||
if (!mLayerManager) {
|
||||
if (XRE_IsParentProcess()) {
|
||||
// On the parent process there is no CompositorBridgeChild which confuses
|
||||
|
||||
@@ -171,10 +171,7 @@ class PuppetWidget : public nsBaseWidget,
|
||||
return eTransparencyTransparent;
|
||||
}
|
||||
|
||||
virtual LayerManager* GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager = nullptr,
|
||||
LayersBackend aBackendHint = mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT) override;
|
||||
virtual LayerManager* GetLayerManager() override;
|
||||
|
||||
// This is used for creating remote layer managers and for re-creating
|
||||
// them after a compositor reset. The lambda aInitializeFunc is used to
|
||||
|
||||
@@ -2176,8 +2176,7 @@ nsresult nsWindow::MakeFullScreen(bool aFullScreen, nsIScreen*) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
mozilla::layers::LayerManager* nsWindow::GetLayerManager(
|
||||
PLayerTransactionChild*, LayersBackend, LayerManagerPersistence) {
|
||||
mozilla::layers::LayerManager* nsWindow::GetLayerManager() {
|
||||
if (mLayerManager) {
|
||||
return mLayerManager;
|
||||
}
|
||||
|
||||
@@ -178,10 +178,7 @@ class nsWindow final : public nsBaseWidget {
|
||||
const InputContextAction& aAction) override;
|
||||
virtual InputContext GetInputContext() override;
|
||||
|
||||
LayerManager* GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager = nullptr,
|
||||
LayersBackend aBackendHint = mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT) override;
|
||||
LayerManager* GetLayerManager() override;
|
||||
|
||||
virtual bool NeedsPaint() override;
|
||||
|
||||
|
||||
@@ -296,10 +296,7 @@ class nsCocoaWindow final : public nsBaseWidget, public nsPIWidgetCocoa {
|
||||
|
||||
virtual void Invalidate(const LayoutDeviceIntRect& aRect) override;
|
||||
virtual nsresult ConfigureChildren(const nsTArray<Configuration>& aConfigurations) override;
|
||||
virtual LayerManager* GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager = nullptr,
|
||||
LayersBackend aBackendHint = mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT) override;
|
||||
virtual LayerManager* GetLayerManager() override;
|
||||
virtual nsresult DispatchEvent(mozilla::WidgetGUIEvent* aEvent, nsEventStatus& aStatus) override;
|
||||
virtual void CaptureRollupEvents(nsIRollupListener* aListener, bool aDoCapture) override;
|
||||
[[nodiscard]] virtual nsresult GetAttention(int32_t aCycleCount) override;
|
||||
|
||||
@@ -1035,11 +1035,9 @@ nsresult nsCocoaWindow::ConfigureChildren(const nsTArray<Configuration>& aConfig
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
LayerManager* nsCocoaWindow::GetLayerManager(PLayerTransactionChild* aShadowManager,
|
||||
LayersBackend aBackendHint,
|
||||
LayerManagerPersistence aPersistence) {
|
||||
LayerManager* nsCocoaWindow::GetLayerManager() {
|
||||
if (mPopupContentView) {
|
||||
return mPopupContentView->GetLayerManager(aShadowManager, aBackendHint, aPersistence);
|
||||
return mPopupContentView->GetLayerManager();
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -8276,9 +8276,7 @@ nsresult nsWindow::BeginResizeDrag(WidgetGUIEvent* aEvent, int32_t aHorizontal,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsIWidget::LayerManager* nsWindow::GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager, LayersBackend aBackendHint,
|
||||
LayerManagerPersistence aPersistence) {
|
||||
nsIWidget::LayerManager* nsWindow::GetLayerManager() {
|
||||
if (mIsDestroyed) {
|
||||
// Prevent external code from triggering the re-creation of the
|
||||
// LayerManager/Compositor during shutdown. Just return what we currently
|
||||
@@ -8286,8 +8284,7 @@ nsIWidget::LayerManager* nsWindow::GetLayerManager(
|
||||
return mLayerManager;
|
||||
}
|
||||
|
||||
return nsBaseWidget::GetLayerManager(aShadowManager, aBackendHint,
|
||||
aPersistence);
|
||||
return nsBaseWidget::GetLayerManager();
|
||||
}
|
||||
|
||||
void nsWindow::SetCompositorWidgetDelegate(CompositorWidgetDelegate* delegate) {
|
||||
|
||||
@@ -598,10 +598,7 @@ class nsWindow final : public nsBaseWidget {
|
||||
void DispatchMissedButtonReleases(GdkEventCrossing* aGdkEvent);
|
||||
|
||||
// nsBaseWidget
|
||||
virtual LayerManager* GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager = nullptr,
|
||||
LayersBackend aBackendHint = mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT) override;
|
||||
virtual LayerManager* GetLayerManager() override;
|
||||
|
||||
void SetCompositorWidgetDelegate(CompositorWidgetDelegate* delegate) override;
|
||||
|
||||
|
||||
@@ -250,11 +250,8 @@ LayoutDeviceIntPoint HeadlessWidget::WidgetToScreenOffset() {
|
||||
return mTopLevel->GetBounds().TopLeft();
|
||||
}
|
||||
|
||||
LayerManager* HeadlessWidget::GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager, LayersBackend aBackendHint,
|
||||
LayerManagerPersistence aPersistence) {
|
||||
return nsBaseWidget::GetLayerManager(aShadowManager, aBackendHint,
|
||||
aPersistence);
|
||||
LayerManager* HeadlessWidget::GetLayerManager() {
|
||||
return nsBaseWidget::GetLayerManager();
|
||||
}
|
||||
|
||||
void HeadlessWidget::SetCompositorWidgetDelegate(
|
||||
|
||||
@@ -100,10 +100,7 @@ class HeadlessWidget : public nsBaseWidget {
|
||||
}
|
||||
virtual InputContext GetInputContext() override { return mInputContext; }
|
||||
|
||||
virtual LayerManager* GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager = nullptr,
|
||||
LayersBackend aBackendHint = mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT) override;
|
||||
virtual LayerManager* GetLayerManager() override;
|
||||
|
||||
void SetCompositorWidgetDelegate(CompositorWidgetDelegate* delegate) override;
|
||||
|
||||
|
||||
@@ -1505,9 +1505,7 @@ bool nsBaseWidget::ShouldUseOffMainThreadCompositing() {
|
||||
return gfxPlatform::UsesOffMainThreadCompositing();
|
||||
}
|
||||
|
||||
LayerManager* nsBaseWidget::GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager, LayersBackend aBackendHint,
|
||||
LayerManagerPersistence aPersistence) {
|
||||
LayerManager* nsBaseWidget::GetLayerManager() {
|
||||
if (!mLayerManager) {
|
||||
if (!mShutdownObserver) {
|
||||
// We are shutting down, do not try to re-create a LayerManager
|
||||
@@ -1515,11 +1513,6 @@ LayerManager* nsBaseWidget::GetLayerManager(
|
||||
}
|
||||
// Try to use an async compositor first, if possible
|
||||
if (ShouldUseOffMainThreadCompositing()) {
|
||||
// e10s uses the parameter to pass in the shadow manager from the
|
||||
// BrowserChild so we don't expect to see it there since this doesn't
|
||||
// support e10s.
|
||||
NS_ASSERTION(aShadowManager == nullptr,
|
||||
"Async Compositor not supported with e10s");
|
||||
CreateCompositor();
|
||||
}
|
||||
|
||||
|
||||
@@ -218,10 +218,7 @@ class nsBaseWidget : public nsIWidget, public nsSupportsWeakReference {
|
||||
nsIScreen* aScreen = nullptr) override;
|
||||
void InfallibleMakeFullScreen(bool aFullScreen, nsIScreen* aScreen = nullptr);
|
||||
|
||||
LayerManager* GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager = nullptr,
|
||||
LayersBackend aBackendHint = mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT) override;
|
||||
LayerManager* GetLayerManager() override;
|
||||
|
||||
// A remote compositor session tied to this window has been lost and IPC
|
||||
// messages will no longer work. The widget must clean up any lingering
|
||||
|
||||
@@ -1294,24 +1294,7 @@ class nsIWidget : public nsISupports {
|
||||
* Return the widget's LayerManager. The layer tree for that
|
||||
* LayerManager is what gets rendered to the widget.
|
||||
*/
|
||||
inline LayerManager* GetLayerManager() {
|
||||
return GetLayerManager(nullptr, mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
LAYER_MANAGER_CURRENT);
|
||||
}
|
||||
|
||||
inline LayerManager* GetLayerManager(LayerManagerPersistence aPersistence) {
|
||||
return GetLayerManager(nullptr, mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
aPersistence);
|
||||
}
|
||||
|
||||
/**
|
||||
* Like GetLayerManager(), but prefers creating a layer manager of
|
||||
* type |aBackendHint| instead of what would normally be created.
|
||||
* LayersBackend::LAYERS_NONE means "no hint".
|
||||
*/
|
||||
virtual LayerManager* GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager, LayersBackend aBackendHint,
|
||||
LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT) = 0;
|
||||
virtual LayerManager* GetLayerManager() = 0;
|
||||
|
||||
/**
|
||||
* Called before each layer manager transaction to allow any preparation
|
||||
|
||||
@@ -4080,9 +4080,7 @@ bool nsWindow::HasPendingInputEvent() {
|
||||
*
|
||||
**************************************************************/
|
||||
|
||||
LayerManager* nsWindow::GetLayerManager(PLayerTransactionChild* aShadowManager,
|
||||
LayersBackend aBackendHint,
|
||||
LayerManagerPersistence aPersistence) {
|
||||
LayerManager* nsWindow::GetLayerManager() {
|
||||
if (mLayerManager) {
|
||||
return mLayerManager;
|
||||
}
|
||||
@@ -4097,12 +4095,6 @@ LayerManager* nsWindow::GetLayerManager(PLayerTransactionChild* aShadowManager,
|
||||
// Try OMTC first.
|
||||
if (!mLayerManager && ShouldUseOffMainThreadCompositing()) {
|
||||
gfxWindowsPlatform::GetPlatform()->UpdateRenderMode();
|
||||
|
||||
// e10s uses the parameter to pass in the shadow manager from the
|
||||
// BrowserChild so we don't expect to see it there since this doesn't
|
||||
// support e10s.
|
||||
NS_ASSERTION(aShadowManager == nullptr,
|
||||
"Async Compositor not supported with e10s");
|
||||
CreateCompositor();
|
||||
}
|
||||
|
||||
|
||||
@@ -210,10 +210,7 @@ class nsWindow final : public nsWindowBase {
|
||||
bool aDoCapture) override;
|
||||
[[nodiscard]] virtual nsresult GetAttention(int32_t aCycleCount) override;
|
||||
virtual bool HasPendingInputEvent() override;
|
||||
virtual LayerManager* GetLayerManager(
|
||||
PLayerTransactionChild* aShadowManager = nullptr,
|
||||
LayersBackend aBackendHint = mozilla::layers::LayersBackend::LAYERS_NONE,
|
||||
LayerManagerPersistence aPersistence = LAYER_MANAGER_CURRENT) override;
|
||||
virtual LayerManager* GetLayerManager() override;
|
||||
void SetCompositorWidgetDelegate(CompositorWidgetDelegate* delegate) override;
|
||||
[[nodiscard]] virtual nsresult OnDefaultButtonLoaded(
|
||||
const LayoutDeviceIntRect& aButtonRect) override;
|
||||
|
||||
Reference in New Issue
Block a user