TEST_F(FrameFetchContextTest, SetIsExternalRequestForPrivateDocument)
{
    document->setAddressSpace(WebAddressSpacePrivate);
    EXPECT_EQ(WebAddressSpacePrivate, document->addressSpace());

    struct TestCase {
        const char* url;
        bool isExternalExpectation;
    } cases[] = {
        { "data:text/html,whatever", false },
        { "file:///etc/passwd", false },
        { "blob:http://example.com/", false },

        { "http://example.com/", false },
        { "https://example.com/", false },

        { "http://192.168.1.1:8000/", false },
        { "http://10.1.1.1:8000/", false },

        { "http://localhost/", true },
        { "http://127.0.0.1/", true },
        { "http://127.0.0.1:8000/", true }
    };
    RuntimeEnabledFeatures::setCorsRFC1918Enabled(false);
    for (const auto& test : cases) {
        SCOPED_TRACE(test.url);
        ResourceRequest mainRequest(test.url);
        fetchContext->addAdditionalRequestHeaders(mainRequest, FetchMainResource);
        EXPECT_FALSE(mainRequest.isExternalRequest());

        ResourceRequest subRequest(test.url);
        fetchContext->addAdditionalRequestHeaders(subRequest, FetchSubresource);
        EXPECT_FALSE(subRequest.isExternalRequest());
    }

    RuntimeEnabledFeatures::setCorsRFC1918Enabled(true);
    for (const auto& test : cases) {
        SCOPED_TRACE(test.url);
        ResourceRequest mainRequest(test.url);
        fetchContext->addAdditionalRequestHeaders(mainRequest, FetchMainResource);
        EXPECT_EQ(mainRequest.isExternalRequest(), test.isExternalExpectation);

        ResourceRequest subRequest(test.url);
        fetchContext->addAdditionalRequestHeaders(subRequest, FetchSubresource);
        EXPECT_EQ(subRequest.isExternalRequest(), test.isExternalExpectation);
    }
}
Esempio n. 2
0
void remote_pvd_pwrcli::cyclic( co_procom *pcom)
{
  // Get any message
  receive( pcom);

  // Get subscribed values
  subRequest( pcom);

}