Published using Google Docs
showModalDialog Removal Notes
Updated automatically every 5 minutes

PUBLICLY VIEWABLE

committers@chromium has edit access, feel free to edit.

window.showModalDialog has been removed from Chrome M35.

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/ixHZCOH6GLgJ

window.showModalDialog has observed usage of 0.011%, below our 0.06% deprecation threshold:

http://www.chromestatus.com/metrics/feature/timeline/popularity/195

http://www.chromium.org/blink#TOC-Launch-Process:-Deprecation

window.showModalDialog has numerous known functionality bugs and has been a source of security bugs.  It’s the only place in all of Blink whereby we run an event loop on top of an arbitrary javascript stack.

Timeline

Still not marked as deprecated in MSDN or IE (top hit on “showModalDialog” search on Google):

http://msdn.microsoft.com/en-us/library/ie/ms536759(v=vs.85).aspx

Concerns on Intent To Ship

splendidnut: “no real research has gone into examining the overall effects of this”

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/OpCxzg2_MA0J

Jake H asks for “guidance on replacements/workarounds for those impacted”

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/k8SD-m--XBMJ

Tom C: Used in their CKEditor-based application.  No usage numbers given:

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/Y69o8VjxkzIJ

Tapasvi: Notes it’s impossible to polyfill:

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/xV-Tk5e1as4J

Tom C: Questions who benefits from this?

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/E8WnF26nMCsJ

Tapasvi: asks if removal can be delayed one release:

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/2-JAf8fyCu4J

yogeshb (colleague of Tapasvi): notes 3 months is not sufficient:

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/WxD06hvZWToJ

yogeshb asks for an Oct 31st extension for showModalDialog:

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/5b38_lyw5EIJ

Jochen mentions it’s used in a lot of SAP-based applications and hotmail’s file selection dialog:

https://groups.google.com/a/chromium.org/d/msg/blink-dev/xh9fPX0ijqk/0WkZqIMdxW0J

What went wrong

- Affected users were not made aware of the change soon enough to react in time.

- No Intent To Deprecate announcement

- Not highlighted in Release blog post (buried in referenced spreadsheet)

What went right

- Intent mails successfully reached some affected individuals

- Deprecating showModalDialog snuck into M32 just before it was cut to Dev.  Removing showModalDialog just missed M34 and thus was delayed until M35.  Both of these were somewhat accidental (but fortunate) extensions of the deprecation period.

Notes

Drew suggests that we consider blog-posts for APIs of this magnitude in the future.

Old Articles on showModalDialog

http://tjvantoll.com/2012/05/02/showmodaldialog-what-it-is-and-why-you-should-never-use-it/

http://jwcooney.com/2011/12/22/showmodaldialog-opens-a-new-window-on-submit-or-location-href/

IE may security-restrict showModalDialog already (presumably the pop-up blocker?)

http://stackoverflow.com/questions/20713917/why-does-window-showmodaldialog-throw-an-access-is-denied-error