Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(781)

Unified Diff: Source/core/loader/cache/CachedDocument.cpp

Issue 15556002: Refactoring: Generalize CachedSVGDocument for non-SVG use. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Resolved the conflict. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/loader/cache/CachedDocument.h ('k') | Source/core/loader/cache/CachedResourceClient.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/loader/cache/CachedDocument.cpp
diff --git a/Source/core/loader/cache/CachedSVGDocument.cpp b/Source/core/loader/cache/CachedDocument.cpp
similarity index 68%
rename from Source/core/loader/cache/CachedSVGDocument.cpp
rename to Source/core/loader/cache/CachedDocument.cpp
index 71bf08d2ce2214283b17cf166e29423d7a90608e..ea724499c9fb54d5ba10864010752746875150b3 100644
--- a/Source/core/loader/cache/CachedSVGDocument.cpp
+++ b/Source/core/loader/cache/CachedDocument.cpp
@@ -22,50 +22,64 @@
#include "config.h"
-#include "core/loader/cache/CachedSVGDocument.h"
+#include "core/loader/cache/CachedDocument.h"
#include "core/loader/cache/CachedResourceClient.h"
#include "core/loader/cache/CachedResourceHandle.h"
#include "core/platform/SharedBuffer.h"
-#include <wtf/text/StringBuilder.h>
+#include "core/svg/SVGDocument.h"
+#include "wtf/text/StringBuilder.h"
namespace WebCore {
-CachedSVGDocument::CachedSVGDocument(const ResourceRequest& request)
- : CachedResource(request, SVGDocumentResource)
+CachedDocument::CachedDocument(const ResourceRequest& request, Type type)
+ : CachedResource(request, type)
, m_decoder(TextResourceDecoder::create("application/xml"))
{
- setAccept("image/svg+xml");
+ // FIXME: We'll support more types to support HTMLImports.
+ ASSERT(type == SVGDocumentResource);
}
-CachedSVGDocument::~CachedSVGDocument()
+CachedDocument::~CachedDocument()
{
}
-void CachedSVGDocument::setEncoding(const String& chs)
+void CachedDocument::setEncoding(const String& chs)
{
m_decoder->setEncoding(chs, TextResourceDecoder::EncodingFromHTTPHeader);
}
-String CachedSVGDocument::encoding() const
+String CachedDocument::encoding() const
{
return m_decoder->encoding().name();
}
-void CachedSVGDocument::checkNotify()
+void CachedDocument::checkNotify()
{
if (m_data) {
StringBuilder decodedText;
decodedText.append(m_decoder->decode(m_data->data(), m_data->size()));
decodedText.append(m_decoder->flush());
// We don't need to create a new frame because the new document belongs to the parent UseElement.
- m_document = SVGDocument::create(0, response().url());
+ m_document = createDocument(response().url());
m_document->setContent(decodedText.toString());
}
CachedResource::checkNotify();
}
-void CachedSVGDocument::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+PassRefPtr<Document> CachedDocument::createDocument(const KURL& url)
+{
+ switch (type()) {
+ case SVGDocumentResource:
+ return SVGDocument::create(0, url);
+ default:
+ // FIXME: We'll add more types to support HTMLImports.
+ ASSERT_NOT_REACHED();
+ return 0;
+ }
+}
+
+void CachedDocument::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceSVG);
CachedResource::reportMemoryUsage(memoryObjectInfo);
« no previous file with comments | « Source/core/loader/cache/CachedDocument.h ('k') | Source/core/loader/cache/CachedResourceClient.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698