CachedSVGDocument.h [plain text]
#pragma once
#include "CachedResource.h"
#include "SVGDocument.h"
#include "TextResourceDecoder.h"
namespace WebCore {
class Settings;
class CachedSVGDocument final : public CachedResource {
public:
explicit CachedSVGDocument(CachedResourceRequest&&, const PAL::SessionID&, const CookieJar*, const Settings&);
explicit CachedSVGDocument(CachedResourceRequest&&, CachedSVGDocument&);
virtual ~CachedSVGDocument();
SVGDocument* document() const { return m_document.get(); }
private:
bool mayTryReplaceEncodedData() const override { return true; }
void setEncoding(const String&) override;
String encoding() const override;
const TextResourceDecoder* textResourceDecoder() const override { return m_decoder.get(); }
void finishLoading(SharedBuffer*, const NetworkLoadMetrics&) override;
RefPtr<SVGDocument> m_document;
RefPtr<TextResourceDecoder> m_decoder;
const Ref<const Settings> m_settings;
};
}
SPECIALIZE_TYPE_TRAITS_CACHED_RESOURCE(CachedSVGDocument, CachedResource::Type::SVGDocumentResource)