Commit Graph

220 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
d7e13f128a Build: ESLint: forbid unused function parameters
This commit requires all function parameters to be used, not just the last one.
In cases where that's not possible as we need to match an external API, there's
an escape hatch of prefixing an unused argument with `_`.

This change makes it easier to catch unused AMD dependencies and unused
parameters in internal functions the API of which we may change at will, among
other things.

Unused AMD dependencies have been removed as part of this commit.

Closes gh-4381

(cherry-picked from 438b1a3e8a)
2019-09-26 01:59:57 +02:00
Wonseop Kim
30f5c6c3ee Effect: Fix a unnecessary conditional statement in .stop()
Because of the above conditional, the 'type' variable has a value of type
'string' or undefined. Therefore, boolean comparisons for 'type' variable
is always unnecessary because it return true. The patch removed the
unnecessary conditional statement.

Fixes gh-4374
Closes gh-4375

(cherry picked from commit 110802c7f2)
2019-09-26 01:14:38 +02:00
Jason Bedard
3d732cca6b Core: deprecate jQuery.isFunction
Fixes gh-3609
2018-01-15 09:26:19 -08:00
Timmy Willison
3a8e44745c
Core: deprecate jQuery.proxy (not slated for removal)
Fixes gh-2958
Close gh-3885
2018-01-08 11:28:35 -05:00
Timmy Willison
909e0c9925
Core: deprecate jQuery.now
Fixes gh-2959
Close gh-3884
2018-01-08 11:24:45 -05:00
Nilton Cesar
64a289286a
Core: make camelCase function available only for internal usage
Close gh-3604
Fixes gh-3384
2018-01-08 11:21:22 -05:00
Michał Gołębiowski
731c501155 Docs:Tests: Update IE/Edge-related support comments & tests
Closes gh-3661
2017-05-15 20:37:14 +02:00
Oleg Gaidarenko
6d43dc4233 Effects: stabilize rAF logic & align timeout logic with it
rAF logic was introduced almost three years ago relative to this commit,
as a primary method for scheduling animation (see gh-1578 pull).

With it there was two substantial changes - one was explicitly mentioned
and the other was not.

First, if browser window was hidden aka `document.hidden === true`
it would immediately execute all scheduled animation without waiting
for time pass i.e. tick time become `0` instead of 13 ms of a default value.

Which created possibility for circular executions in case if `complete`
method executed the same animation (see gh-3434 issue).

And the second one - since then there was two ways of scheduling animation:
with `setInterval` and `requestAnimationFrame`, but there was a
difference in their execution.

In case of `setInterval` it waited default `jQuery.fx.interval` value before
actually starting the new tick, not counting the first step which wasn't
set to be executed through tick method (aka `jQuery.fx.tick`).

Whereas `requestAnimationFrame` first scheduled the call and executed
the `step` method right after that, counting the first call of
`jQuery.fx.timer`, `tick` was happening twice in one frame.

But since tests explicitly disabled rAF method i.e.
`requestAnimationFrame = null` and checking only `setInterval` logic,
since it's impossible to do it otherwise - we missed that change.

Faulty logic also was presented with `cancelAnimationFrame`, which couldn't
clear any timers since `raf` scheduler didn't define new `timerId` value.

Because that change was so subtle, apparently no user noticed it proving
that both `cancelAnimationFrame` and `clearInterval` code paths are redundant.

Since `cancelAnimationFrame` didn't work properly and rAF is and was a primary
used code path, plus the same approach is used in other popular animation libs.

Therefore those code paths were removed.

These changes also replace two different functions which schedule the animation
with one, which checks what type of logic should be used and executes it
appropriatley, but for secondary path it now uses `setTimeout` making it more
consistent with rAF path.

Since ticks are happening globally we also don't require to listen
`visibilitychange` event.

It also changes the way how first call is scheduled so execution of
animation will not happen twice in one frame.

No new tests were not introduced, since now `setTimeout` logic should be
equivalent to the rAF one, but one test was changed since now we actually
execute animation at the first tick.

Fixes gh-3434
Closes gh-3559
2017-03-06 19:17:14 +01:00
Richard Gibson
3c89329cb2 Effects: Resolve issues revealed by recent Callbacks fix
Notify full progress before resolving empty animations
Register animation callbacks before their ticker
Remove the right timer when immediately-done animations spawn more

Ref 9d822bc1c1
Fixes gh-3502
Fixes gh-3503
Closes gh-3496
2017-01-16 10:18:49 -08:00
Manoj Kumar
1b9575b9d1 Core: Deprecate jQuery.isArray
Fixes gh-2961
Closes gh-3278
2016-11-30 12:22:24 +01:00
Timmy Willison
3bbcce68d7
Core: rnotwhite -> rhtmlnotwhite and jQuery.trim -> stripAndCollapse
- Renames and changes rnotwhite to focus on HTML whitespace chars
- Change internal use of jQuery.trim to more accurate strip and collapse
- Adds tests to ensure HTML space characters are retained where valid
- Doesn't add tests where the difference is inconsequential and
  existing tests are adequate.

Fixes gh-3003
Fixes gh-3072
Close gh-3316
2016-09-15 10:40:27 -04:00
Oleg Gaidarenko
e4fd41f8fa Build: Update eslint config and fix associated errors 2016-07-15 21:42:25 +04:00
Oleg Gaidarenko
58c6ca9822 Build: ESLint details
Use eslint pragmas, fix new errors, etc

Closes gh-3148
2016-06-11 10:41:33 +03:00
Michał Gołębiowski
305f193aa5 Build: Put all AMD modules in "src/" in strict mode
Fixes gh-3073
2016-04-25 20:25:08 +02:00
Michał Gołębiowski
6072d150d6 Docs: Update support comments to follow the new syntax
The changes follow the spec proposed in:
https://github.com/jquery/contribute.jquery.org/issues/95#issuecomment-69379197
2016-03-30 23:45:17 +02:00
Michał Gołębiowski
693f1b537b Docs: Update support comments related to IE
All support comments were checked for Edge applicability.
2016-03-30 11:21:36 +02:00
Timmy Willison
e04e246552 Effects: remove width/height exception for oldIE
Fixes gh-2488
Close gh-2849
2016-01-21 11:28:55 -05:00
Timmy Willison
a6fc0b1651 CSS: isHidden -> isHiddenWithinTree
Fixes gh-2404
Close gh-2855
2016-01-21 11:27:39 -05:00
Richard Gibson
dba93f79c4 CSS: Restore cascade-override behavior in .show
Fixes gh-2654
Fixes gh-2308
Close gh-2810
Ref 86419b10bf
2016-01-13 16:05:09 -05:00
Thomas Tortorini
3dd3d1357d Effects: Finish should call progress
Fixes gh-2283
Closes gh-2292
2015-09-08 02:40:54 +02:00
Oleg Gaidarenko
10fdad742a Build: Update jscs and lint files
Fixes gh-2056
2015-09-07 20:03:50 +03:00
Corey Frang
b3b2d6c3dd Effects: Adding unit tests for jQuery.Animation
Closes gh-2326
2015-06-26 20:06:03 -04:00
Michał Gołębiowski
842958e7ae Core: Switch from modules to just window.setTimeout etc.
Using modules for window.setTimeout etc. made those functions cached and
disabled Sinon mocking, making effects tests fail. Just writing
window.setTimeout directly is smaller anyway.
2015-06-17 12:59:01 +02:00
Michał Gołębiowski
219c749493 Core: Use window.setTimeout & friends instead of global equivalents
Fixes gh-2177
2015-06-17 12:29:49 +02:00
Richard Gibson
86419b10bf CSS: Ignore the CSS cascade in show()/hide()/etc.
Fixes gh-1767
Fixes gh-2071
Closes gh-2180
2015-05-11 13:00:49 -04:00
Timmy Willison
5f2ea40258 Effects: set default easing using jQuery.easing._default
Fixes gh-2219
Close gh-2218
2015-05-05 10:24:20 -07:00
Mr21
9b03f6df88 CSS: Support relative adjustment in any applicable unit
Fixes gh-1711
Closes gh-2011
2015-03-09 12:00:10 -04:00
Michał Gołębiowski
76df9e4e38 Build: Don't assume the browser environment; smoke test on Node w/ jsdom
Fixes gh-1950
Closes gh-1949
2014-12-26 13:26:46 +01:00
Timmy Willison
c869a1ef8a Build: update grunt-jscs-checker and pass with the new rules 2014-07-17 10:25:59 -07:00
Oleg Gaidarenko
708764f47b Effects: Improve raf logic
* Make animation behave as if jQuery.fx.off = true if document is hidden

* Use cancelAnimationFrame in jQuery.fx.stop

Closes gh-1578
2014-06-16 03:08:46 +04:00
Oleg Gaidarenko
72119e0023 Effects: Reintroduce use of requestAnimationFrame
Same as before, just use don't use prefixes, since they pretty match useless now
and use page visibility API to determine if animation should start.

Also null the requestAnimationFrame attribute in window for tests since
sinon does not provide fake method for it.

Fixes #15147
2014-06-16 03:08:46 +04:00
Dave Methvin
d837f119c3 Support: clean up comments and Support notation
Closes gh-1577
2014-06-10 23:28:14 -04:00
Oleg Gaidarenko
c34dbf5a8d Effects: Respect display value on inline elements
Take "olddisplay" value into the account

Fixes #14824
Closes gh-1566
Ref 73fe17299a
2014-04-30 17:05:48 +04:00
Richard Gibson
890d441aa5 Effects: Don't overwrite display:none when .hide()ing hidden elements
Fixes #14848
Closes gh-1548
2014-03-20 22:54:38 -04:00
Dave Methvin
085814474e Effects: First step() call should match :animated selector
Fixes #14623
Closes gh-1473
2014-01-07 16:01:34 -05:00
Chris Antaki
b8d0d54a3c Reduce size by reordering variable declarations
Close gh-1421
2013-12-16 12:48:46 -05:00
Timmy Willison
a5037cb9e3 Fixes #14450. Remove CommonJS+AMD syntax. 2013-10-15 10:40:48 -04:00
Oleg
cb37994d76 No ticket: fix code style inconsistencies. Closes gh-1361 2013-09-13 01:04:29 +04:00
Timmy Willison
73fe17299a Ensure display: inline-block when animating width/height on inline elements. Fixes #14344. 2013-09-10 14:57:14 -05:00
Timmy Willison
825ac37736 Separate jQuery.fn.init into its own module (for lighter core dependencies across all modules) 2013-09-09 19:13:01 -05:00
Timmy Willison
99191a510e Apply consistent ordering in all modules. -38 bytes. Order modules like functions > jQuery.extend > jQuery.fn.extend. 2013-09-09 13:54:46 -05:00
Timmy Willison
3b53b75160 Break jQuery.access out into its own module to separate it from core; Adjust CommonJS+AMD build support to include non-var dependencies. Convert modules with more than a few dependencies to use CJS+AMD syntax. 2013-09-09 11:34:23 -04:00
Timmy Willison
b534ee2ccf Always return jQuery in modules that can be included separately 2013-09-08 21:25:27 -04:00
Timmy Willison
6318ae6ab9 AMD-ify jQuery sourcegit s! Woo! Fixes #14113, #14163. 2013-08-15 14:15:49 -04:00
Richard Gibson
6fd5e480c1 Fix #13937: Correctly scope .finish() following multi-element .animate(). Thanks @gnarf37. Close gh-1279.
(cherry picked from commit ae9e05e9f3)
2013-05-28 16:49:48 -04:00
Richard Gibson
26980c6ec9 Fix #13939: Same-unit relative animations
(cherry picked from commit 00231d5d94)
2013-05-26 19:53:58 -04:00
Richard Gibson
d80c6aca18 Ref 3971c2eb: Sync with 1.x-master 2013-05-13 20:37:42 -04:00
Richard Gibson
3971c2ebb2 Fix #13855: line-height animations. Close gh-1265. 2013-05-13 18:17:25 -04:00
ros3cin
5179fa00b8 Refactor code in effects to use data_priv. Re- Close gh-1244. 2013-04-17 12:37:23 -04:00
Renato Oliveira dos Santos
ea5c22ec12 Fix #13483. Let slideDown() work after stop(). Close gh-1205. 2013-04-16 23:07:39 -04:00