void handleAcceptClientHintsHeader(const String& headerValue, ClientHintsPreferences& preferences)
{
    if (RuntimeEnabledFeatures::clientHintsEnabled()) {
        CommaDelimitedHeaderSet acceptCH;
        parseCommaDelimitedHeader(headerValue, acceptCH);
        if (acceptCH.contains("dpr"))
            preferences.setShouldSendDPR(true);
        if (acceptCH.contains("rw"))
            preferences.setShouldSendRW(true);
    }
}
TEST_F(FrameFetchContextHintsTest, MonitorBothHints)
{
    expectHeader("http://www.example.com/1.gif", "DPR", false, "");
    expectHeader("http://www.example.com/1.gif", "RW", false, "");

    ClientHintsPreferences preferences;
    preferences.setShouldSendDPR(true);
    preferences.setShouldSendRW(true);
    document->setClientHintsPreferences(preferences);
    expectHeader("http://www.example.com/1.gif", "DPR", true, "1");
    expectHeader("http://www.example.com/1.gif", "RW", true, "500");
}
TEST_F(FrameFetchContextHintsTest, MonitorRWHints)
{
    expectHeader("http://www.example.com/1.gif", "RW", false, "");
    ClientHintsPreferences preferences;
    preferences.setShouldSendRW(true);
    document->setClientHintsPreferences(preferences);
    expectHeader("http://www.example.com/1.gif", "RW", true, "500");
    dummyPageHolder->frameView().setLayoutSizeFixedToFrameSize(false);
    dummyPageHolder->frameView().setLayoutSize(IntSize(800, 800));
    expectHeader("http://www.example.com/1.gif", "RW", true, "800");
    expectHeader("http://www.example.com/1.gif", "DPR", false, "");
}