class Selenium::DevTools::V101::Browser

def cancel_download(guid:, browser_context_id: nil)

def cancel_download(guid:, browser_context_id: nil)
  @devtools.send_cmd('Browser.cancelDownload',
                     guid: guid,
                     browserContextId: browser_context_id)
end

def close

def close
  @devtools.send_cmd('Browser.close')
end

def crash

def crash
  @devtools.send_cmd('Browser.crash')
end

def crash_gpu_process

def crash_gpu_process
  @devtools.send_cmd('Browser.crashGpuProcess')
end

def execute_browser_command(command_id:)

def execute_browser_command(command_id:)
  @devtools.send_cmd('Browser.executeBrowserCommand',
                     commandId: command_id)
end

def get_browser_command_line

def get_browser_command_line
  @devtools.send_cmd('Browser.getBrowserCommandLine')
end

def get_histogram(name:, delta: nil)

def get_histogram(name:, delta: nil)
  @devtools.send_cmd('Browser.getHistogram',
                     name: name,
                     delta: delta)
end

def get_histograms(query: nil, delta: nil)

def get_histograms(query: nil, delta: nil)
  @devtools.send_cmd('Browser.getHistograms',
                     query: query,
                     delta: delta)
end

def get_version

def get_version
  @devtools.send_cmd('Browser.getVersion')
end

def get_window_bounds(window_id:)

def get_window_bounds(window_id:)
  @devtools.send_cmd('Browser.getWindowBounds',
                     windowId: window_id)
end

def get_window_for_target(target_id: nil)

def get_window_for_target(target_id: nil)
  @devtools.send_cmd('Browser.getWindowForTarget',
                     targetId: target_id)
end

def grant_permissions(permissions:, origin: nil, browser_context_id: nil)

def grant_permissions(permissions:, origin: nil, browser_context_id: nil)
  @devtools.send_cmd('Browser.grantPermissions',
                     permissions: permissions,
                     origin: origin,
                     browserContextId: browser_context_id)
end

def initialize(devtools)

def initialize(devtools)
  @devtools = devtools
end

def on(event, &block)

def on(event, &block)
  event = EVENTS[event] if event.is_a?(Symbol)
  @devtools.callbacks["Browser.#{event}"] << block
end

def reset_permissions(browser_context_id: nil)

def reset_permissions(browser_context_id: nil)
  @devtools.send_cmd('Browser.resetPermissions',
                     browserContextId: browser_context_id)
end

def set_dock_tile(badge_label: nil, image: nil)

def set_dock_tile(badge_label: nil, image: nil)
  @devtools.send_cmd('Browser.setDockTile',
                     badgeLabel: badge_label,
                     image: image)
end

def set_download_behavior(behavior:, browser_context_id: nil, download_path: nil, events_enabled: nil)

def set_download_behavior(behavior:, browser_context_id: nil, download_path: nil, events_enabled: nil)
  @devtools.send_cmd('Browser.setDownloadBehavior',
                     behavior: behavior,
                     browserContextId: browser_context_id,
                     downloadPath: download_path,
                     eventsEnabled: events_enabled)
end

def set_permission(permission:, setting:, origin: nil, browser_context_id: nil)

def set_permission(permission:, setting:, origin: nil, browser_context_id: nil)
  @devtools.send_cmd('Browser.setPermission',
                     permission: permission,
                     setting: setting,
                     origin: origin,
                     browserContextId: browser_context_id)
end

def set_window_bounds(window_id:, bounds:)

def set_window_bounds(window_id:, bounds:)
  @devtools.send_cmd('Browser.setWindowBounds',
                     windowId: window_id,
                     bounds: bounds)
end