Skip to main content

Search and Top Navigation

#9512 closed bug (cantfix)

Opened August 23, 2013 09:00PM UTC

Closed August 26, 2013 02:03PM UTC

Dialog: Password input is slow in Safari/Chrome

Reported by: manovotny Owned by:
Priority: minor Milestone: none
Component: ui.dialog Version: 1.10.3
Keywords: Cc:
Blocked by: Blocking:
Description

Example

http://codepen.io/manovotny/pen/wxfHD

Steps To Reproduce

1. Have a table with a lot of data (the example above has 1000 rows).

2. Have a jQuery UI dialog with a password input.

3. Try typing in a password and then try deleting it one character at a time.

4. When trying to remove ''last'' character, the browser will hang for 6 - 12 seconds.

Notes / Observations

  • Tried a few jQuery / jQuery UI version combinations. Seem to have been an issue for a while and still is even in the latest versions. The combinations I tried are in HTML comments in my example.
  • The less rows you have in the table, the shorter the hang is. The more rows you have in the table, the longer the hang is.
  • A password input works just fine when not in the dialog (aka. no hang or delay of any kind).
  • Issue is only found in WebKit browsers (ie. Chrome and Safari). Firefox and IE work properly.

Versions

  • Combinations of jQuery / jQuery UI (see comments in example):
  • jQuery v1.8.3 and jQuery UI v1.9.2
  • jQuery v1.9.1 and jQuery UI v1.10.3
  • jQuery v1.10.2 and jQuery UI v1.10.3
  • Affects browsers:
  • Latest Chrome v29.0.1547.57.
  • Latest Safari v6.0.5.
  • Affects operating systems:
  • Mac 10.7 and 10.8
  • Windows 7 and 8

Fix / Patch

Our team did try to dig into this a bit, but came up empty handed. :(

Attachments (0)
Change History (3)

Changed August 23, 2013 09:31PM UTC by scottgonzalez comment:1

status: newopen
summary: Using a password input in a jQuery UI dialog causes browser to hangDialog: Password input is slow in Safari/Chrome

That's certainly odd. It sounds like a WebKit/Blink bug, but we'll see if we can narrow this down some more.

Changed August 24, 2013 04:24AM UTC by newz2000 comment:2

I spent an hour banging my head on the desk about this yesterday. I tested on Mac OS 10.8 with Chrome 28.0.1500.95, the latest Canary, Safari 6.0.5 (8536.30.1) and Safari 7 on Mavericks. All of them have the same behavior.

I feel very strongly that it is a problem with a rendering engine, but it is weird that it only happens in a jQuery UI dialog. I tested injecting it into the page directly and cannot reproduce the problem. But if it's in a dialog it happens.

I've run the Javascript profiler in Chrome 28.0.1500.95 and Safari 6.0.5 (8536.30.1) and found that the time is not spent in any Javascript but in <program>, which presumably is the browser itself.

I'm glad someone was able to make a test case for it because I was willing to throw my hands up and tell people to just use IE. (just kidding, I wouldn't do that)

Changed August 26, 2013 02:03PM UTC by scottgonzalez comment:3

resolution: → cantfix
status: openclosed

This is actually not caused by jQuery UI. You can see the exact same delay just by moving the password field to the end of the body: http://codepen.io/anon/pen/jvxoi