class Selenium::WebDriver::BiDi::Browser

def create_user_context

def create_user_context
  @bidi.send_cmd('browser.createUserContext')
end

def initialize(bidi)

def initialize(bidi)
  @bidi = bidi
end

def remove_user_context(user_context)

def remove_user_context(user_context)
  @bidi.send_cmd('browser.removeUserContext', userContext: user_context)
end

def user_contexts

def user_contexts
  @bidi.send_cmd('browser.getUserContexts')
end

def windows

def windows
  response = @bidi.send_cmd('browser.getClientWindows')
  response['clientWindows'].map do |win_data|
    attributes = {
      handle: win_data['clientWindow'],
      active: win_data['active'],
      height: win_data['height'],
      width: win_data['width'],
      x: win_data['x'],
      y: win_data['y'],
      state: win_data['state']
    }
    Window.new(**attributes)
  end
end