// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. package org.chromium.sdk; import org.chromium.sdk.JavascriptVm.BreakpointCallback; import org.chromium.sdk.util.GenericCallback; /** * An extension to breakpoint API that supports 'ignore count' property. Some backends * or VM versions may not support it. * @see JavascriptVm#getIgnoreCountBreakpointExtension() * @see Breakpoint#getIgnoreCountBreakpointExtension() */ public interface IgnoreCountBreakpointExtension { /** * This value is used when the corresponding parameter is absent. * * @see #setIgnoreCount */ int EMPTY_VALUE = Breakpoint.EMPTY_VALUE; /** * Sets a breakpoint with the specified parameters. * @param target of the breakpoint * @param line in the script or function (1-based). If none, use * {@link Breakpoint#EMPTY_VALUE} * @param column of the target start within the line (1-based). If none, use * {@link Breakpoint#EMPTY_VALUE} * @param enabled whether the breakpoint is enabled initially * @param ignoreCount number specifying the amount of breakpoint hits to * ignore. If none, use {@link #EMPTY_VALUE} * @param condition nullable string with breakpoint condition * @param callback to invoke when the evaluation result is ready, * may be {@code null} */ RelayOk setBreakpoint(JavascriptVm javascriptVm, Breakpoint.Target target, int line, int column, boolean enabled, String condition, int ignoreCount, BreakpointCallback callback, SyncCallback syncCallback); /** * Sets the ignore count for this breakpoint ({@code EMPTY_VALUE} to clear). * Does <strong>not</strong> require subsequent flush call. * @param ignoreCount the new ignored hits count to set */ RelayOk setIgnoreCount(Breakpoint breakpoint, int ignoreCount, GenericCallback<Void> callback, SyncCallback syncCallback); }