Bug Tracker

Ticket #3601 (closed bug: duplicate)

Opened 6 years ago

Last modified 3 years ago

Mismatch parameters count passed to jQuery.easing.linear() or jQuery.easing.swing()

Reported by: DanielKatz Owned by:
Priority: minor Milestone: 1.3
Component: effects Version: 1.2.6
Keywords: easing, parameters Cc: DanielKatz, flesler
Blocking: Blocked by:

Description

In some cases mismatch parameters count passed to jQuery.easing.linear() or jQuery.easing.swing() and causing an exception. Test case is provided.

(at the line: this.pos = jQuery.easing[this.options.easing
(jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration);)

Attachments

jquery_bug_test_case.htm Download (1.5 KB) - added by DanielKatz 6 years ago.
bug TestCase
jquerybug.rar Download (29.4 KB) - added by DanielKatz 6 years ago.
Simpler test case
Ticket #3601.patch Download (544 bytes) - added by DanielKatz 6 years ago.
this fixes the case where the callback function is defined in another iframe

Change History

Changed 6 years ago by DanielKatz

bug TestCase

comment:1 follow-ups: ↓ 2 ↓ 3 Changed 6 years ago by flesler

  • Cc DanielKatz, flesler added
  • need changed from Review to Test Case
  • Component changed from unfilled to fx
  • Owner flesler deleted
  • Priority changed from blocker to minor

The test case is really not a good one. The whole iframe+string manipulation can lead to unreal situations.

can you make one that reproduces the error, with a simple html file with no iframes and stuff like that ?

comment:2 in reply to: ↑ 1 Changed 6 years ago by DanielKatz

Replying to flesler:

The test case is really not a good one. The whole iframe+string manipulation can lead to unreal situations.

can you make one that reproduces the error, with a simple html file with no iframes and stuff like that ?

I'l try. but i think this the only case. and it's obviously bug in jQuery because this exception occures on every browser... And logicaly the iframe doesn't make any difference.

Changed 6 years ago by DanielKatz

Simpler test case

comment:3 in reply to: ↑ 1 Changed 6 years ago by DanielKatz

Replying to flesler:

The test case is really not a good one. The whole iframe+string manipulation can lead to unreal situations.

can you make one that reproduces the error, with a simple html file with no iframes and stuff like that ?

I've wrote slightly simpler test case it's attached to the ticket.

comment:4 follow-up: ↓ 5 Changed 6 years ago by flesler

  • need changed from Test Case to Review

Ok then, so the problem is related to iframes.

That's something you don't mention anywhere in the whole ticket.

comment:5 in reply to: ↑ 4 Changed 6 years ago by DanielKatz

Replying to flesler:

Ok then, so the problem is related to iframes.

That's something you don't mention anywhere in the whole ticket.

Yes it is. And if I'd know how to update the description I would. sorry.

comment:6 in reply to: ↑ description Changed 6 years ago by DanielKatz

Replying to DanielKatz:

In some cases mismatch parameters count passed to jQuery.easing.linear() or jQuery.easing.swing() and causing an exception. Test case is provided.

(at the line: this.pos = jQuery.easing[this.options.easing
(jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration);)

Allegedly the bug appears only the code executes in context of onload event of IFrame.

Changed 6 years ago by DanielKatz

this fixes the case where the callback function is defined in another iframe

comment:7 Changed 6 years ago by john

  • Status changed from new to closed
  • Resolution set to duplicate

I'm going to close this as a duplicate of #3618 - because we really should fix .constructor use everywhere in jQuery.

Note: See TracTickets for help on using tickets.