# 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 V96 class Profiler EVENTS = { console_profile_finished: 'consoleProfileFinished', console_profile_started: 'consoleProfileStarted', precise_coverage_delta_update: 'preciseCoverageDeltaUpdate', }.freeze def initialize(devtools) @devtools = devtools end def on(event, &block) event = EVENTS[event] if event.is_a?(Symbol) @devtools.callbacks["Profiler.#{event}"] << block end def disable @devtools.send_cmd('Profiler.disable') end def enable @devtools.send_cmd('Profiler.enable') end def get_best_effort_coverage @devtools.send_cmd('Profiler.getBestEffortCoverage') end def set_sampling_interval(interval:) @devtools.send_cmd('Profiler.setSamplingInterval', interval: interval) end def start @devtools.send_cmd('Profiler.start') end def start_precise_coverage(call_count: nil, detailed: nil, allow_triggered_updates: nil) @devtools.send_cmd('Profiler.startPreciseCoverage', callCount: call_count, detailed: detailed, allowTriggeredUpdates: allow_triggered_updates) end def start_type_profile @devtools.send_cmd('Profiler.startTypeProfile') end def stop @devtools.send_cmd('Profiler.stop') end def stop_precise_coverage @devtools.send_cmd('Profiler.stopPreciseCoverage') end def stop_type_profile @devtools.send_cmd('Profiler.stopTypeProfile') end def take_precise_coverage @devtools.send_cmd('Profiler.takePreciseCoverage') end def take_type_profile @devtools.send_cmd('Profiler.takeTypeProfile') end end # Profiler end # V96 end # DevTools end # Selenium