summaryrefslogtreecommitdiffstats
path: root/WebCore
diff options
context:
space:
mode:
authorElliott Slaughter <eds@google.com>2010-07-20 16:08:54 -0700
committerElliott Slaughter <eds@google.com>2010-07-20 17:30:40 -0700
commit320d49d8900163ea450b99f106701a3455fb1bb6 (patch)
treed8afa41c81372d26036d22f6ebac68e34e3e1a14 /WebCore
parentbd873d01b08be192ba7b48bc36d5b2f53ac3013f (diff)
downloadexternal_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')
-rw-r--r--WebCore/config.h2
-rw-r--r--WebCore/loader/archive/android/WebArchiveAndroid.cpp69
-rw-r--r--WebCore/loader/archive/android/WebArchiveAndroid.h4
3 files changed, 37 insertions, 38 deletions
diff --git a/WebCore/config.h b/WebCore/config.h
index 9a3cd78..84e50fe 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 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"