code: function (child, parent, visited) {
    // Check for circular reference.
    if (visited == null) visited = new Set()
    if (visited.has(parent)) return
  
    visited.add(parent)
    for (const key in parent) {
      if (key === 'isBrowserView') continue
      if (!hasProp.call(parent, key)) continue
      if (key in child && key !== 'webPreferences') continue
  
      const value = parent[key]
      if (typeof value === 'object') {
        child[key] = mergeOptions(child[key] || {}, value, visited)
      } else {
        child[key] = value
      }
    }
    visited.delete(parent)
  
    return child
  }
docs: Copy attribute of |parent| to |child| if it is not defined in |child|.