# HG changeset patch # User Eugene Ostroukhov # Date 1276036410 25200 # Node ID dceb3fa1892747d6f6f39bd35e2d6d115913b6ba # Parent 8e561bc07a21b26593c3743fc1480703900de4ee Added support to open function from variables view diff -r 8e561bc07a21 -r dceb3fa18927 org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge.java --- a/org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge.java Tue Jun 08 14:02:43 2010 -0700 +++ b/org.symbian.tools.wrttools.debug.core/src/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge.java Tue Jun 08 15:33:30 2010 -0700 @@ -1,6 +1,5 @@ package org.symbian.tools.wrttools.debug.internal.launch; -import java.io.File; import java.util.ArrayList; import java.util.Collection; @@ -8,14 +7,12 @@ import org.chromium.debug.core.model.BreakpointSynchronizer.Direction; import org.chromium.debug.core.model.ChromiumLineBreakpoint; import org.chromium.debug.core.model.DebugTargetImpl; -import org.chromium.debug.core.model.StackFrame; import org.chromium.debug.core.model.VmResource; import org.chromium.debug.core.model.WorkspaceBridge; import org.chromium.sdk.CallFrame; import org.chromium.sdk.JavascriptVm; import org.chromium.sdk.JavascriptVm.ScriptsCallback; import org.chromium.sdk.Script; -import org.eclipse.core.filesystem.EFS; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IProject; @@ -23,154 +20,124 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.model.ISourceLocator; -import org.eclipse.debug.core.model.IStackFrame; +import org.eclipse.debug.core.sourcelookup.ISourceContainer; +import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector; +import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer; import org.symbian.tools.wrttools.debug.internal.Activator; import org.symbian.tools.wrttools.debug.internal.model.ResourceManager; import org.symbian.tools.wrttools.debug.internal.model.WorkspaceBreakpointHandler; -import org.symbian.tools.wrttools.previewer.PreviewerPlugin; public class WRTProjectWorkspaceBridge implements WorkspaceBridge { - public static final class Factory implements WorkspaceBridge.Factory { - private final IProject project; + public static final class Factory implements WorkspaceBridge.Factory { + private final IProject project; - public Factory(IProject project) { - this.project = project; - } + public Factory(IProject project) { + this.project = project; + } - public WorkspaceBridge attachedToVm(DebugTargetImpl debugTargetImpl, - JavascriptVm javascriptVm) { - return new WRTProjectWorkspaceBridge(debugTargetImpl, javascriptVm, - project); - } + public WorkspaceBridge attachedToVm(DebugTargetImpl debugTargetImpl, JavascriptVm javascriptVm) { + return new WRTProjectWorkspaceBridge(debugTargetImpl, javascriptVm, project); + } - public String getDebugModelIdentifier() { - return DEBUG_MODEL_ID; - } + public String getDebugModelIdentifier() { + return DEBUG_MODEL_ID; + } - public JsLabelProvider getLabelProvider() { - return new WrtLabelProvider(); - } + public JsLabelProvider getLabelProvider() { + return new WrtLabelProvider(); + } + } - } - - public final static String DEBUG_MODEL_ID = "org.symbian.debug"; + public final static String DEBUG_MODEL_ID = "org.symbian.debug"; - private final BreakpointHandler breakpointHandler; - private final JavascriptVm javascriptVm; - private final IProject project; - private final ResourceManager resourceManager; + private final BreakpointHandler breakpointHandler; + private final JavascriptVm javascriptVm; + private final IProject project; + private final ResourceManager resourceManager; - public WRTProjectWorkspaceBridge(DebugTargetImpl debugTargetImpl, - JavascriptVm javascriptVm, IProject project) { - this.javascriptVm = javascriptVm; - this.project = project; + public WRTProjectWorkspaceBridge(DebugTargetImpl debugTargetImpl, JavascriptVm javascriptVm, IProject project) { + this.javascriptVm = javascriptVm; + this.project = project; this.resourceManager = new ResourceManager(); + this.sourceLocator = new WebApplicationSourceLocator(resourceManager); breakpointHandler = new WorkspaceBreakpointHandler(debugTargetImpl, resourceManager); - ILaunch launch = debugTargetImpl.getLaunch(); - launch.setSourceLocator(sourceLocator); - } - - public void beforeDetach() { - // Do nothing - } - - public BreakpointHandler getBreakpointHandler() { - return breakpointHandler; - } - - public void handleVmResetEvent() { - resourceManager.clear(); - } + ILaunch launch = debugTargetImpl.getLaunch(); + try { + sourceLocator.initializeDefaults(launch.getLaunchConfiguration()); + sourceLocator.setSourceContainers(new ISourceContainer[] { new ProjectSourceContainer(project, false) }); + } catch (CoreException e) { + throw new RuntimeException(e); + } + launch.setSourceLocator(sourceLocator); + } - public void launchRemoved() { - // Do nothing - } + public void beforeDetach() { + // Do nothing + } - public void reloadScriptsAtStart() { - javascriptVm.getScripts(new ScriptsCallback() { - public void failure(String errorMessage) { - Activator.log(errorMessage); - } + public BreakpointHandler getBreakpointHandler() { + return breakpointHandler; + } - public void success(Collection