PassRefPtr<ResourceHandle> ResourceHandle::create(const ResourceRequest& request, ResourceHandleClient* client, Frame* frame, bool defersLoading, bool shouldContentSniff) { if (shouldContentSniff) shouldContentSniff = shouldContentSniffURL(request.url()); RefPtr<ResourceHandle> newHandle(adoptRef(new ResourceHandle(request, client, defersLoading, shouldContentSniff))); if (!request.url().isValid()) { newHandle->scheduleFailure(InvalidURLFailure); return newHandle.release(); } if (!portAllowed(request.url())) { newHandle->scheduleFailure(BlockedFailure); return newHandle.release(); } if (newHandle->start(frame)) return newHandle.release(); return 0; }
ResourceHandle::ResourceHandle(NetworkingContext* context, const ResourceRequest& request, ResourceHandleClient* client, bool defersLoading, bool shouldContentSniff) : d(adoptPtr(new ResourceHandleInternal(this, context, request, client, defersLoading, shouldContentSniff && shouldContentSniffURL(request.url())))) { if (!request.url().isValid()) { scheduleFailure(InvalidURLFailure); return; } if (!portAllowed(request.url())) { scheduleFailure(BlockedFailure); return; } }