Implement the concept of "browsing context set" from the HTML specification: - https://html.spec.whatwg.org/multipage/browsers.html#browsing-context-set For example, COOP violation reporting relies on the size of this set to determine if a violation report should be sent or not: - https://html.spec.whatwg.org/multipage/origin.html#browsing-context-group-switches-due-to-cross-origin-opener-policy:coop-violation-navigation-from """ If browsingContext's group's browsing context set's size is greater than 1, then: * Queue a violation report for browsing context group switch when navigating to a COOP response with responseCOOP, "enforce", responseURL, currentCOOPEnforcementResult's url, currentCOOPEnforcementResult's origin, responseOrigin, and referrer. """ Right now, we have code in PingLoader that relies on Page::nonUtilityPageCount() instead, which is not correct.
<rdar://problem/99982953>