Bug Tracker

Modify

Ticket #12423 (closed bug: fixed)

Opened 20 months ago

Last modified 19 months ago

jQuery breaks with Comcast Protection Guard and any anti-keylogging protection software on IE7+

Reported by: roger.hu@… Owned by: dmethvin
Priority: low Milestone: 1.8.2
Component: event Version: 1.8.0
Keywords: Cc:
Blocking: Blocked by:

Description

  1. Install Comcast Protection Guard or any anti-key logging software that installs a DLL browser helper object that intercepts keyup events.
  1. Run  http://jsfiddle.net/rTxrc/13/ on IE7/IE8/IE9
  1. Type a keystroke in the textarea: notice the "Object doesn't support this property or method"

The patch is actually quite small-- add handle.apply() checks inside the trigger method, since DLL onclick events appear to show up as a string 'undefined' but do not have the apply() method.

Fire handlers on the event path

for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {

. . .

if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {

event.preventDefault();

}

For more background, see:

 http://hustoknow.blogspot.com/2012/08/the-pernicious-effects-of-comcast_29.html

Change History

comment:1 Changed 20 months ago by sindresorhus

  • Priority changed from undecided to low
  • Component changed from unfiled to event

Comcast should be punished for doing stuff like that... Or Microsoft for giving them the ability...

Last edited 20 months ago by sindresorhus (previous) (diff)

comment:2 Changed 20 months ago by roger.hu@…

This has been a major bug affecting our users for the past few years that eluded us until now. Any application that depends on using jQuery to trigger keyup events manually will encounter this problem, since so many users are installing this anti-keylogger software when they setup Comcast.

The patch we've already implemented and has done tremendous to reduce the number of tickets reported by customers just in the past few days. Could you consider escalating and add the patch in for the next jQuery release? Many thanks!

comment:3 Changed 20 months ago by dmethvin

  • Status changed from new to open
  • Milestone changed from None to 1.next

Well the ticket just came in 2 days ago, and we were in the midst of getting a release out the door. Your description of the problem seems reasonable so I'll mark it open. I am not sure when our next release might be, it could be a month or two.

comment:4 Changed 20 months ago by dmethvin

  • Milestone changed from 1.next to 1.8.2

comment:5 Changed 19 months ago by dmethvin

  • Owner set to dmethvin
  • Status changed from open to assigned

I'll experiment with this to see whether we can get it into 1.8.2.

comment:6 Changed 19 months ago by Dave Methvin

  • Status changed from assigned to closed
  • Resolution set to fixed

Fix #12423. Ensure we can .apply() before we try.

I can't think of an uncontrived way to unit test this, it only occurs in IE when a BHO monkeys with the links.

Changeset: e8e3e90a8620a945d2d4f6012a604d96db2bd317

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.