summaryrefslogtreecommitdiffstats
path: root/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2010-12-01 12:19:46 +0000
committerKristian Monsen <kristianm@google.com>2010-12-01 17:14:56 +0000
commitb2743d4d2391f76c75e6ec82f8fdc185d103b43a (patch)
treedfd3f190671974f59eece194b585337078e2493d /WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
parent21bca2af9251ca60b9b7aa6b36b422160deeb23f (diff)
downloadexternal_webkit-b2743d4d2391f76c75e6ec82f8fdc185d103b43a.zip
external_webkit-b2743d4d2391f76c75e6ec82f8fdc185d103b43a.tar.gz
external_webkit-b2743d4d2391f76c75e6ec82f8fdc185d103b43a.tar.bz2
Youtube urls can now start with /v/ or /e/
Fix for bug 3242961 Note that the youtube player crashes when you launch it, but that also happens with old style urls. Tested with the testcase in the bug. Change-Id: I0cb59f8404fe47aabec34c0a21e614f553ea0c32
Diffstat (limited to 'WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp')
-rw-r--r--WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
index d622719..ed1da87 100644
--- a/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
+++ b/WebKit/android/WebCoreSupport/FrameLoaderClientAndroid.cpp
@@ -980,6 +980,7 @@ WTF::PassRefPtr<WebCore::Frame> FrameLoaderClientAndroid::createFrame(const KURL
// YouTube flash url path starts with /v/
static const char slash_v_slash[] = { '/', 'v', '/' };
+static const char slash_e_slash[] = { '/', 'e', '/' };
static bool isValidYouTubeVideo(const String& path)
{
@@ -990,8 +991,10 @@ static bool isValidYouTubeVideo(const String& path)
return false;
CString str = path.lower().utf8();
const char* data = str.data();
+ // Youtube flash url can start with /v/ or /e/
if (memcmp(data, slash_v_slash, sizeof(slash_v_slash)) != 0)
- return false;
+ if (memcmp(data, slash_e_slash, sizeof(slash_e_slash)) != 0)
+ return false;
// Start after /v/
for (unsigned int i = sizeof(slash_v_slash); i < len; i++) {
char c = data[i];