Open Bug 1892576 Opened 1 year ago Updated 1 year ago

<input type=file> hangs if picked (after default file browser) through Total Commander or if cancelled

Categories

(Firefox for Android :: Browser Engine, defect)

Firefox 125
All
Android
defect

Tracking

()

Tracking Status
firefox125 --- affected
firefox126 --- ?
firefox127 --- ?

People

(Reporter: nabijaczleweli, Unassigned)

Details

Steps to reproduce:

Happens on both systems I tried:

  • Fairphone 4, LineageOS 21 (Android 14), Firefox 125.0 (latest as of yesterday), Total Commander 3.50 (latest as of today)
  • Xperia 5 II, stock Android 12, Firefox 122.1.0, Total Commander 3.42 (https://www.ghisler.com/android.htm says this is latest minus 1)
    and picking through total commander works on my Xperia Z, Lineage 16 (Android 9), Firefox 68.3.0, Total Commander 3.0b12.

Picking through TC works in every other program i could try on the problematic devices.

  1. open a page with
    <input id="file_upload" type="file">
    <script>
    file_upload.addEventListener("change", function() {
    document.body.innerHTML += file_upload.files.length;
    })
    </script>

  2. click on it

  3. pick a file with the default file browser (this is new to me as a recent lineage 16/android 9 user but i assume it's standard now)

  4. it works! the text with the filename updates and the body gets a "1"

  5. open it again
    6a. pick a file, but in the default file browser click through to pick with total commander, and pick the same file
    6b. pick a file, but in the default file browser click through to pick with total commander, and then cancel

Actual results:

  1. nothing. the input is hung (doesn't accept more clicks), didn't update, event didn't fire, debugging shows that file_upload.files = []

Expected results:

7a. same as 4
7b. nothing, input can be used as-fresh

It looks like this line was hit when choose TC as a file picker causing prompt request missing here

Basically this line should only be hit when finishing file choosing.


Change this line to ) : PromptRequest(shouldDismissOnLoad = false), Dismissible { helps

Component: General → Browser Engine

The bug has a release status flag that shows some version of Firefox is affected, thus it will be considered confirmed.

Status: UNCONFIRMED → NEW
Ever confirmed: true
Severity: -- → S3
You need to log in before you can comment on or make changes to this bug.