Opened 6 years ago

Closed 5 years ago

Last modified 4 years ago

#16939 closed defect (fixed)

IE hangs when switching between multiple editors / refocusing browser window

Reported by: nkurdybakha Owned by: bill
Priority: undecided Milestone: 1.8.6
Component: Editor Version: 1.8.3
Keywords: Cc: haysmark
Blocked By: Blocking:

Description (last modified by bill)

Steps to reproduce:

  1. Open: http://download.dojotoolkit.org/release-1.8.3/dojo-release-1.8.3/dijit/tests/editor/test_Editor.html
  2. Click editor 'No plugin, initially empty'
  3. Click editor 'Created from div'
  4. Click Desktop or other app (so editor loose focus)
  5. Repeat steps 2-4 several times

Result: IE hangs. At the point IE hangs, both of editors endlessly receive a lot of 'focus' and 'blur' events.

Reproducible: Browsers: IE9 and IE10 OS: Win 7 x64 (host machine, 4 processors), Win 8 x32 (VM, 2 processors)

Attachments (2)

SystemInfo.png (18.6 KB) - added by nkurdybakha 6 years ago.
IEInfo.png (16.7 KB) - added by nkurdybakha 6 years ago.

Download all attachments as: .zip

Change History (17)

Changed 6 years ago by nkurdybakha

Attachment: SystemInfo.png added

Changed 6 years ago by nkurdybakha

Attachment: IEInfo.png added

comment:1 Changed 6 years ago by nkurdybakha

See recorded video for details: http://youtu.be/5KgV6kZlUWQ

comment:2 Changed 6 years ago by bill

Cc: Douglas Hays added
Component: DijitEditor

Presumably fixed already by [30984] but need to test to confirm.

comment:3 Changed 6 years ago by bill

Description: modified (diff)
Milestone: tbd1.9
Status: newassigned

Hmm, actually it's still broken on trunk, perhaps even worse, seems to hang just by opening the Editor (testing on Win8 / IE10).

comment:4 Changed 6 years ago by bill

It's hard to debug this problem since IE hangs as soon as the problem occurs, but I can reproduce it by:

  1. clicking editor1
  2. click outside the browser
  3. click editor0

One thing I've noticed is that even on Chrome/mac, if you focus editor1, then click outside the browser, and then click back in the browser *but not on editor1*, editor1 still gets focus. AFAICT there's no dijit code calling focus() on anything.

The problems on IE9+ are possibly exacerbated by the fact that the focusout event on the iframe comes *after* the focusin event on the main window, see #16928. But (as an experiment) I modified dijit/focus to do nothing on the focusin/focusout events, and the problem still happens.

Last edited 6 years ago by bill (previous) (diff)

comment:5 Changed 6 years ago by bill

Resolution: fixed
Status: assignedclosed

In [31073]:

Avoid 100% CPU spin on IE9+ when the browser window is defocused while an Editor instance has focus, and then a different Editor is clicked to bring the browser window back into focus. Fixes #16939 !strict.

comment:6 Changed 5 years ago by mahays0 <mahays0@…>

In 5158c16c642d55510af504894c2627b9c1e8d6c5/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:7 Changed 5 years ago by Ed Chatelain

Milestone: 1.9
Resolution: fixed
Status: closedreopened

This also hangs on IE8, it is an easy fix to change the test for the fix added into _onBlur from if(has("ie") >= 9){ to if(has("ie")){

comment:8 Changed 5 years ago by bill

Summary: IE9 and IE10 hangs when working with dijit.EditorIE hangs when switching between multiple editors / refocusing browser window

comment:9 Changed 5 years ago by bill

Milestone: 1.8.6

comment:10 Changed 5 years ago by Ed Chatelain

This also fails with IE11, so the new check will be if(has("ie") || has("trident")){

Last edited 4 years ago by bill (previous) (diff)

comment:11 Changed 5 years ago by Ed Chatelain <ed.chatelain@…>

Resolution: fixed
Status: reopenedclosed

In 95cc48933bef6ed4217a527dae4eef7a83f71059/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:12 Changed 5 years ago by Ed Chatelain <ed.chatelain@…>

In 06f348a8ecb9e9d9c212e90406068528b6e2e795/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:13 Changed 5 years ago by Ed Chatelain <ed.chatelain@…>

In 4b181d1df4a457284297ab76ab70091f8af55d60/dijit:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:15 Changed 5 years ago by bill

Cc: haysmark added; Douglas Hays removed

Mark - You should add this to the list of IE11 fixes that you backport to 1.7.

Note: See TracTickets for help on using tickets.