Commit Graph

376 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
1d61fd9407 Manipulation: Make jQuery.htmlPrefilter an identity function
Closes gh-4642

(cherry picked from 90fed4b453)
2020-03-16 21:59:49 +01:00
Michał Gołębiowski-Owczarek
413ff796ae Data:Event:Manipulation: Prevent collisions with Object.prototype
Make sure events & data keys matching Object.prototype properties work.
A separate fix for such events on cloned elements was added as well.

Fixes gh-3256
Closes gh-4603

(cherry picked from commit 9d76c0b163)
2020-03-02 23:05:58 +01:00
Michał Gołębiowski-Owczarek
3dedc3f2d4 Core: Fire iframe script in its context, add doc param in globalEval
1. Support passing custom document to jQuery.globalEval; the script will be
   invoked in the context of this document.
2. Fire external scripts appended to iframe contents in that iframe context;
   this was already supported & tested for inline scripts but not for external
   ones.

Fixes gh-4518
Closes gh-4601

(cherry picked from commit 4592595b47)
2020-02-10 19:20:50 +01:00
Ahmed.S.ElAfifi
2f666c1dab Core: Use Array.prototype.flat where supported
Calling `Array.prototype.concat.apply( [], inputArray )` to flatten `inputArray`
crashes for large arrays; using `Array.prototype.flat` avoids these issues in
browsers that support it. In case it's necessary to support these large arrays
even in older browsers, a polyfill for `Array.prototype.flat` can be loaded.
This is already being done by many applications.

(cherry picked from 9df4f1de12)

Fixes gh-4320
Closes gh-4459
2019-09-25 17:49:32 +02:00
buddh4
005040379d Core: Preserve CSP nonce on scripts with src attribute in DOM manipulation
Fixes gh-4323
Closes gh-4328
2019-03-25 18:14:24 +01:00
Richard Gibson
669f720edc Event: Leverage native events for focus/blur/click; propagate additional data
Summary of the changes/fixes:
1. Trigger checkbox and radio click events identically (cherry-picked from
   b442abacbb that was reverted before).
2. Manually trigger a native event before checkbox/radio handlers.
3. Add test coverage for triggering namespaced native-backed events.
4. Propagate extra parameters passed when triggering the click event to
   the handlers.
5. Intercept and preserve namespaced native-backed events.
6. Leverage native events for focus and blur.
7. Accept that focusin handlers may fire more than once for now.

Fixes gh-1741
Fixes gh-3423
Fixes gh-3751
Fixes gh-4139
Closes gh-4279
Ref gh-1367
Ref gh-3494
2019-03-20 16:40:16 +01:00
Michał Gołębiowski-Owczarek
5bdc85b82b
Core: Support passing nonce through jQuery.globalEval
Fixes gh-4278
Closes gh-4280
Ref gh-3541
Ref gh-4269
2019-01-21 18:42:39 +01:00
Michał Gołębiowski-Owczarek
e4de8b4626
Manipulation: Respect script nomodule attribute in DOM manipulation
PR #3869 added support for `<script type="module">` & some support for
the `nomodule` attribute but with no tests for `nomodule` and with the
attribute only respected on inline scripts. This commit adds support for
source-based scripts as well. It also adds tests for `nomodule`, including
making sure legacy browsers execute such scripts as they'd natively do - that's
the whole point of `nomodule` scripts, after all.

Fixes gh-4281
Closes gh-4282
Ref gh-3871
Ref gh-3869
2019-01-21 18:34:40 +01:00
Saptak Sengupta
9b77def560 Core: Recognize Shadow DOM in attachment checks
Allow `isAttached` to check Shadow DOM for attachment.

Fixes gh-3504
Closes gh-3996
Ref gh-3977
2018-11-09 12:15:31 +01:00
Saptak Sengupta
662083ed7b Core: Use isAttached to check for attachment of element
This change replaces the use of contains to check for attachment
by isAttached function

Closes gh-3977
Ref gh-3504
2018-03-05 18:57:03 +01:00
basil.belokon
5d3a968e03
Manipulation: Add support for scripts with module type
Fixes gh-3871
Close gh-3869
2018-01-16 11:39:16 -05:00
Jason Bedard
3d732cca6b Core: deprecate jQuery.isFunction
Fixes gh-3609
2018-01-15 09:26:19 -08:00
Timmy Willison
a88b48eab1
Manipulation: use .children to select tbody elements
- selectors beginning with a child combinator are not valid natively.
  This fixes the tests when using selector-native.js
2018-01-08 11:39:29 -05:00
Richard Gibson
0aa832afec
Manipulation: Reduce size by eliminating single-use variable
Closes gh-3851
2017-11-22 14:43:44 -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
Timmy Willison
4d6b4536b2
Revert "Event: Trigger checkbox and radio click events identically"
This reverts commit b442abacbb.
2017-03-20 12:24:49 -04:00
Timmy Willison
56136897f2
Build: fix tests in AMD mode
- nodeName was included at the wrong spot in dependency lists
2017-03-06 18:31:44 -05:00
karan-96
ac9e301664 Core: Deprecate jQuery.nodeName
Fixes gh-3475
Closes gh-3505
2017-03-01 11:48:11 +01:00
Alex Padilla
b442abacbb Event: Trigger checkbox and radio click events identically
Fixes gh-3423
Closes gh-3494
2017-01-19 16:51:49 -05:00
Richard Gibson
efdb8a46e4 Manipulation: Restrict the tbody search to child nodes
For performance, use a querySelectorAll path instead of Javascript iteration.
http://codepen.io/anon/pen/vywJjx?editors=1010

Fixes gh-3439
Closes gh-3463
2017-01-09 11:37:12 -08: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
Jon Dufresne
b0b280cd61 Docs: Updated links to https where they are supported.
Close gh-2746
2016-01-13 13:26:10 -05:00
Leonardo Braga
fb9472c7fb Manipulation: Bring tagname regexes up to spec
Fixes gh-2005
Closes gh-2634
2016-01-07 16:48:49 -05:00
Oleg Gaidarenko
6680c1b29e Core: do not expose second argument of the jQuery.globalEval
Closes jquery/api.jquery.com#831
Closes gh-2718
2015-12-02 17:09:01 +03:00
Timmy Willison
22449eb968 Manipulation: execute scripts from iframe in the iframe's context
Fixes gh-1757
Close gh-2696
2015-11-09 14:14:30 -05:00
Jason Bedard
0e982433eb Data: avoid using delete on DOM nodes
Closes gh-2479
2015-09-08 20:22:54 +02:00
Sean Henderson
d4def22e4c Manipulation: Switch rnoInnerhtml to a version more performant in IE
IE versions greater than 9 do not handle the old regular expression well
with large html content. This is due to the use of a non-capturing group
after a very common html character (<).

Test suite: http://jsfiddle.net/Lwa0t5rp/3/
Microsoft bug: https://connect.microsoft.com/IE/feedback/details/1736512/

Fixes gh-2563
Closes gh-2574
2015-09-08 19:31:57 +02:00
Jason Bedard
224271982e Data: Don't expose jQuery.acceptData
jQuery.acceptData is an undocumented internal API that shouldn't be exposed.

Fixes gh-2555
2015-09-08 01:00:31 +02:00
Oleg Gaidarenko
10fdad742a Build: Update jscs and lint files
Fixes gh-2056
2015-09-07 20:03:50 +03:00
Jason Bedard
5fe76c663f Data: remove user data in cleanData
Fixes gh-2503
Closes gh-2480
2015-07-28 14:22:03 +02:00
Michał Gołębiowski
349edbd6c5 Manipulation: Remove an internal argument to the remove method
Fixes gh-2301
Closes gh-2366
2015-06-14 00:07:31 +02:00
Timmy Willison
62d5579578 Manipulation: privatize internal domManip() function
Fixes gh-2225
2015-05-05 11:53:26 -07:00
Timmy Willison
a74320fca8 Manipulation: privatize buildFragment() function
Fixes gh-2224
2015-05-05 11:44:55 -07:00
Richard Gibson
225bde37c9 Manipulation: Make an HTML interception point
Fixes gh-1747
Closes gh-2203
2015-04-30 13:15:33 -04:00
Richard Gibson
4b27ae16a2 Manipulation: Detect sneaky no-content replaceWith input
Fixes gh-2204
Ref 642e9a4557
Closes gh-1752
Closes gh-2206
2015-04-30 11:36:38 -04:00
Rick Waldron
332fd941b4 Data: restore explicit data removal of private data in cleanData.
Fixes gh-2127
Closes gh-2132
2015-03-09 13:51:16 -04:00
Rick Waldron
d702b7637a Data: move element cache to element[expando]
- avoid explicit data.discard() cleanup calls
- explicitly remove the data.events property, only when private data exists
- reduces code footprint

Fixes gh-1734
Close gh-1428
2015-03-04 17:26:47 -05:00
Oleg Gaidarenko
e984d1c79c Manipulation: don't auto-insert tbody
Fixes gh-1835
Closes gh-2021
2015-02-11 16:49:59 +03:00
Oleg Gaidarenko
0ea342a6a6 Manipulation: simplify html wrappers
Take advantage of html serialization for html wrappers - saves 26 bytes
Plus add additional test for "col" element

Closes gh-2031
Fixes gh-2002
2015-02-10 23:44:01 +03:00
Leonardo Braga
85ffc6d973 Manipulation: add support to tag-hyphenated elements
Fixes #1987
Closes gh-1988
2015-01-13 07:42:59 +03:00
Richard Gibson
53aa87f3bf Core: Standardize indexOf comparisons
not present: `< 0`
present: `> -1`
at index: `=== N`

Closes gh-1984
2015-01-10 23:47:01 -05:00
Michał Gołębiowski
740e190223 Misc: Drop support for older browsers; update support comments
That includes Opera 12.x, Firefox<29, Safari<6.0 and some hacks
for old Blackberry.

Closes gh-1820
Refs gh-1815
2014-11-03 18:37:26 +01:00
Timmy Willison
758fd6cea9 Docs: 1.x-master branch -> compat branch; 2.x branch -> master branch 2014-11-03 12:34:45 -05:00
Richard Gibson
1ae025e24f Manipulation: Tolerate XMLNode host object input to getAll
Fixes #15151
Ref 25712d77c3
Closes gh-1602
2014-09-04 02:41:57 -04:00
Timmy Willison
c869a1ef8a Build: update grunt-jscs-checker and pass with the new rules 2014-07-17 10:25:59 -07:00
Dave Methvin
d837f119c3 Support: clean up comments and Support notation
Closes gh-1577
2014-06-10 23:28:14 -04:00
Michał Gołębiowski
a96d5bed58 Manipulation: don't use Object.keys for consistency
Fixes #14659
2014-03-09 23:31:59 +01:00