Bug 1315477 - Remove some instances of static_cast'ing to ClientLayerManager. r?mattwoodrow
MozReview-Commit-ID: 2oqoOE4gZK0
--- a/layout/base/nsLayoutUtils.cpp
+++ b/layout/base/nsLayoutUtils.cpp
@@ -8224,18 +8224,18 @@ nsLayoutUtils::CalculateExpandedScrollab
}
/* static */ void
nsLayoutUtils::DoLogTestDataForPaint(LayerManager* aManager,
ViewID aScrollId,
const std::string& aKey,
const std::string& aValue)
{
- if (aManager->GetBackendType() == LayersBackend::LAYERS_CLIENT) {
- static_cast<ClientLayerManager*>(aManager)->LogTestDataForCurrentPaint(aScrollId, aKey, aValue);
+ if (ClientLayerManager* mgr = aManager->AsClientLayerManager()) {
+ mgr->LogTestDataForCurrentPaint(aScrollId, aKey, aValue);
}
}
/* static */ bool
nsLayoutUtils::IsAPZTestLoggingEnabled()
{
return gfxPrefs::APZTestLoggingEnabled();
}
--- a/widget/cocoa/nsChildView.mm
+++ b/widget/cocoa/nsChildView.mm
@@ -3995,19 +3995,18 @@ NSEvent* gLastDragMouseDownEvent = nil;
}
widgetArray.AppendElement(mGeckoChild);
nsCOMPtr<nsIRunnable> releaserRunnable =
new WidgetsReleaserRunnable(Move(widgetArray));
NS_DispatchToMainThread(releaserRunnable);
}
if ([self isUsingOpenGL]) {
- if (mGeckoChild->GetLayerManager()->GetBackendType() == LayersBackend::LAYERS_CLIENT) {
- ClientLayerManager *manager = static_cast<ClientLayerManager*>(mGeckoChild->GetLayerManager());
- manager->AsShadowForwarder()->WindowOverlayChanged();
+ if (ShadowLayerForwarder* slf = mGeckoChild->GetLayerManager()->AsShadowForwarder()) {
+ slf->WindowOverlayChanged();
}
}
mGeckoChild->WillPaintWindow();
}
[super viewWillDraw];
}
--- a/widget/gonk/nsWindow.cpp
+++ b/widget/gonk/nsWindow.cpp
@@ -618,19 +618,17 @@ nsWindow::GetDefaultScaleInternal()
LayerManager *
nsWindow::GetLayerManager(PLayerTransactionChild* aShadowManager,
LayersBackend aBackendHint,
LayerManagerPersistence aPersistence)
{
if (mLayerManager) {
// This layer manager might be used for painting outside of DoDraw(), so we need
// to set the correct rotation on it.
- if (mLayerManager->GetBackendType() == LayersBackend::LAYERS_CLIENT) {
- ClientLayerManager* manager =
- static_cast<ClientLayerManager*>(mLayerManager.get());
+ if (ClientLayerManager* manager = mLayerManager->AsClientLayerManager()) {
uint32_t rotation = mScreen->EffectiveScreenRotation();
manager->SetDefaultTargetConfiguration(mozilla::layers::BufferMode::BUFFER_NONE,
ScreenRotation(rotation));
}
return mLayerManager;
}
const nsTArray<nsWindow*>& windows = mScreen->GetTopWindows();
--- a/widget/gtk/nsWindow.cpp
+++ b/widget/gtk/nsWindow.cpp
@@ -2141,20 +2141,17 @@ nsWindow::OnExposeEvent(cairo_t *cr)
#endif
return FALSE;
}
gint scale = GdkScaleFactor();
LayoutDeviceIntRegion region = exposeRegion;
region.ScaleRoundOut(scale, scale);
- ClientLayerManager *clientLayers =
- (GetLayerManager()->GetBackendType() == LayersBackend::LAYERS_CLIENT)
- ? static_cast<ClientLayerManager*>(GetLayerManager())
- : nullptr;
+ ClientLayerManager *clientLayers = GetLayerManager()->AsClientLayerManager();
if (clientLayers && mCompositorSession) {
// We need to paint to the screen even if nothing changed, since if we
// don't have a compositing window manager, our pixels could be stale.
clientLayers->SetNeedsComposite(true);
clientLayers->SendInvalidRegion(region.ToUnknownRegion());
}