void WebCoreSynchronousLoaderClient::willSendRequest(ResourceHandle* handle, ResourceRequest& request, const ResourceResponse& /*redirectResponse*/) { // FIXME: This needs to be fixed to follow the redirect correctly even for cross-domain requests. if (!protocolHostAndPortAreEqual(handle->firstRequest().url(), request.url())) { ASSERT(!m_error.cfError()); RetainPtr<CFErrorRef> cfError(AdoptCF, CFErrorCreate(kCFAllocatorDefault, kCFErrorDomainCFNetwork, kCFURLErrorBadServerResponse, 0)); m_error = cfError.get(); m_isDone = true; CFURLRequestRef nullRequest = 0; request = nullRequest; return; } }
ImagePtr MagickImageLoader::load(const ImageURL& url) { try { Magick::Image image; image.density(Magick::Geometry(10, 10)); image.ping(url.path()); convertImageDpi(image); image.read(url.path()); return load(image); } catch (Magick::Exception &e) { cfError() << e.what(); throw Exception("[MagickImageLoader::load] failed"); } }
ImagePtr MagickImageLoader::load(std::istream& stream) { if (stream.fail()) throw Exception("[MagickImageLoader::load] invalid stream given"); long int stream_size = streamSize(stream); if (stream_size < 1) throw Exception("[MagickImageLoader::load] empty stream given"); boost::scoped_array<char> tmp(new char[stream_size]); Magick::Blob blob; blob.updateNoCopy(tmp.get(), stream_size); try { Magick::Image image; image.density("10"); image.ping(blob); convertImageDpi(image); image.read(blob); return load(image); } catch (Magick::Exception &e) { cfError(MODULE_RDIB) << e.what(); throw Exception("[MagickImageLoader::load] failed"); } }
ResourceError::operator CFErrorRef() const { return cfError(); }