diff options
author | Elliott Slaughter <eds@google.com> | 2010-07-20 16:08:54 -0700 |
---|---|---|
committer | Elliott Slaughter <eds@google.com> | 2010-07-20 17:30:40 -0700 |
commit | 320d49d8900163ea450b99f106701a3455fb1bb6 (patch) | |
tree | d8afa41c81372d26036d22f6ebac68e34e3e1a14 /WebCore/loader/archive | |
parent | bd873d01b08be192ba7b48bc36d5b2f53ac3013f (diff) | |
download | external_webkit-320d49d8900163ea450b99f106701a3455fb1bb6.zip external_webkit-320d49d8900163ea450b99f106701a3455fb1bb6.tar.gz external_webkit-320d49d8900163ea450b99f106701a3455fb1bb6.tar.bz2 |
Prepare browser web archive patch for upstreamming to webkit.
Change-Id: I38c7939b81cd0afaaf925b9f74104bcbe27b5977
Diffstat (limited to 'WebCore/loader/archive')
-rw-r--r-- | WebCore/loader/archive/android/WebArchiveAndroid.cpp | 69 | ||||
-rw-r--r-- | WebCore/loader/archive/android/WebArchiveAndroid.h | 4 |
2 files changed, 36 insertions, 37 deletions
diff --git a/WebCore/loader/archive/android/WebArchiveAndroid.cpp b/WebCore/loader/archive/android/WebArchiveAndroid.cpp index ff93a4c..49cfe9d 100644 --- a/WebCore/loader/archive/android/WebArchiveAndroid.cpp +++ b/WebCore/loader/archive/android/WebArchiveAndroid.cpp @@ -53,11 +53,9 @@ PassRefPtr<WebArchiveAndroid> WebArchiveAndroid::create(PassRefPtr<ArchiveResour Vector<PassRefPtr<ArchiveResource> >& subresources, Vector<PassRefPtr<Archive> >& subframeArchives) { - if (mainResource) { + if (mainResource) return adoptRef(new WebArchiveAndroid(mainResource, subresources, subframeArchives)); - } else { - return NULL; - } + return 0; } PassRefPtr<WebArchiveAndroid> WebArchiveAndroid::create(Frame* frame) @@ -69,9 +67,8 @@ PassRefPtr<WebArchiveAndroid> WebArchiveAndroid::create(Frame* frame) frame->loader()->documentLoader()->getSubresources(subresources); - for (int child = 0; child < children; child++) { + for (int child = 0; child < children; child++) subframes.append(create(frame->tree()->child(child))); - } return create(mainResource, subresources, subframes); } @@ -102,10 +99,10 @@ static bool loadArchiveResourceField(xmlNodePtr resourceNode, const xmlChar* fie outputData->clear(); - const char* base64Data = NULL; + const char* base64Data = 0; for (xmlNodePtr fieldNode = resourceNode->xmlChildrenNode; - fieldNode != NULL; + fieldNode; fieldNode = fieldNode->next) { if (xmlStrEqual(fieldNode->name, fieldName)) { base64Data = (const char*)xmlNodeGetContent(fieldNode->xmlChildrenNode); @@ -140,7 +137,7 @@ static PassRefPtr<SharedBuffer> loadArchiveResourceFieldBuffer(xmlNodePtr resour if (loadArchiveResourceField(resourceNode, fieldName, &fieldData)) return SharedBuffer::create(fieldData.data(), fieldData.size()); - return NULL; + return 0; } static String loadArchiveResourceFieldString(xmlNodePtr resourceNode, const xmlChar* fieldName) @@ -167,37 +164,37 @@ static PassRefPtr<ArchiveResource> loadArchiveResource(xmlNodePtr resourceNode) { if (!xmlStrEqual(resourceNode->name, archiveResourceTag)) { LOGD("loadWebArchive: Malformed resource."); - return NULL; + return 0; } KURL url = loadArchiveResourceFieldURL(resourceNode, urlFieldTag); if (url.isNull()) { LOGD("loadWebArchive: Failed to load resource."); - return NULL; + return 0; } String mimeType = loadArchiveResourceFieldString(resourceNode, mimeFieldTag); if (mimeType.isNull()) { LOGD("loadWebArchive: Failed to load resource."); - return NULL; + return 0; } String textEncoding = loadArchiveResourceFieldString(resourceNode, encodingFieldTag); if (textEncoding.isNull()) { LOGD("loadWebArchive: Failed to load resource."); - return NULL; + return 0; } String frameName = loadArchiveResourceFieldString(resourceNode, frameFieldTag); if (frameName.isNull()) { LOGD("loadWebArchive: Failed to load resource."); - return NULL; + return 0; } PassRefPtr<SharedBuffer> data = loadArchiveResourceFieldBuffer(resourceNode, dataFieldTag); if (!data) { LOGD("loadWebArchive: Failed to load resource."); - return NULL; + return 0; } return ArchiveResource::create(data, url, mimeType, textEncoding, frameName); @@ -205,7 +202,7 @@ static PassRefPtr<ArchiveResource> loadArchiveResource(xmlNodePtr resourceNode) static PassRefPtr<WebArchiveAndroid> loadArchive(xmlNodePtr archiveNode) { - xmlNodePtr resourceNode = NULL; + xmlNodePtr resourceNode = 0; PassRefPtr<ArchiveResource> mainResource; Vector<PassRefPtr<ArchiveResource> > subresources; @@ -213,32 +210,31 @@ static PassRefPtr<WebArchiveAndroid> loadArchive(xmlNodePtr archiveNode) if (!xmlStrEqual(archiveNode->name, archiveTag)) { LOGD("loadWebArchive: Malformed archive."); - return NULL; + return 0; } for (resourceNode = archiveNode->xmlChildrenNode; - resourceNode != NULL; + resourceNode; resourceNode = resourceNode->next) { if (xmlStrEqual(resourceNode->name, mainResourceTag)) { resourceNode = resourceNode->xmlChildrenNode; - if (!resourceNode) { + if (!resourceNode) break; - } mainResource = loadArchiveResource(resourceNode); break; } } if (!mainResource) { LOGD("saveWebArchive: Failed to load main resource."); - return NULL; + return 0; } for (resourceNode = archiveNode->xmlChildrenNode; - resourceNode != NULL; + resourceNode; resourceNode = resourceNode->next) { if (xmlStrEqual(resourceNode->name, subresourcesTag)) { for (resourceNode = resourceNode->xmlChildrenNode; - resourceNode != NULL; + resourceNode; resourceNode = resourceNode->next) { PassRefPtr<ArchiveResource> subresource = loadArchiveResource(resourceNode); if (!subresource) { @@ -252,11 +248,11 @@ static PassRefPtr<WebArchiveAndroid> loadArchive(xmlNodePtr archiveNode) } for (resourceNode = archiveNode->xmlChildrenNode; - resourceNode != NULL; + resourceNode; resourceNode = resourceNode->next) { if (xmlStrEqual(resourceNode->name, subframesTag)) { for (resourceNode = resourceNode->xmlChildrenNode; - resourceNode != NULL; + resourceNode; resourceNode = resourceNode->next) { PassRefPtr<WebArchiveAndroid> subframe = loadArchive(resourceNode); if (!subframe) { @@ -272,7 +268,8 @@ static PassRefPtr<WebArchiveAndroid> loadArchive(xmlNodePtr archiveNode) return WebArchiveAndroid::create(mainResource, subresources, subframes); } -static PassRefPtr<WebArchiveAndroid> createArchiveForError() { +static PassRefPtr<WebArchiveAndroid> createArchiveForError() +{ /* When an archive cannot be loaded, we return an empty archive instead. */ PassRefPtr<ArchiveResource> mainResource = ArchiveResource::create( SharedBuffer::create(), KURL(ParsedURLString, String::fromUTF8("file:///dummy")), @@ -286,17 +283,17 @@ static PassRefPtr<WebArchiveAndroid> createArchiveForError() { PassRefPtr<WebArchiveAndroid> WebArchiveAndroid::create(SharedBuffer* buffer) { const char* const noBaseUrl = ""; - const char* const defaultEncoding = NULL; + const char* const defaultEncoding = 0; const int noParserOptions = 0; xmlDocPtr doc = xmlReadMemory(buffer->data(), buffer->size(), noBaseUrl, defaultEncoding, noParserOptions); - if (doc == NULL) { + if (!doc) { LOGD("loadWebArchive: Failed to parse document."); return createArchiveForError(); } xmlNodePtr root = xmlDocGetRootElement(doc); - if (root == NULL) { + if (!root) { LOGD("loadWebArchive: Empty document."); xmlFreeDoc(doc); return createArchiveForError(); @@ -381,7 +378,8 @@ static bool saveArchiveResource(xmlTextWriterPtr writer, PassRefPtr<ArchiveResou return true; } -static bool saveArchive(xmlTextWriterPtr writer, PassRefPtr<Archive> archive) { +static bool saveArchive(xmlTextWriterPtr writer, PassRefPtr<Archive> archive) +{ int result = xmlTextWriterStartElement(writer, archiveTag); if (result < 0) { LOGD("saveWebArchive: Failed to start element."); @@ -431,7 +429,7 @@ static bool saveArchive(xmlTextWriterPtr writer, PassRefPtr<Archive> archive) { for (Vector<const RefPtr<Archive> >::iterator subframe = archive->subframeArchives().begin(); subframe != archive->subframeArchives().end(); subframe++) { - if(!saveArchive(writer, *subframe)) + if (!saveArchive(writer, *subframe)) return false; } @@ -444,10 +442,11 @@ static bool saveArchive(xmlTextWriterPtr writer, PassRefPtr<Archive> archive) { return true; } -bool WebArchiveAndroid::saveWebArchive(xmlTextWriterPtr writer) { - const char* const defaultXmlVersion = NULL; - const char* const defaultEncoding = NULL; - const char* const defaultStandalone = NULL; +bool WebArchiveAndroid::saveWebArchive(xmlTextWriterPtr writer) +{ + const char* const defaultXmlVersion = 0; + const char* const defaultEncoding = 0; + const char* const defaultStandalone = 0; int result = xmlTextWriterStartDocument(writer, defaultXmlVersion, defaultEncoding, defaultStandalone); if (result < 0) { diff --git a/WebCore/loader/archive/android/WebArchiveAndroid.h b/WebCore/loader/archive/android/WebArchiveAndroid.h index f749ef5..1bbf952 100644 --- a/WebCore/loader/archive/android/WebArchiveAndroid.h +++ b/WebCore/loader/archive/android/WebArchiveAndroid.h @@ -23,8 +23,8 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef WEBARCHIVEANDROID_H -#define WEBARCHIVEANDROID_H +#ifndef WebArchiveAndroid_h +#define WebArchiveAndroid_h #include "Archive.h" #include "DocumentLoader.h" |