summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebCore/page/Connection.cpp2
-rw-r--r--WebCore/platform/KURL.cpp7
-rw-r--r--WebCore/platform/android/PackageNotifier.h2
-rw-r--r--WebKit/android/WebCoreSupport/CachedFramePlatformDataAndroid.h2
-rw-r--r--WebKit/android/jni/WebCoreFrameBridge.cpp15
5 files changed, 23 insertions, 5 deletions
diff --git a/WebCore/page/Connection.cpp b/WebCore/page/Connection.cpp
index ffbb838..1031df3 100644
--- a/WebCore/page/Connection.cpp
+++ b/WebCore/page/Connection.cpp
@@ -36,4 +36,4 @@ Connection::ConnectionType Connection::type() const
return networkStateNotifier().type();
}
-}; \ No newline at end of file
+};
diff --git a/WebCore/platform/KURL.cpp b/WebCore/platform/KURL.cpp
index 79bb6e2..e790cc0 100644
--- a/WebCore/platform/KURL.cpp
+++ b/WebCore/platform/KURL.cpp
@@ -1287,6 +1287,13 @@ void KURL::parse(const char* url, const String* originalString)
if (m_protocolInHTTPFamily && hierarchical && pathEnd == pathStart)
*p++ = '/';
+#if PLATFORM(ANDROID)
+ // Remove any trailing '.' from base, in order to conform to RFC 3986 section 5.4
+ if (p[-1] == '.') {
+ p--;
+ }
+#endif /* PLATFORM(ANDROID) */
+
// add path, escaping bad characters
if (!hierarchical || !hasSlashDotOrDotDot(url))
appendEscapingBadChars(p, url + pathStart, pathEnd - pathStart);
diff --git a/WebCore/platform/android/PackageNotifier.h b/WebCore/platform/android/PackageNotifier.h
index ad44bc7..d9b4fd4 100644
--- a/WebCore/platform/android/PackageNotifier.h
+++ b/WebCore/platform/android/PackageNotifier.h
@@ -66,4 +66,4 @@ PackageNotifier& packageNotifier();
#endif
-#endif // PackageNotifier_h \ No newline at end of file
+#endif // PackageNotifier_h
diff --git a/WebKit/android/WebCoreSupport/CachedFramePlatformDataAndroid.h b/WebKit/android/WebCoreSupport/CachedFramePlatformDataAndroid.h
index ac22d05..20c7be4 100644
--- a/WebKit/android/WebCoreSupport/CachedFramePlatformDataAndroid.h
+++ b/WebKit/android/WebCoreSupport/CachedFramePlatformDataAndroid.h
@@ -60,4 +60,4 @@ private:
}
-#endif \ No newline at end of file
+#endif
diff --git a/WebKit/android/jni/WebCoreFrameBridge.cpp b/WebKit/android/jni/WebCoreFrameBridge.cpp
index 250ffc9..c7f9eca 100644
--- a/WebKit/android/jni/WebCoreFrameBridge.cpp
+++ b/WebKit/android/jni/WebCoreFrameBridge.cpp
@@ -529,7 +529,12 @@ WebFrame::loadStarted(WebCore::Frame* frame)
#ifdef ANDROID_INSTRUMENT
TimeCounterAuto counter(TimeCounter::JavaCallbackTimeCounter);
#endif
- const WebCore::KURL& url = frame->loader()->activeDocumentLoader()->url();
+ // activeDocumentLoader() can return null.
+ DocumentLoader* documentLoader = frame->loader()->activeDocumentLoader();
+ if (documentLoader == NULL)
+ return;
+
+ const WebCore::KURL& url = documentLoader->url();
if (url.isEmpty())
return;
LOGV("::WebCore:: loadStarted %s", url.string().ascii().data());
@@ -595,8 +600,14 @@ WebFrame::didFinishLoad(WebCore::Frame* frame)
TimeCounterAuto counter(TimeCounter::JavaCallbackTimeCounter);
#endif
JNIEnv* env = getJNIEnv();
+
+ // activeDocumentLoader() can return null.
WebCore::FrameLoader* loader = frame->loader();
- const WebCore::KURL& url = loader->activeDocumentLoader()->url();
+ DocumentLoader* documentLoader = loader->activeDocumentLoader();
+ if (documentLoader == NULL)
+ return;
+
+ const WebCore::KURL& url = documentLoader->url();
if (url.isEmpty())
return;
LOGV("::WebCore:: didFinishLoad %s", url.string().ascii().data());