Bug 80991

Summary: REGRESSION (r103629): xiph.org VP8 demo page doesn't work
Product: WebKit Reporter: Alexey Proskuryakov <ap>
Component: XMLAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: annevk, fishd, fpizlo, gw, jarred
Priority: P1 Keywords: InRadar, Regression
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Description Alexey Proskuryakov 2012-03-13 08:49:15 PDT
This is the offending code in XMLHttpRequest.cpp:

    // Newer functionality is not available to synchronous requests in window contexts, as a spec-mandated 
    // attempt to discourage synchronous XHR use. responseType is one such piece of functionality.
    // We'll only disable this functionality for HTTP(S) requests since sync requests for local protocols
    // such as file: and data: still make sense to allow.
    if (!m_async && scriptExecutionContext()->isDocument() && m_url.protocolIsInHTTPFamily()) {
        logConsoleError(scriptExecutionContext(), "XMLHttpRequest.responseType cannot be changed for synchronous HTTP(S) requests made from the window context.");
        ec = INVALID_ACCESS_ERR;
        return;
    }

This breaks the VP8 demo, which is highly unfortunate because it is a remarkably useful test of JSC functionality.  Not to mention, it's quite high profile.

Steps to reproduce:

Go to http://people.xiph.org/~bens/route9/route9.html and hit Play.

Expected result: a video plays.

Actual result: nothing happens because we throw this exception.

<rdar://problem/11036634>
Comment 1 Jarred Nicholls 2012-03-13 09:10:42 PDT
Synchronously that VP8 demo is a terrible experience, which we would all expect.  The author can fix the code; I just fixed it locally in 30 seconds and all is well.  Would you like to take point informing the author to update the code for the latest web standards?
Comment 2 Alexey Proskuryakov 2012-03-13 09:51:32 PDT
No, I think that folks who were driving this change in WebKit need to take on the evangelism effort, too. Here is where most of the effort lies, and if we cannot afford doing evangelism, we should just revert the change.
Comment 3 Jarred Nicholls 2012-03-13 09:54:52 PDT
I agree with you.  If everyone in the world followed me on Twitter, they'd all know about this change because I tweeted about it a number of times.  It's a matter of awareness, which takes time to spread.
Comment 4 Gordon Williams 2012-03-20 08:14:19 PDT
Hi, I'd like to add that this change breaks most of the site that my company has been developing:

http://www.morphyre.com/scenedesign/go

For us, this is a disaster. The JavaScript is automatically generated from binary code and I can pretty much guarantee that the change to async XHR will not be trivial.
Comment 5 Alexey Proskuryakov 2012-05-10 10:42:29 PDT
Jarred, have you contacted the author of this page? What was his answer?