Prevent re-entrancy when invoking external protocol handlers like ms-windows-store

NEW
Unassigned

Status

()

Firefox
File Handling
P3
normal
a year ago
a year ago

People

(Reporter: Jose María Acuña, Unassigned)

Tracking

({csectype-dos, testcase})

55 Branch
csectype-dos, testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

a year ago
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36

Steps to reproduce:

1- access to the following url: http://createcharts.esy.es/window-store.html
2- click the button
3- the store window opens indefinitely: if I try to close it, it reopens.
If you press CTR + ALT + DEL the task window disappears immediately.


It is extremely difficult to get out of this situation.


Tested on Firefox 52.0.2 (32-bit) and Windows 8.1 Pro

Updated

a year ago
Has STR: --- → yes
Component: Untriaged → File Handling
Keywords: csectype-dos, testcase
Summary: Window store opens automatically and indefinitely → Window store can opens unlimited

Comment 1

a year ago
Thanks for the test case. This also crashes with a stack overflow:

https://crash-stats.mozilla.com/report/index/722b2088-44e3-425e-8d45-529621170505

The issue is that we allow other protocol handler calls to occur while Windows is spinning an inner event loop, waiting for the external application to be launched.

Setting "network.protocol-handler.warn-external.ms-windows-store" to true doesn't really help, as we start displaying a modal dialog repeatedly instead. We should probably just enqueue the requests one after the other, preventing recursion.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P3
Summary: Window store can opens unlimited → Prevent re-entrancy when invoking external protocol handlers like ms-windows-store
You need to log in before you can comment on or make changes to this bug.