class Selenium::DevTools::V101::Debugger

def continue_to_location(location:, target_call_frames: nil)

def continue_to_location(location:, target_call_frames: nil)
  @devtools.send_cmd('Debugger.continueToLocation',
                     location: location,
                     targetCallFrames: target_call_frames)
end

def disable

def disable
  @devtools.send_cmd('Debugger.disable')
end

def enable(max_scripts_cache_size: nil)

def enable(max_scripts_cache_size: nil)
  @devtools.send_cmd('Debugger.enable',
                     maxScriptsCacheSize: max_scripts_cache_size)
end

def evaluate_on_call_frame(call_frame_id:, expression:, object_group: nil, include_command_line_api: nil, silent: nil, return_by_value: nil, generate_preview: nil, throw_on_side_effect: nil, timeout: nil)

def evaluate_on_call_frame(call_frame_id:, expression:, object_group: nil, include_command_line_api: nil, silent: nil, return_by_value: nil, generate_preview: nil, throw_on_side_effect: nil, timeout: nil)
  @devtools.send_cmd('Debugger.evaluateOnCallFrame',
                     callFrameId: call_frame_id,
                     expression: expression,
                     objectGroup: object_group,
                     includeCommandLineAPI: include_command_line_api,
                     silent: silent,
                     returnByValue: return_by_value,
                     generatePreview: generate_preview,
                     throwOnSideEffect: throw_on_side_effect,
                     timeout: timeout)
end

def get_possible_breakpoints(start:, _end: nil, restrict_to_function: nil)

def get_possible_breakpoints(start:, _end: nil, restrict_to_function: nil)
  @devtools.send_cmd('Debugger.getPossibleBreakpoints',
                     start: start,
                     end: _end,
                     restrictToFunction: restrict_to_function)
end

def get_script_source(script_id:)

def get_script_source(script_id:)
  @devtools.send_cmd('Debugger.getScriptSource',
                     scriptId: script_id)
end

def get_stack_trace(stack_trace_id:)

def get_stack_trace(stack_trace_id:)
  @devtools.send_cmd('Debugger.getStackTrace',
                     stackTraceId: stack_trace_id)
end

def get_wasm_bytecode(script_id:)

def get_wasm_bytecode(script_id:)
  @devtools.send_cmd('Debugger.getWasmBytecode',
                     scriptId: script_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["Debugger.#{event}"] << block
end

def pause

def pause
  @devtools.send_cmd('Debugger.pause')
end

def pause_on_async_call(parent_stack_trace_id:)

def pause_on_async_call(parent_stack_trace_id:)
  @devtools.send_cmd('Debugger.pauseOnAsyncCall',
                     parentStackTraceId: parent_stack_trace_id)
end

def remove_breakpoint(breakpoint_id:)

def remove_breakpoint(breakpoint_id:)
  @devtools.send_cmd('Debugger.removeBreakpoint',
                     breakpointId: breakpoint_id)
end

def restart_frame(call_frame_id:)

def restart_frame(call_frame_id:)
  @devtools.send_cmd('Debugger.restartFrame',
                     callFrameId: call_frame_id)
end

def resume(terminate_on_resume: nil)

def resume(terminate_on_resume: nil)
  @devtools.send_cmd('Debugger.resume',
                     terminateOnResume: terminate_on_resume)
end

def search_in_content(script_id:, query:, case_sensitive: nil, is_regex: nil)

def search_in_content(script_id:, query:, case_sensitive: nil, is_regex: nil)
  @devtools.send_cmd('Debugger.searchInContent',
                     scriptId: script_id,
                     query: query,
                     caseSensitive: case_sensitive,
                     isRegex: is_regex)
end

def set_async_call_stack_depth(max_depth:)

def set_async_call_stack_depth(max_depth:)
  @devtools.send_cmd('Debugger.setAsyncCallStackDepth',
                     maxDepth: max_depth)
end

def set_blackbox_patterns(patterns:)

def set_blackbox_patterns(patterns:)
  @devtools.send_cmd('Debugger.setBlackboxPatterns',
                     patterns: patterns)
end

def set_blackboxed_ranges(script_id:, positions:)

def set_blackboxed_ranges(script_id:, positions:)
  @devtools.send_cmd('Debugger.setBlackboxedRanges',
                     scriptId: script_id,
                     positions: positions)
end

def set_breakpoint(location:, condition: nil)

def set_breakpoint(location:, condition: nil)
  @devtools.send_cmd('Debugger.setBreakpoint',
                     location: location,
                     condition: condition)
end

def set_breakpoint_by_url(line_number:, url: nil, url_regex: nil, script_hash: nil, column_number: nil, condition: nil)

def set_breakpoint_by_url(line_number:, url: nil, url_regex: nil, script_hash: nil, column_number: nil, condition: nil)
  @devtools.send_cmd('Debugger.setBreakpointByUrl',
                     lineNumber: line_number,
                     url: url,
                     urlRegex: url_regex,
                     scriptHash: script_hash,
                     columnNumber: column_number,
                     condition: condition)
end

def set_breakpoint_on_function_call(object_id:, condition: nil)

def set_breakpoint_on_function_call(object_id:, condition: nil)
  @devtools.send_cmd('Debugger.setBreakpointOnFunctionCall',
                     objectId: object_id,
                     condition: condition)
end

def set_breakpoints_active(active:)

def set_breakpoints_active(active:)
  @devtools.send_cmd('Debugger.setBreakpointsActive',
                     active: active)
end

def set_instrumentation_breakpoint(instrumentation:)

def set_instrumentation_breakpoint(instrumentation:)
  @devtools.send_cmd('Debugger.setInstrumentationBreakpoint',
                     instrumentation: instrumentation)
end

def set_pause_on_exceptions(state:)

def set_pause_on_exceptions(state:)
  @devtools.send_cmd('Debugger.setPauseOnExceptions',
                     state: state)
end

def set_return_value(new_value:)

def set_return_value(new_value:)
  @devtools.send_cmd('Debugger.setReturnValue',
                     newValue: new_value)
end

def set_script_source(script_id:, script_source:, dry_run: nil)

def set_script_source(script_id:, script_source:, dry_run: nil)
  @devtools.send_cmd('Debugger.setScriptSource',
                     scriptId: script_id,
                     scriptSource: script_source,
                     dryRun: dry_run)
end

def set_skip_all_pauses(skip:)

def set_skip_all_pauses(skip:)
  @devtools.send_cmd('Debugger.setSkipAllPauses',
                     skip: skip)
end

def set_variable_value(scope_number:, variable_name:, new_value:, call_frame_id:)

def set_variable_value(scope_number:, variable_name:, new_value:, call_frame_id:)
  @devtools.send_cmd('Debugger.setVariableValue',
                     scopeNumber: scope_number,
                     variableName: variable_name,
                     newValue: new_value,
                     callFrameId: call_frame_id)
end

def step_into(break_on_async_call: nil, skip_list: nil)

def step_into(break_on_async_call: nil, skip_list: nil)
  @devtools.send_cmd('Debugger.stepInto',
                     breakOnAsyncCall: break_on_async_call,
                     skipList: skip_list)
end

def step_out

def step_out
  @devtools.send_cmd('Debugger.stepOut')
end

def step_over(skip_list: nil)

def step_over(skip_list: nil)
  @devtools.send_cmd('Debugger.stepOver',
                     skipList: skip_list)
end