[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

aestes at apple.com aestes at apple.com
Wed Dec 22 12:49:04 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 39feb21f8b681633553f0ae4d5983b3855da4450
Author: aestes at apple.com <aestes at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Aug 31 01:01:22 2010 +0000

    WebKit: Add 'application/x-snkp' to StringsNotToBeLocalized.txt.
    
    Reviewed by Darin Adler.
    
    * StringsNotToBeLocalized.txt:
    
    WebKit/mac: REGRESSION (r66156): Sites using AppleConnect for authentication fail to log in.
    https://bugs.webkit.org/show_bug.cgi?id=44865
    
    Reviewed by Darin Adler.
    
    After http://trac.webkit.org/changeset/66156, sites using the AppleConnect plug-in
    for authentication fail to log in. This is due to a bug in AppleConnect that r66156
    exposed, but since this will have a significant impact on users of WebKit nightly
    builds, a plugin-specific hack should be added while the underlying issue is being
    addressed.
    
    * WebCoreSupport/WebFrameLoaderClient.mm:
    (WebFrameLoaderClient::createPlugin): Convert plug-in parameter names to lowercase
    if the plugin is of type 'application/x-snkp'.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 9747ffa..898fc8d 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,11 @@
+2010-08-30  Andy Estes  <aestes at apple.com>
+
+        Reviewed by Darin Adler.
+
+        Add 'application/x-snkp' to StringsNotToBeLocalized.txt.
+
+        * StringsNotToBeLocalized.txt:
+
 2010-08-20  Lucas De Marchi  <lucas.demarchi at profusion.mobi>
 
         Unreviewed build fix.
diff --git a/WebKit/StringsNotToBeLocalized.txt b/WebKit/StringsNotToBeLocalized.txt
index d23cafa..bf1e575 100644
--- a/WebKit/StringsNotToBeLocalized.txt
+++ b/WebKit/StringsNotToBeLocalized.txt
@@ -540,6 +540,7 @@
 "application/rss+xml"
 "application/x-apple-msg-attachment"
 "application/x-java-applet"
+"application/x-snkp"
 "application/x-webarchive"
 "application/xhtml+xml"
 "attributeKeys"
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index c556d5d..d791071 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,20 @@
+2010-08-30  Andy Estes  <aestes at apple.com>
+
+        Reviewed by Darin Adler.
+
+        REGRESSION (r66156): Sites using AppleConnect for authentication fail to log in.
+        https://bugs.webkit.org/show_bug.cgi?id=44865
+
+        After http://trac.webkit.org/changeset/66156, sites using the AppleConnect plug-in
+        for authentication fail to log in. This is due to a bug in AppleConnect that r66156
+        exposed, but since this will have a significant impact on users of WebKit nightly
+        builds, a plugin-specific hack should be added while the underlying issue is being
+        addressed.
+
+        * WebCoreSupport/WebFrameLoaderClient.mm:
+        (WebFrameLoaderClient::createPlugin): Convert plug-in parameter names to lowercase
+        if the plugin is of type 'application/x-snkp'.
+
 2010-08-27  Jer Noble  <jer.noble at apple.com>
 
         Reviewed by Eric Carlson.
diff --git a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
index 8bdeca0..dcd569d 100644
--- a/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
+++ b/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
@@ -1576,8 +1576,20 @@ PassRefPtr<Widget> WebFrameLoaderClient::createPlugin(const IntSize& size, HTMLP
     NSURL *baseURL = document->baseURL();
     NSURL *pluginURL = url;
     
+    // <rdar://problem/8366089>: AppleConnect has a bug where it does not
+    // understand the parameter names specified in the <object> element that
+    // embeds its plug-in. This site-specific hack works around the issue by
+    // converting the parameter names to lowercase before passing them to the
+    // plug-in.
+    Frame* frame = core(m_webFrame.get());
+    NSMutableArray *attributeKeys = kit(paramNames);
+    if (frame && frame->settings()->needsSiteSpecificQuirks() && equalIgnoringCase(mimeType, "application/x-snkp")) {
+        for (NSUInteger i = 0; i < [attributeKeys count]; ++i)
+            [attributeKeys replaceObjectAtIndex:i withObject:[[attributeKeys objectAtIndex:i] lowercaseString]];
+    }
+    
     if ([[webView UIDelegate] respondsToSelector:selector]) {
-        NSMutableDictionary *attributes = [[NSMutableDictionary alloc] initWithObjects:kit(paramValues) forKeys:kit(paramNames)];
+        NSMutableDictionary *attributes = [[NSMutableDictionary alloc] initWithObjects:kit(paramValues) forKeys:attributeKeys];
         NSDictionary *arguments = [[NSDictionary alloc] initWithObjectsAndKeys:
             attributes, WebPlugInAttributesKey,
             [NSNumber numberWithInt:loadManually ? WebPlugInModeFull : WebPlugInModeEmbed], WebPlugInModeKey,
@@ -1620,7 +1632,7 @@ PassRefPtr<Widget> WebFrameLoaderClient::createPlugin(const IntSize& size, HTMLP
 
     if (pluginPackage) {
         if ([pluginPackage isKindOfClass:[WebPluginPackage class]])
-            view = pluginView(m_webFrame.get(), (WebPluginPackage *)pluginPackage, kit(paramNames), kit(paramValues), baseURL, kit(element), loadManually);
+            view = pluginView(m_webFrame.get(), (WebPluginPackage *)pluginPackage, attributeKeys, kit(paramValues), baseURL, kit(element), loadManually);
             
 #if ENABLE(NETSCAPE_PLUGIN_API)
         else if ([pluginPackage isKindOfClass:[WebNetscapePluginPackage class]]) {
@@ -1630,7 +1642,7 @@ PassRefPtr<Widget> WebFrameLoaderClient::createPlugin(const IntSize& size, HTMLP
                 URL:pluginURL
                 baseURL:baseURL
                 MIMEType:MIMEType
-                attributeKeys:kit(paramNames)
+                attributeKeys:attributeKeys
                 attributeValues:kit(paramValues)
                 loadManually:loadManually
                 element:element] autorelease];

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list