void CachedResource::loadFrom(const CachedResource& resource) { ASSERT(url() == resource.url()); ASSERT(type() == resource.type()); ASSERT(resource.status() == Status::Cached); if (isCrossOrigin() && m_options.mode == FetchOptions::Mode::Cors) { ASSERT(m_origin); String errorMessage; if (!WebCore::passesAccessControlCheck(resource.response(), m_options.allowCredentials, *m_origin, errorMessage)) { setResourceError(ResourceError(String(), 0, url(), errorMessage, ResourceError::Type::AccessControl)); return; } } setBodyDataFrom(resource); setStatus(Status::Cached); setLoading(false); }