lib/selenium/devtools/v137/runtime.rb



# frozen_string_literal: true

# Licensed to the Software Freedom Conservancy (SFC) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The SFC licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# This file is automatically generated. Any changes will be lost!
module Selenium
  module DevTools
    module V137
      class Runtime
        EVENTS = {
          binding_called: 'bindingCalled',
          console_api_called: 'consoleAPICalled',
          exception_revoked: 'exceptionRevoked',
          exception_thrown: 'exceptionThrown',
          execution_context_created: 'executionContextCreated',
          execution_context_destroyed: 'executionContextDestroyed',
          execution_contexts_cleared: 'executionContextsCleared',
          inspect_requested: 'inspectRequested',
        }.freeze

        def initialize(devtools)
          @devtools = devtools
        end

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

        def await_promise(promise_object_id:, return_by_value: nil, generate_preview: nil)
          @devtools.send_cmd('Runtime.awaitPromise',
                             promiseObjectId: promise_object_id,
                             returnByValue: return_by_value,
                             generatePreview: generate_preview)
        end

        def call_function_on(function_declaration:, object_id: nil, arguments: nil, silent: nil, return_by_value: nil, generate_preview: nil, user_gesture: nil, await_promise: nil, execution_context_id: nil, object_group: nil, throw_on_side_effect: nil, unique_context_id: nil, serialization_options: nil)
          @devtools.send_cmd('Runtime.callFunctionOn',
                             functionDeclaration: function_declaration,
                             objectId: object_id,
                             arguments: arguments,
                             silent: silent,
                             returnByValue: return_by_value,
                             generatePreview: generate_preview,
                             userGesture: user_gesture,
                             awaitPromise: await_promise,
                             executionContextId: execution_context_id,
                             objectGroup: object_group,
                             throwOnSideEffect: throw_on_side_effect,
                             uniqueContextId: unique_context_id,
                             serializationOptions: serialization_options)
        end

        def compile_script(expression:, source_url:, persist_script:, execution_context_id: nil)
          @devtools.send_cmd('Runtime.compileScript',
                             expression: expression,
                             sourceURL: source_url,
                             persistScript: persist_script,
                             executionContextId: execution_context_id)
        end

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

        def discard_console_entries
          @devtools.send_cmd('Runtime.discardConsoleEntries')
        end

        def enable
          @devtools.send_cmd('Runtime.enable')
        end

        def evaluate(expression:, object_group: nil, include_command_line_api: nil, silent: nil, context_id: nil, return_by_value: nil, generate_preview: nil, user_gesture: nil, await_promise: nil, throw_on_side_effect: nil, timeout: nil, disable_breaks: nil, repl_mode: nil, allow_unsafe_eval_blocked_by_csp: nil, unique_context_id: nil, serialization_options: nil)
          @devtools.send_cmd('Runtime.evaluate',
                             expression: expression,
                             objectGroup: object_group,
                             includeCommandLineAPI: include_command_line_api,
                             silent: silent,
                             contextId: context_id,
                             returnByValue: return_by_value,
                             generatePreview: generate_preview,
                             userGesture: user_gesture,
                             awaitPromise: await_promise,
                             throwOnSideEffect: throw_on_side_effect,
                             timeout: timeout,
                             disableBreaks: disable_breaks,
                             replMode: repl_mode,
                             allowUnsafeEvalBlockedByCSP: allow_unsafe_eval_blocked_by_csp,
                             uniqueContextId: unique_context_id,
                             serializationOptions: serialization_options)
        end

        def get_isolate_id
          @devtools.send_cmd('Runtime.getIsolateId')
        end

        def get_heap_usage
          @devtools.send_cmd('Runtime.getHeapUsage')
        end

        def get_properties(object_id:, own_properties: nil, accessor_properties_only: nil, generate_preview: nil, non_indexed_properties_only: nil)
          @devtools.send_cmd('Runtime.getProperties',
                             objectId: object_id,
                             ownProperties: own_properties,
                             accessorPropertiesOnly: accessor_properties_only,
                             generatePreview: generate_preview,
                             nonIndexedPropertiesOnly: non_indexed_properties_only)
        end

        def global_lexical_scope_names(execution_context_id: nil)
          @devtools.send_cmd('Runtime.globalLexicalScopeNames',
                             executionContextId: execution_context_id)
        end

        def query_objects(prototype_object_id:, object_group: nil)
          @devtools.send_cmd('Runtime.queryObjects',
                             prototypeObjectId: prototype_object_id,
                             objectGroup: object_group)
        end

        def release_object(object_id:)
          @devtools.send_cmd('Runtime.releaseObject',
                             objectId: object_id)
        end

        def release_object_group(object_group:)
          @devtools.send_cmd('Runtime.releaseObjectGroup',
                             objectGroup: object_group)
        end

        def run_if_waiting_for_debugger
          @devtools.send_cmd('Runtime.runIfWaitingForDebugger')
        end

        def run_script(script_id:, execution_context_id: nil, object_group: nil, silent: nil, include_command_line_api: nil, return_by_value: nil, generate_preview: nil, await_promise: nil)
          @devtools.send_cmd('Runtime.runScript',
                             scriptId: script_id,
                             executionContextId: execution_context_id,
                             objectGroup: object_group,
                             silent: silent,
                             includeCommandLineAPI: include_command_line_api,
                             returnByValue: return_by_value,
                             generatePreview: generate_preview,
                             awaitPromise: await_promise)
        end

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

        def set_custom_object_formatter_enabled(enabled:)
          @devtools.send_cmd('Runtime.setCustomObjectFormatterEnabled',
                             enabled: enabled)
        end

        def set_max_call_stack_size_to_capture(size:)
          @devtools.send_cmd('Runtime.setMaxCallStackSizeToCapture',
                             size: size)
        end

        def terminate_execution
          @devtools.send_cmd('Runtime.terminateExecution')
        end

        def add_binding(name:, execution_context_id: nil, execution_context_name: nil)
          @devtools.send_cmd('Runtime.addBinding',
                             name: name,
                             executionContextId: execution_context_id,
                             executionContextName: execution_context_name)
        end

        def remove_binding(name:)
          @devtools.send_cmd('Runtime.removeBinding',
                             name: name)
        end

        def get_exception_details(error_object_id:)
          @devtools.send_cmd('Runtime.getExceptionDetails',
                             errorObjectId: error_object_id)
        end

      end # Runtime
    end # V137
  end # DevTools
end # Selenium