| Index: Source/platform/mhtml/MHTMLArchive.h
|
| diff --git a/Source/platform/mhtml/MHTMLArchive.h b/Source/platform/mhtml/MHTMLArchive.h
|
| index 7a6282101472bb85e29b27110f6f51807a5b81a6..2573f151b506dc8f8b6b20cb3b1512aab9deb70a 100644
|
| --- a/Source/platform/mhtml/MHTMLArchive.h
|
| +++ b/Source/platform/mhtml/MHTMLArchive.h
|
| @@ -31,7 +31,7 @@
|
| #ifndef MHTMLArchive_h
|
| #define MHTMLArchive_h
|
|
|
| -#include "platform/mhtml/ArchiveResource.h"
|
| +#include "platform/heap/Handle.h"
|
| #include "wtf/PassRefPtr.h"
|
| #include "wtf/RefCounted.h"
|
| #include "wtf/RefPtr.h"
|
| @@ -39,16 +39,18 @@
|
|
|
| namespace WebCore {
|
|
|
| +class ArchiveResource;
|
| class KURL;
|
| class MHTMLParser;
|
| class SharedBuffer;
|
|
|
| struct SerializedResource;
|
|
|
| -class PLATFORM_EXPORT MHTMLArchive FINAL : public RefCounted<MHTMLArchive> {
|
| +class PLATFORM_EXPORT MHTMLArchive FINAL : public RefCountedWillBeGarbageCollectedFinalized<MHTMLArchive> {
|
| public:
|
| - static PassRefPtr<MHTMLArchive> create();
|
| - static PassRefPtr<MHTMLArchive> create(const KURL&, SharedBuffer*);
|
| + static PassRefPtrWillBeRawPtr<MHTMLArchive> create();
|
| + static PassRefPtrWillBeRawPtr<MHTMLArchive> create(const KURL&, SharedBuffer*);
|
| + ~MHTMLArchive();
|
|
|
| enum EncodingPolicy {
|
| UseDefaultEncoding,
|
| @@ -58,25 +60,31 @@ public:
|
| // Binary encoding results in smaller MHTML files but they might not work in other browsers.
|
| static PassRefPtr<SharedBuffer> generateMHTMLData(const Vector<SerializedResource>&, EncodingPolicy, const String& title, const String& mimeType);
|
|
|
| - ~MHTMLArchive();
|
| + typedef WillBeHeapVector<RefPtrWillBeMember<ArchiveResource> > SubArchiveResources;
|
| + typedef WillBeHeapVector<RefPtrWillBeMember<MHTMLArchive> > SubFrameArchives;
|
| +
|
| ArchiveResource* mainResource() { return m_mainResource.get(); }
|
| - const Vector<RefPtr<ArchiveResource> >& subresources() const { return m_subresources; }
|
| - const Vector<RefPtr<MHTMLArchive> >& subframeArchives() const { return m_subframeArchives; }
|
| + const SubArchiveResources& subresources() const { return m_subresources; }
|
| + const SubFrameArchives& subframeArchives() const { return m_subframeArchives; }
|
| +
|
| + void trace(Visitor*);
|
|
|
| private:
|
| friend class MHTMLParser;
|
| MHTMLArchive();
|
|
|
| - void setMainResource(PassRefPtr<ArchiveResource> mainResource) { m_mainResource = mainResource; }
|
| - void addSubresource(PassRefPtr<ArchiveResource> subResource) { m_subresources.append(subResource); }
|
| - void addSubframeArchive(PassRefPtr<MHTMLArchive> subframeArchive) { m_subframeArchives.append(subframeArchive); }
|
| + void setMainResource(PassRefPtrWillBeRawPtr<ArchiveResource>);
|
| + void addSubresource(PassRefPtrWillBeRawPtr<ArchiveResource>);
|
| + void addSubframeArchive(PassRefPtrWillBeRawPtr<MHTMLArchive>);
|
|
|
| +#if !ENABLE(OILPAN)
|
| void clearAllSubframeArchives();
|
| - void clearAllSubframeArchivesImpl(Vector<RefPtr<MHTMLArchive> >* clearedArchives);
|
| + void clearAllSubframeArchivesImpl(SubFrameArchives* clearedArchives);
|
| +#endif
|
|
|
| - RefPtr<ArchiveResource> m_mainResource;
|
| - Vector<RefPtr<ArchiveResource> > m_subresources;
|
| - Vector<RefPtr<MHTMLArchive> > m_subframeArchives;
|
| + RefPtrWillBeMember<ArchiveResource> m_mainResource;
|
| + SubArchiveResources m_subresources;
|
| + SubFrameArchives m_subframeArchives;
|
| };
|
|
|
| }
|
|
|