Bug 224650
| Summary: | Web Inspector: audit for re-entrancy issues with `initialLayout` and `layout` | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Devin Rousso <hi> |
| Component: | Web Inspector | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | hi, inspector-bugzilla-changes, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=224648 https://bugs.webkit.org/show_bug.cgi?id=224678 |
||
Devin Rousso
It appears that it's possible for re-entrancy issues in the `WI.View` system since the `_didInitialLayout` flag isn't set until _after_ `initialLayout` returns, meaning that if the logic inside `initialLayout` triggers a synchronous `layout` then that second `layout` won't know that it's already in the middle of an `initialLayout`.
As an example, showing the `WI.GraphicsOverviewContentView` in `WI.GraphicsTabContentView.prototype.initialLayout` causes the navigation sidebar to be shown, which forces a synchronous `layout` from handling `WI.Sidebar.Event.WidthDidChange`.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/76745432>