Bug Tracker

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#11123 closed enhancement (invalid)

jQuery.support.checkClone and all associated code should be removed from jQuery

Reported by: markel Owned by:
Priority: low Milestone: 1.next
Component: manipulation Version: 1.7.1
Keywords: Cc:
Blocked by: Blocking:

Description

Related to -- http://bugs.jquery.com/ticket/5929

I run jQuery code without this check in Chrome, for versions 5, 8, 10, 16 and also for Safari 5, 4, 3 (just in case), bug persist only in Chrome 5 and Safari 4, 3. Accordingly browser compability page -- http://docs.jquery.com/Browser_Compatibility, older versions of Safari and Chrome is no longer supported.

Interestingly enough, current check even for Chrome 5 and Safari 4, 3 return true, apparently, bug existed only for input with type radio and only if input has a name attribute. This commit was doing correct check -- https://github.com/jquery/jquery/commit/bed759c95ca6d796125653b540e8611dc63b38bb#diff-1 Somewhere along the way check was altered and imperceptibly became broken…

pull request -- https://github.com/jquery/jquery/pull/650

Change History (5)

comment:1 Changed 8 years ago by Rick Waldron

Component: unfiledmanipulation
Milestone: None1.8
Priority: undecidedlow
Status: newopen

Nice find - we should have this reviewed by the jQuery Mobile devs, as they deal with older (mobile) Safari versions on iOS

comment:2 Changed 8 years ago by timmywil

How does our test return false in Chrome but true in other browsers if it is a faulty test? However, if cloned radio inputs retain the checked state on a fragment (not a document), I will believe it.

comment:3 Changed 8 years ago by markel

I did not accounte mobile browsers in this ticket. jQuery mobile supports a lot of browsers that uses Safari 4. IPhone upto version 4.1 ( jQuery mobile support for IPhone begins at 3.2 version ) uses Safari 4, Android 2.3 (which covers 50-60% of all Android devices ), use it too ( based on userAgent string ).

I imagine some other mobile devices which supported by jQuery mobile use old webkit too. Obviously it still to early to remove this code, I'm closing pull request and suggesting you close this ticket. So if it should not be removed, then it should be fixed -- http://bugs.jquery.com/ticket/11163

Another thing -- jQuery mobile relies on jQuery, and it supports Safari 4. But jQuery does not? Yes, its a mobile Safari, but it still look weird.

Some additional info:
Why checkClone is always true will illustrate this code --http://jsfiddle.net/EYBXT/1/. This is more fun -- http://jsfiddle.net/fxT2r/

comment:4 Changed 8 years ago by timmywil

Resolution: invalid
Status: openclosed

Closing per OP request. Thank you for looking into it further.

comment:5 Changed 8 years ago by dmethvin

Milestone: 1.81.next
Note: See TracTickets for help on using tickets.