Bug 45960 - WK2: REGRESSION (r66156): Web sites using AppleConnect fail to log in: "HTTP Status 404 - /ssowebapp/scriptFrame"
: WK2: REGRESSION (r66156): Web sites using AppleConnect fail to log in: "HTTP ...
Status: RESOLVED FIXED
: WebKit
WebKit2
: 528+ (Nightly build)
: PC Mac OS X 10.5
: P2 Normal
Assigned To:
:
: InRadar
:
:
  Show dependency treegraph
 
Reported: 2010-09-17 06:17 PST by
Modified: 2010-09-20 10:14 PST (History)


Attachments
Patch (2.72 KB, patch)
2010-09-17 06:19 PST, Andy Estes
no flags Review Patch | Details | Formatted Diff | Diff
Patch (2.47 KB, patch)
2010-09-17 06:20 PST, Andy Estes
no flags Review Patch | Details | Formatted Diff | Diff
Patch (1.92 KB, patch)
2010-09-20 01:33 PST, Andy Estes
darin: review+
Review Patch | Details | Formatted Diff | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2010-09-17 06:17:25 PST
In http://trac.webkit.org/changeset/66437, WebKit was modified to workaround a bug in the AppleConnect plug-in. This workaround needs to be in WebKit2 as well.
------- Comment #1 From 2010-09-17 06:17:46 PST -------
<rdar://problem/8440903>
------- Comment #2 From 2010-09-17 06:19:21 PST -------
Created an attachment (id=67905) [details]
Patch
------- Comment #3 From 2010-09-17 06:20:56 PST -------
Created an attachment (id=67906) [details]
Patch
------- Comment #4 From 2010-09-17 10:02:03 PST -------
(From update of attachment 67906 [details])
>      Plugin::Parameters parameters;
>      parameters.url = url;
> -    parameters.names = paramNames;
>      parameters.values = paramValues;
>      parameters.mimeType = mimeType;
>      parameters.loadManually = loadManually;
> +    
> +    // <rdar://problem/8440903>: AppleConnect has a bug where it does not
> +    // understand the parameter names specified in the <object> element that
> +    // embeds its plug-in. This hack works around the issue by converting the
> +    // parameter names to lowercase before passing them to the plug-in.
> +    if (equalIgnoringCase(mimeType, "application/x-snkp")) {
> +        parameters.names.reserveCapacity(paramNames.size());
> +        for (size_t i = 0; i < paramNames.size(); ++i)
> +            parameters.names.append(paramNames[i].lower());
> +    } else
> +        parameters.names = paramNames;

Why not leave the line of code above alone, and write the new code as a removable block. That seems to isolate the AppleConnect workaround a little better from the non-workaround code.

r=me
------- Comment #5 From 2010-09-17 14:50:37 PST -------
Committed r67748: <http://trac.webkit.org/changeset/67748>
------- Comment #6 From 2010-09-20 00:49:52 PST -------
Reopening to address additional feedback from Darin.
------- Comment #7 From 2010-09-20 01:02:01 PST -------
Filed https://bugs.webkit.org/show_bug.cgi?id=46076 to track adding support for enabling site-specific quirks in WebKit2.
------- Comment #8 From 2010-09-20 01:33:07 PST -------
Created an attachment (id=68059) [details]
Patch
------- Comment #9 From 2010-09-20 10:14:44 PST -------
Committed r67858: <http://trac.webkit.org/changeset/67858>