mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 16:22:00 +00:00
be6329111c
What goes on here is that there's a couple of unfortunate style change sequences which end up making us not do the EffectsInfo dance correctly. Twitter uses (maybe didn't use to, which would explain the regression) a visibility: hidden, out-of-flow iframe for a bit (which we correctly throttle). But then they switch to an in-flow, visible, zero-height iframe. That we should _not_ throttle. However, we end up not getting to the display list code at all, because nsBlockFrame decides that we don't need to descend into an empty line[1]. It seems less error prone to re-use the IntersectionObserver timing and computation to determine whether the iframe is visible. That completely matches in-process iframes, too. Removing the empty frame border and putting them on an empty line in dom/base/test/test_bug1639328.html is enough to reproduce the issue without this patch. [1]: https://searchfox.org/mozilla-central/rev/fe2743c6c5c708061c7f6504b26958fcc815bb4a/layout/generic/nsBlockFrame.cpp#7569-7579 Differential Revision: https://phabricator.services.mozilla.com/D207479 |
||
---|---|---|
.. | ||
AsyncImagePipelineManager.cpp | ||
AsyncImagePipelineManager.h | ||
AsyncImagePipelineOp.cpp | ||
AsyncImagePipelineOp.h | ||
ClipManager.cpp | ||
ClipManager.h | ||
DisplayItemCache.cpp | ||
DisplayItemCache.h | ||
HitTestInfoManager.cpp | ||
HitTestInfoManager.h | ||
IpcResourceUpdateQueue.cpp | ||
IpcResourceUpdateQueue.h | ||
OMTAController.cpp | ||
OMTAController.h | ||
OMTASampler.cpp | ||
OMTASampler.h | ||
RenderRootStateManager.cpp | ||
RenderRootStateManager.h | ||
RenderRootTypes.cpp | ||
RenderRootTypes.h | ||
StackingContextHelper.cpp | ||
StackingContextHelper.h | ||
WebRenderBridgeChild.cpp | ||
WebRenderBridgeChild.h | ||
WebRenderBridgeParent.cpp | ||
WebRenderBridgeParent.h | ||
WebRenderCanvasRenderer.cpp | ||
WebRenderCanvasRenderer.h | ||
WebRenderCommandBuilder.cpp | ||
WebRenderCommandBuilder.h | ||
WebRenderDrawEventRecorder.cpp | ||
WebRenderDrawEventRecorder.h | ||
WebRenderImageHost.cpp | ||
WebRenderImageHost.h | ||
WebRenderLayerManager.cpp | ||
WebRenderLayerManager.h | ||
WebRenderMessageUtils.h | ||
WebRenderScrollData.cpp | ||
WebRenderScrollData.h | ||
WebRenderScrollDataWrapper.h | ||
WebRenderTextureHost.cpp | ||
WebRenderTextureHost.h | ||
WebRenderUserData.cpp | ||
WebRenderUserData.h |