<rdar://problem/50291989>
Created attachment 369857 [details] Patch
TestWTF.vcxproj -> C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\bin32\TestWTF.exe : No such file or directory at /home/buildbot/WebKit/Source/WebCore/bindings/scripts/preprocess-idls.pl line 105. Died at C:/cygwin/home/buildbot/WebKit/Source/WebCore/bindings/scripts/generate-bindings-all.pl line 85. C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006: "cmd.exe" exited with code 2. [C:\cygwin\home\buildbot\WebKit\WebKitBuild\Release\Source\WebCore\WebCoreBindings.vcxproj] It’s not clear to me how to fix this, or what’s going wrong :/ From some quick searches, it looks like this is due to a bad command line invocation during build?
Comment on attachment 369857 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=369857&action=review > Source/WebCore/rendering/RenderLayer.cpp:6812 > + layer->calculateRects({ renderViewLayer, TemporaryClipRects }, LayoutRect::infiniteRect(), layerBounds, backgroundRect, foregroundRect, layer->offsetFromAncestor(renderViewLayer)); I think this is the same as AbsoluteClipRects. I think you can just do: auto rect = layer.backgroundClipRect(RenderLayer::ClipRectsContext(rootLayer, AbsoluteClipRects)).rect(). Ideally factor this out into a lambda so it's clear you're hopping up a frame in each loop iteration.
Comment on attachment 369857 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=369857&action=review >> Source/WebCore/rendering/RenderLayer.cpp:6812 >> + layer->calculateRects({ renderViewLayer, TemporaryClipRects }, LayoutRect::infiniteRect(), layerBounds, backgroundRect, foregroundRect, layer->offsetFromAncestor(renderViewLayer)); > > I think this is the same as AbsoluteClipRects. > > I think you can just do: > > auto rect = layer.backgroundClipRect(RenderLayer::ClipRectsContext(rootLayer, AbsoluteClipRects)).rect(). > > Ideally factor this out into a lambda so it's clear you're hopping up a frame in each loop iteration. Oh nice! I'll try out backgroundClipRect, and pull this logic out into a lambda function.
(In reply to Wenson Hsieh from comment #4) > Comment on attachment 369857 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=369857&action=review > > >> Source/WebCore/rendering/RenderLayer.cpp:6812 > >> + layer->calculateRects({ renderViewLayer, TemporaryClipRects }, LayoutRect::infiniteRect(), layerBounds, backgroundRect, foregroundRect, layer->offsetFromAncestor(renderViewLayer)); > > > > I think this is the same as AbsoluteClipRects. > > > > I think you can just do: > > > > auto rect = layer.backgroundClipRect(RenderLayer::ClipRectsContext(rootLayer, AbsoluteClipRects)).rect(). > > > > Ideally factor this out into a lambda so it's clear you're hopping up a frame in each loop iteration. > > Oh nice! I'll try out backgroundClipRect, and pull this logic out into a > lambda function. After a bit of digging, RenderLayer::backgroundClipRect seems to compute clip rects for the layer's parent, rather than the layer itself (this difference is exercised in one of my test cases, hide-selection-in-empty-overflow-hidden-container.html). For the time being, I think I'll stick with the call to calculateRects.
Created attachment 369920 [details] For EWS
Comment on attachment 369920 [details] For EWS Clearing flags on attachment: 369920 Committed r245317: <https://trac.webkit.org/changeset/245317>