Index: Source/platform/mhtml/ArchiveResourceCollection.cpp |
diff --git a/Source/platform/mhtml/ArchiveResourceCollection.cpp b/Source/platform/mhtml/ArchiveResourceCollection.cpp |
index de133e87cd68668c1510fc8b2096f9edca323129..709b08c65d58fbe1d714886d61f2c234b65f022f 100644 |
--- a/Source/platform/mhtml/ArchiveResourceCollection.cpp |
+++ b/Source/platform/mhtml/ArchiveResourceCollection.cpp |
@@ -29,6 +29,8 @@ |
#include "config.h" |
#include "platform/mhtml/ArchiveResourceCollection.h" |
+#include "platform/mhtml/ArchiveResource.h" |
+#include "platform/mhtml/MHTMLArchive.h" |
#include "platform/weborigin/KURL.h" |
namespace WebCore { |
@@ -37,19 +39,23 @@ ArchiveResourceCollection::ArchiveResourceCollection() |
{ |
} |
+ArchiveResourceCollection::~ArchiveResourceCollection() |
+{ |
+} |
+ |
void ArchiveResourceCollection::addAllResources(MHTMLArchive* archive) |
{ |
ASSERT(archive); |
if (!archive) |
return; |
- const Vector<RefPtr<ArchiveResource> >& subresources = archive->subresources(); |
- for (Vector<RefPtr<ArchiveResource> >::const_iterator iterator = subresources.begin(); iterator != subresources.end(); ++iterator) |
+ const MHTMLArchive::SubArchiveResources& subresources = archive->subresources(); |
+ for (MHTMLArchive::SubArchiveResources::const_iterator iterator = subresources.begin(); iterator != subresources.end(); ++iterator) |
m_subresources.set((*iterator)->url(), iterator->get()); |
- const Vector<RefPtr<MHTMLArchive> >& subframes = archive->subframeArchives(); |
- for (Vector<RefPtr<MHTMLArchive> >::const_iterator iterator = subframes.begin(); iterator != subframes.end(); ++iterator) { |
- RefPtr<MHTMLArchive> archive = *iterator; |
+ const MHTMLArchive::SubFrameArchives& subframes = archive->subframeArchives(); |
+ for (MHTMLArchive::SubFrameArchives::const_iterator iterator = subframes.begin(); iterator != subframes.end(); ++iterator) { |
+ RefPtrWillBeRawPtr<MHTMLArchive> archive = *iterator; |
ASSERT(archive->mainResource()); |
const String& frameName = archive->mainResource()->frameName(); |
@@ -64,7 +70,7 @@ void ArchiveResourceCollection::addAllResources(MHTMLArchive* archive) |
// FIXME: Adding a resource directly to a DocumentLoader/ArchiveResourceCollection seems like bad design, but is API some apps rely on. |
// Can we change the design in a manner that will let us deprecate that API without reducing functionality of those apps? |
-void ArchiveResourceCollection::addResource(PassRefPtr<ArchiveResource> resource) |
+void ArchiveResourceCollection::addResource(PassRefPtrWillBeRawPtr<ArchiveResource> resource) |
{ |
ASSERT(resource); |
if (!resource) |
@@ -83,13 +89,19 @@ ArchiveResource* ArchiveResourceCollection::archiveResourceForURL(const KURL& ur |
return resource; |
} |
-PassRefPtr<MHTMLArchive> ArchiveResourceCollection::popSubframeArchive(const String& frameName, const KURL& url) |
+PassRefPtrWillBeRawPtr<MHTMLArchive> ArchiveResourceCollection::popSubframeArchive(const String& frameName, const KURL& url) |
{ |
- RefPtr<MHTMLArchive> archive = m_subframes.take(frameName); |
+ RefPtrWillBeRawPtr<MHTMLArchive> archive = m_subframes.take(frameName); |
if (archive) |
return archive.release(); |
return m_subframes.take(url.string()); |
} |
+void ArchiveResourceCollection::trace(Visitor* visitor) |
+{ |
+ visitor->trace(m_subresources); |
+ visitor->trace(m_subframes); |
+} |
+ |
} |