chrome-dev-tools-patches/stack-line-numbers-patch.txt
changeset 360 c1c74d169148
parent 359 dceb3fa18927
child 361 08e920dda3d9
equal deleted inserted replaced
359:dceb3fa18927 360:c1c74d169148
     1 Index: src/org/chromium/debug/core/model/DebugTargetImpl.java
       
     2 ===================================================================
       
     3 --- src/org/chromium/debug/core/model/DebugTargetImpl.java	(revision 307)
       
     4 +++ src/org/chromium/debug/core/model/DebugTargetImpl.java	(working copy)
       
     5 @@ -474,6 +474,10 @@
       
     6    public WorkspaceBridge.JsLabelProvider getLabelProvider() {
       
     7      return workspaceBridgeFactory.getLabelProvider();
       
     8    }
       
     9 +  
       
    10 +  public int getLineNumber(CallFrame stackFrame) {
       
    11 +    return workspaceRelations.getLineNumber(stackFrame);
       
    12 +  }
       
    13  
       
    14    private static class ListenerBlock {
       
    15      private volatile boolean isBlocked = true;
       
    16 Index: src/org/chromium/debug/core/model/StackFrame.java
       
    17 ===================================================================
       
    18 --- src/org/chromium/debug/core/model/StackFrame.java	(revision 307)
       
    19 +++ src/org/chromium/debug/core/model/StackFrame.java	(working copy)
       
    20 @@ -194,8 +194,7 @@
       
    21    }
       
    22  
       
    23    public int getLineNumber() throws DebugException {
       
    24 -    // convert 0-based to 1-based
       
    25 -    return stackFrame.getLineNumber() + 1;
       
    26 +    return getDebugTarget().getLineNumber(stackFrame);
       
    27    }
       
    28  
       
    29    public int getCharStart() throws DebugException {
       
    30 Index: src/org/chromium/debug/core/model/VProjectWorkspaceBridge.java
       
    31 ===================================================================
       
    32 --- src/org/chromium/debug/core/model/VProjectWorkspaceBridge.java	(revision 307)
       
    33 +++ src/org/chromium/debug/core/model/VProjectWorkspaceBridge.java	(working copy)
       
    34 @@ -230,6 +230,11 @@
       
    35      }
       
    36    };
       
    37  
       
    38 +  public int getLineNumber(CallFrame stackFrame) {
       
    39 +    // convert 0-based to 1-based
       
    40 +    return stackFrame.getLineNumber() + 1;
       
    41 +  }
       
    42 +  
       
    43    /**
       
    44     * This very simple source locator works because we provide our own source files.
       
    45     * We'll have to try harder, once we link with resource js files.
       
    46 @@ -282,4 +287,5 @@
       
    47        return name;
       
    48      }
       
    49    };
       
    50 +
       
    51  }
       
    52 Index: src/org/chromium/debug/core/model/WorkspaceBridge.java
       
    53 ===================================================================
       
    54 --- src/org/chromium/debug/core/model/WorkspaceBridge.java	(revision 307)
       
    55 +++ src/org/chromium/debug/core/model/WorkspaceBridge.java	(working copy)
       
    56 @@ -7,6 +7,7 @@
       
    57  import java.util.Collection;
       
    58  
       
    59  import org.chromium.sdk.Breakpoint;
       
    60 +import org.chromium.sdk.CallFrame;
       
    61  import org.chromium.sdk.JavascriptVm;
       
    62  import org.chromium.sdk.Script;
       
    63  import org.eclipse.core.resources.IFile;
       
    64 @@ -86,6 +87,12 @@
       
    65    BreakpointHandler getBreakpointHandler();
       
    66  
       
    67    /**
       
    68 +   * Returns editor line number for the provided call stack frame applying all required 
       
    69 +   * editor-specific translations.
       
    70 +   */
       
    71 +  int getLineNumber(CallFrame stackFrame);
       
    72 +
       
    73 +  /**
       
    74     * Breakpoint-related aspect of {@link WorkspaceBridge} interface.
       
    75     */
       
    76    interface BreakpointHandler extends IBreakpointListener {