| 'use strict'; | 
| /* eslint-disable es/no-object-getownpropertynames -- safe */ | 
| var classof = require('../internals/classof-raw'); | 
| var toIndexedObject = require('../internals/to-indexed-object'); | 
| var $getOwnPropertyNames = require('../internals/object-get-own-property-names').f; | 
| var arraySlice = require('../internals/array-slice'); | 
|   | 
| var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames | 
|   ? Object.getOwnPropertyNames(window) : []; | 
|   | 
| var getWindowNames = function (it) { | 
|   try { | 
|     return $getOwnPropertyNames(it); | 
|   } catch (error) { | 
|     return arraySlice(windowNames); | 
|   } | 
| }; | 
|   | 
| // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window | 
| module.exports.f = function getOwnPropertyNames(it) { | 
|   return windowNames && classof(it) === 'Window' | 
|     ? getWindowNames(it) | 
|     : $getOwnPropertyNames(toIndexedObject(it)); | 
| }; |