New issue
Advanced search Search tips

Issue 689183 link

Starred by 1 user

Issue metadata

Status: ExternalDependency
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug



Sign in to add a comment

FileReader API Unreadable Video File Error when "multiple "attribute is used on input

Reported by michael....@redspace.com, Feb 6 2017

Issue description

Steps to reproduce the problem:
1) Pre-record a short video on the device
2) Open the codepen link on Chrome for iOS: http://codepen.io/michaelcunningham19/pen/rjrLWQ
3) Select the pre-recorded video on the input labelled *without* the multiple attribute.
4) Note the debug data displayed on the page.
5) Select the pre-recorded video on the input labelled *with* the multiple attribute.
6) Note the error data displayed on the page.

What is the expected behavior?
There should not be an error reported.

What went wrong?
The file is unreadable on web views.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 56.0.2924.79  Channel: stable
OS Version: iOS 10.0.1
Flash Version: N/A

Devices tested with:
iPhone 6 Plus running iOS 10.0.1
iPhone 6 Plus running iOS 10.2

This is reproducible using the Slack in-app browser.

 
Cc: srikanthg@chromium.org
Cc: eugene...@chromium.org
Srikanth, could you please test this with Firefox, Safari and tests WKWebView app. Thank you!
Owner: srikanthg@chromium.org
Status: Assigned (was: Unconfirmed)
Owner: eugene...@chromium.org
Not Chrome Specific issue.
Issue is reproduced on WKWebView App, Firefox as well.
Works fine on Safari.
I just wanted to add some more context to this bug discovery, it doesn't just affect the FileReader API, that is just what I used in the above example. In any browser using WKWebView, you will be unable to upload the video file to a remote server.

In my specific case, the following was occurring:

1) User selects a video file (Say 10MB in size for example) on an <input> element with the multiple attribute.
2) User initiates a file upload on a web application, for this we'll say the upload destination is an AWS S3 bucket.
3) When a PUT request is made to the S3 bucket, the server will simply ignore the request by not responding at all, causing the browser to timeout after 60s because the request is malformed. The Content-Length header will be 10MB represented as bytes. But the actual request body will be empty.

As soon as the multiple attribute is removed, and these 3 steps are repeated, there will be no malformed requests performed.
Components: Mobile>WebView>Glue
Labels: -Pri-2 Pri-3
Owner: michaeldo@chromium.org
Mike, could you please file radar for this bug.
Just to add more info to this bug report, I found an already open bug on radar for this exact issue, reported back in August 2016 for iOS 9.3.4

https://openradar.appspot.com/28016475
Thanks Michael, do you know Radar number by any chance? 
Yup, the number is found on the link in my last comment: rdar://28016475
Cc: michaeldo@chromium.org
Owner: ----
Status: ExternalDependency (was: Assigned)
Oh, sorry. In this case I don't think there is a need to file a duplicate radar.
Cc: -michaeldo@chromium.org
Owner: michaeldo@chromium.org
Labels: Needs-Feedback
Owner: ----
Srikanth, could you please check if this still an issue.
Components: Mobile>iOSWeb
Components: -Mobile>WebView>Glue
Components: -Mobile>iOSWeb Mobile>iOSWeb>Media

Sign in to add a comment