File tree Expand file tree Collapse file tree 2 files changed +17
-5
lines changed
Expand file tree Collapse file tree 2 files changed +17
-5
lines changed Original file line number Diff line number Diff line change @@ -502,10 +502,15 @@ jQuery.extend({
502502 return false ;
503503 }
504504
505- // Not own constructor property must be Object
506- if ( obj . constructor &&
507- ! hasOwn . call ( obj , "constructor" ) &&
508- ! hasOwn . call ( obj . constructor . prototype , "isPrototypeOf" ) ) {
505+ try {
506+ // Not own constructor property must be Object
507+ if ( obj . constructor &&
508+ ! hasOwn . call ( obj , "constructor" ) &&
509+ ! hasOwn . call ( obj . constructor . prototype , "isPrototypeOf" ) ) {
510+ return false ;
511+ }
512+ } catch ( e ) {
513+ // IE8,9 Will throw exceptions on certain host objects #9897
509514 return false ;
510515 }
511516
Original file line number Diff line number Diff line change @@ -290,7 +290,7 @@ test("type", function() {
290290} ) ;
291291
292292test ( "isPlainObject" , function ( ) {
293- expect ( 14 ) ;
293+ expect ( 15 ) ;
294294
295295 stop ( ) ;
296296
@@ -331,6 +331,13 @@ test("isPlainObject", function() {
331331 // Window
332332 ok ( ! jQuery . isPlainObject ( window ) , "window" ) ;
333333
334+ try {
335+ jQuery . isPlainObject ( window . location ) ;
336+ ok ( true , "Does not throw exceptions on host objects" ) ;
337+ } catch ( e ) {
338+ ok ( false , "Does not throw exceptions on host objects -- FAIL" ) ;
339+ }
340+
334341 try {
335342 var iframe = document . createElement ( "iframe" ) ;
336343 document . body . appendChild ( iframe ) ;
You can’t perform that action at this time.
0 commit comments