зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1472140 - 1. Set first paint flag when resuming and resizing composition; r=rbarker
When resuming composition in a new GeckoView, we wait for the first paint signal in order to uncover the SurfaceView. This patch makes sure that we always send the first paint signal. MozReview-Commit-ID: EZeOR80d8HY --HG-- extra : rebase_source : f82ab94ef87e5b0651f368918e8cd8a97469c68e
This commit is contained in:
Родитель
c80fe8b8d1
Коммит
9c55d02aa5
|
@ -74,6 +74,8 @@ UiCompositorControllerParent::RecvResumeAndResize(const int32_t& aWidth,
|
|||
{
|
||||
CompositorBridgeParent* parent = CompositorBridgeParent::GetCompositorBridgeParentFromLayersId(mRootLayerTreeId);
|
||||
if (parent) {
|
||||
// Front-end expects a first paint callback upon resume/resize.
|
||||
parent->RecvForceIsFirstPaint();
|
||||
parent->ResumeCompositionAndResize(aWidth, aHeight);
|
||||
}
|
||||
return IPC_OK();
|
||||
|
|
|
@ -208,6 +208,9 @@ public class GeckoView extends FrameLayout {
|
|||
return null;
|
||||
}
|
||||
|
||||
// Cover the view while we are not drawing to the surface.
|
||||
coverUntilFirstPaint(Color.WHITE);
|
||||
|
||||
GeckoSession session = mSession;
|
||||
mSession.releaseDisplay(mDisplay.release());
|
||||
mSession.getOverscrollEdgeEffect().setInvalidationCallback(null);
|
||||
|
|
|
@ -1264,11 +1264,6 @@ nsWindow::GeckoViewSupport::Transfer(const GeckoSession::Window::LocalRef& inst,
|
|||
[compositor = LayerSession::Compositor::GlobalRef(compositor)] {
|
||||
compositor->OnCompositorAttached();
|
||||
});
|
||||
|
||||
// Set the first-paint flag so that we refresh viewports, etc.
|
||||
if (RefPtr<CompositorBridgeChild> bridge = window.GetCompositorBridgeChild()) {
|
||||
bridge->SendForceIsFirstPaint();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Загрузка…
Ссылка в новой задаче