CompositorParent* MetroWidget::NewCompositorParent(int aSurfaceWidth, int aSurfaceHeight) { CompositorParent *compositor = nsBaseWidget::NewCompositorParent(aSurfaceWidth, aSurfaceHeight); if (ShouldUseAPZC()) { mRootLayerTreeId = compositor->RootLayerTreeId(); mController = new APZController(); mController->SetWidgetListener(mWidgetListener); CompositorParent::SetControllerForLayerTree(mRootLayerTreeId, mController); APZController::sAPZC = CompositorParent::GetAPZCTreeManager(compositor->RootLayerTreeId()); APZController::sAPZC->SetDPI(GetDPI()); nsresult rv; nsCOMPtr<nsIObserverService> observerService = do_GetService("@mozilla.org/observer-service;1", &rv); if (NS_SUCCEEDED(rv)) { observerService->AddObserver(this, "apzc-scroll-offset-changed", false); observerService->AddObserver(this, "Metro:ZoomToRect", false); } } return compositor; }
CompositorParent* MetroWidget::NewCompositorParent(int aSurfaceWidth, int aSurfaceHeight) { CompositorParent *compositor = nsBaseWidget::NewCompositorParent(aSurfaceWidth, aSurfaceHeight); if (ShouldUseAPZC()) { CompositorParent::SetControllerForLayerTree(compositor->RootLayerTreeId(), this); MetroWidget::sAPZC = CompositorParent::GetAPZCTreeManager(compositor->RootLayerTreeId()); } return compositor; }