From: Elliott Slaughter Date: Tue, 20 Jul 2010 23:08:54 +0000 (-0700) Subject: Prepare browser web archive patch for upstreamming to webkit. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=320d49d8900163ea450b99f106701a3455fb1bb6;p=android-x86%2Fexternal-webkit.git Prepare browser web archive patch for upstreamming to webkit. Change-Id: I38c7939b81cd0afaaf925b9f74104bcbe27b5977 --- diff --git a/WebCore/config.h b/WebCore/config.h index 9a3cd78fd..84e50fe76 100644 --- a/WebCore/config.h +++ b/WebCore/config.h @@ -114,7 +114,7 @@ #define ENABLE_XHTMLMP 0 #define ENABLE_XPATH 1 #define ENABLE_XSLT 1 -#undef ENABLE_ARCHIVE // Enabled by default in Platform.h +#undef ENABLE_ARCHIVE // Enabled by default in Platform.h #define ENABLE_ARCHIVE 1 #define ENABLE_OFFLINE_WEB_APPLICATIONS 1 #define ENABLE_TOUCH_EVENTS 1 diff --git a/WebCore/loader/archive/android/WebArchiveAndroid.cpp b/WebCore/loader/archive/android/WebArchiveAndroid.cpp index ff93a4c74..49cfe9df2 100644 --- a/WebCore/loader/archive/android/WebArchiveAndroid.cpp +++ b/WebCore/loader/archive/android/WebArchiveAndroid.cpp @@ -53,11 +53,9 @@ PassRefPtr WebArchiveAndroid::create(PassRefPtr >& subresources, Vector >& subframeArchives) { - if (mainResource) { + if (mainResource) return adoptRef(new WebArchiveAndroid(mainResource, subresources, subframeArchives)); - } else { - return NULL; - } + return 0; } PassRefPtr WebArchiveAndroid::create(Frame* frame) @@ -69,9 +67,8 @@ PassRefPtr 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 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 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 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 loadArchiveResource(xmlNodePtr resourceNode) static PassRefPtr loadArchive(xmlNodePtr archiveNode) { - xmlNodePtr resourceNode = NULL; + xmlNodePtr resourceNode = 0; PassRefPtr mainResource; Vector > subresources; @@ -213,32 +210,31 @@ static PassRefPtr 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 subresource = loadArchiveResource(resourceNode); if (!subresource) { @@ -252,11 +248,11 @@ static PassRefPtr 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 subframe = loadArchive(resourceNode); if (!subframe) { @@ -272,7 +268,8 @@ static PassRefPtr loadArchive(xmlNodePtr archiveNode) return WebArchiveAndroid::create(mainResource, subresources, subframes); } -static PassRefPtr createArchiveForError() { +static PassRefPtr createArchiveForError() +{ /* When an archive cannot be loaded, we return an empty archive instead. */ PassRefPtr mainResource = ArchiveResource::create( SharedBuffer::create(), KURL(ParsedURLString, String::fromUTF8("file:///dummy")), @@ -286,17 +283,17 @@ static PassRefPtr createArchiveForError() { PassRefPtr 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 archive) { +static bool saveArchive(xmlTextWriterPtr writer, PassRefPtr 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) { for (Vector >::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) { 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 f749ef5af..1bbf952e4 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"