Bug 234325

Summary: The render descendant iterator should work with const objects
Product: WebKit Reporter: Gabriel Nava Marino <gnavamarino>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 234326    

Description Gabriel Nava Marino 2021-12-14 16:11:14 PST
Currently the following code in RenderBlockFlow.cpp:
```
for (auto& block : descendantsOfType<RenderBlock>(*this))
    ...
```

Will lead to the following compile-time error:
```
./rendering/RenderIterator.h:131:12: error: no matching function for call to 'nextAncestorSibling'
    return nextAncestorSibling(current, stayWithin);
```

It was mentioned this is due to a "constness issue; const_cast makes it work. We should teach the descendant iterator to work with const objects. childrenOfType works fine so it should be relatively easy."
Comment 1 Radar WebKit Bug Importer 2021-12-21 16:12:28 PST
<rdar://problem/86787920>