OLD | NEW |
1 /* | 1 /* |
2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) | 2 Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de) |
3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) | 3 Copyright (C) 2001 Dirk Mueller (mueller@kde.org) |
4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) | 4 Copyright (C) 2002 Waldo Bastian (bastian@kde.org) |
5 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
6 Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
7 | 7 |
8 This library is free software; you can redistribute it and/or | 8 This library is free software; you can redistribute it and/or |
9 modify it under the terms of the GNU Library General Public | 9 modify it under the terms of the GNU Library General Public |
10 License as published by the Free Software Foundation; either | 10 License as published by the Free Software Foundation; either |
(...skipping 13 matching lines...) Expand all Loading... |
24 pages from the web. It has a memory cache for these objects. | 24 pages from the web. It has a memory cache for these objects. |
25 */ | 25 */ |
26 | 26 |
27 #include "config.h" | 27 #include "config.h" |
28 #include "CachedXSLStyleSheet.h" | 28 #include "CachedXSLStyleSheet.h" |
29 | 29 |
30 #include "CachedResourceClientWalker.h" | 30 #include "CachedResourceClientWalker.h" |
31 #include "CachedStyleSheetClient.h" | 31 #include "CachedStyleSheetClient.h" |
32 #include "SharedBuffer.h" | 32 #include "SharedBuffer.h" |
33 #include "TextResourceDecoder.h" | 33 #include "TextResourceDecoder.h" |
34 #include "WebCoreMemoryInstrumentation.h" | |
35 #include <wtf/Vector.h> | 34 #include <wtf/Vector.h> |
36 | 35 |
37 namespace WebCore { | 36 namespace WebCore { |
38 | 37 |
39 CachedXSLStyleSheet::CachedXSLStyleSheet(const ResourceRequest& resourceRequest) | 38 CachedXSLStyleSheet::CachedXSLStyleSheet(const ResourceRequest& resourceRequest) |
40 : CachedResource(resourceRequest, XSLStyleSheet) | 39 : CachedResource(resourceRequest, XSLStyleSheet) |
41 , m_decoder(TextResourceDecoder::create("text/xsl")) | 40 , m_decoder(TextResourceDecoder::create("text/xsl")) |
42 { | 41 { |
43 // It's XML we want. | 42 // It's XML we want. |
44 // FIXME: This should accept more general xml formats */*+xml, image/svg+xml
for example. | 43 // FIXME: This should accept more general xml formats */*+xml, image/svg+xml
for example. |
(...skipping 22 matching lines...) Expand all Loading... |
67 if (m_data.get()) { | 66 if (m_data.get()) { |
68 m_sheet = m_decoder->decode(m_data->data(), encodedSize()); | 67 m_sheet = m_decoder->decode(m_data->data(), encodedSize()); |
69 m_sheet.append(m_decoder->flush()); | 68 m_sheet.append(m_decoder->flush()); |
70 } | 69 } |
71 | 70 |
72 CachedResourceClientWalker<CachedStyleSheetClient> w(m_clients); | 71 CachedResourceClientWalker<CachedStyleSheetClient> w(m_clients); |
73 while (CachedStyleSheetClient* c = w.next()) | 72 while (CachedStyleSheetClient* c = w.next()) |
74 c->setXSLStyleSheet(m_resourceRequest.url(), m_response.url(), m_sheet); | 73 c->setXSLStyleSheet(m_resourceRequest.url(), m_response.url(), m_sheet); |
75 } | 74 } |
76 | 75 |
77 void CachedXSLStyleSheet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo)
const | |
78 { | |
79 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResou
rceXSLT); | |
80 CachedResource::reportMemoryUsage(memoryObjectInfo); | |
81 info.addMember(m_sheet, "sheet"); | |
82 info.addMember(m_decoder, "decoder"); | |
83 } | |
84 | |
85 } // namespace WebCore | 76 } // namespace WebCore |
OLD | NEW |