# HG changeset patch # User Eugene Ostroukhov # Date 1282582557 25200 # Node ID 06589bf52fa72ae7dbdcbc96a507565feb0c2021 # Parent d4809db37847f07e6ba77510f61239be7379ca2f Refactoring and restructuring the repository diff -r d4809db37847 -r 06589bf52fa7 documentation/.project --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/documentation/.project Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,11 @@ + + + Documentation + + + + + + + + diff -r d4809db37847 -r 06589bf52fa7 documentation/tmw_overview.uxf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/documentation/tmw_overview.uxf Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,54 @@ +// Uncomment the following line to change the fontsize: +// fontsize=14 + + +////////////////////////////////////////////////////////////////////////////////////////////// +// Welcome to UMLet! +// +// Double-click on UML elements to add them to the diagram, or to copy them +// Edit elements by modifying the text in this panel +// Hold Ctrl to select multiple elements +// Use Ctrl+mouse to select via lasso +// +// Use ± or Ctrl+mouse wheel to zoom +// Drag a whole relation at its central square icon +// +// Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word) +// Edit the files in the "palettes" directory to create your own element palettes +// +// Select "Custom Elements > New..." to create new element types +////////////////////////////////////////////////////////////////////////////////////////////// + + +// This text will be stored with each diagram; use it for notes.10com.umlet.element.base.Class16026015030Mobile Web Runtimecom.umlet.element.base.Package8020750140Faceted Project Framework +bg=orangecom.umlet.element.base.Class1708014030Runtimecom.umlet.element.base.Class3708014030Runtime Componentcom.umlet.element.base.Class5908015030Project Facetcom.umlet.element.base.Relation2806011050lt=<<<<-30;30;90;30com.umlet.element.base.Relation25080200200lt=<<<<- +m1=0..n +m2=0..n +consists of30;180;30;110;180;110;180;30com.umlet.element.base.Relation15080158200lt=<. +m1=1 +m2=1 +<<instanceOf>>80;30;80;180com.umlet.element.base.Relation4804013070lt=<. +Supports110;50;30;50com.umlet.element.base.Class59026015030TMW Projectcom.umlet.element.base.Relation28022033070lt=<. +m1=1 +m2=m +Targets +30;50;310;50com.umlet.element.base.Relation6308070200lt=<. +m1=1..n +has40;30;40;180com.umlet.element.base.Class16040015030Packagercom.umlet.element.base.Relation120260136160lt=<. +from runtime +m1=1 +m2=0..n70;30;70;140com.umlet.element.base.Relation220260110160lt=<. +to runtime +m1=1 +m2=0..n60;30;60;140com.umlet.element.base.Class16066015030Deployment target typecom.umlet.element.base.Relation0240180450lt=<. +accepts +m1=0..n +m2=0..n160;30;60;30;60;430;160;430com.umlet.element.base.Class16053015030Deployment targetcom.umlet.element.base.Relation250260440290lt=<. +deploys to30;270;30;210;420;210;420;30com.umlet.element.base.Relation18040088150lt=<. +uses50;30;50;130com.umlet.element.base.Relation170530114150lt=<. +m1=1 +m2=0..n +is of type60;130;60;30com.umlet.element.base.Package80210750230TMW Project Model +bg=yellowcom.umlet.element.base.Package80490330230Application Deployment +bg=redcom.umlet.element.base.Package123029014070EmptyPackage +bg=orange \ No newline at end of file diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.core/bin/org/symbian/tools/tmw/core/internal/runtimes/LazyPackager.class Binary file plugins/org.symbian.tools.tmw.core/bin/org/symbian/tools/tmw/core/internal/runtimes/LazyPackager.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.core/bin/org/symbian/tools/tmw/core/internal/runtimes/MobileWebRuntime.class Binary file plugins/org.symbian.tools.tmw.core/bin/org/symbian/tools/tmw/core/internal/runtimes/MobileWebRuntime.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.core/plugin.xml --- a/plugins/org.symbian.tools.tmw.core/plugin.xml Thu Aug 19 17:48:04 2010 -0700 +++ b/plugins/org.symbian.tools.tmw.core/plugin.xml Mon Aug 23 09:55:57 2010 -0700 @@ -142,7 +142,7 @@ id="org.symbian.tools.tmw.core" namespace="org.symbian.tools.tmw" properties="istmwproject" - type="org.eclipse.core.resources.IProject"> + type="org.eclipse.core.resources.IResource"> diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.core/src/org/symbian/tools/tmw/core/internal/runtimes/LazyPackager.java --- a/plugins/org.symbian.tools.tmw.core/src/org/symbian/tools/tmw/core/internal/runtimes/LazyPackager.java Thu Aug 19 17:48:04 2010 -0700 +++ b/plugins/org.symbian.tools.tmw.core/src/org/symbian/tools/tmw/core/internal/runtimes/LazyPackager.java Mon Aug 23 09:55:57 2010 -0700 @@ -67,17 +67,20 @@ public IMobileWebRuntime getTargetRuntime() { String id = element.getAttribute("target-runtime"); if (id != null) { - return TMWCore.getRuntimesManager() - .getRuntime(id, element.getAttribute("target-runtime-version")); + return TMWCore.getRuntimesManager().getRuntime(id, element.getAttribute("target-runtime-version")); } else { return getSourceRuntime(); } } public IMobileWebRuntime getSourceRuntime() { - IMobileWebRuntime runtime = TMWCore.getRuntimesManager() - .getRuntime(element.getAttribute("source-runtime"), element.getAttribute("source-runtime-version")); - return runtime; + IMobileWebRuntime runtime = TMWCore.getRuntimesManager().getRuntime(element.getAttribute("source-runtime"), + element.getAttribute("source-runtime-version")); + if (runtime == null) { + return getTargetRuntime(); + } else { + return runtime; + } } } diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.core/src/org/symbian/tools/tmw/core/internal/runtimes/MobileWebRuntime.java --- a/plugins/org.symbian.tools.tmw.core/src/org/symbian/tools/tmw/core/internal/runtimes/MobileWebRuntime.java Thu Aug 19 17:48:04 2010 -0700 +++ b/plugins/org.symbian.tools.tmw.core/src/org/symbian/tools/tmw/core/internal/runtimes/MobileWebRuntime.java Mon Aug 23 09:55:57 2010 -0700 @@ -44,4 +44,9 @@ return element.getChildren("runtime-component"); } + @Override + public String toString() { + return getId() + ":" + getVersion(); + } + } diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/.options --- a/plugins/org.symbian.tools.tmw.debug/.options Thu Aug 19 17:48:04 2010 -0700 +++ b/plugins/org.symbian.tools.tmw.debug/.options Mon Aug 23 09:55:57 2010 -0700 @@ -1,4 +1,4 @@ -org.symbian.tools.wrttools.debug.core/debug=false -org.symbian.tools.wrttools.debug.core/debugConnection=false -org.symbian.tools.wrttools.debug.core/debugResources=false -org.symbian.tools.wrttools.debug.core/debugBreakpoints=false \ No newline at end of file +org.symbian.tools.tmw.debug.core/debug=false +org.symbian.tools.tmw.debug.core/debugConnection=false +org.symbian.tools.tmw.debug.core/debugResources=false +org.symbian.tools.tmw.debug.core/debugBreakpoints=false \ No newline at end of file diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/.project --- a/plugins/org.symbian.tools.tmw.debug/.project Thu Aug 19 17:48:04 2010 -0700 +++ b/plugins/org.symbian.tools.tmw.debug/.project Mon Aug 23 09:55:57 2010 -0700 @@ -1,6 +1,6 @@ - org.symbian.tools.wrttools.debug.core + org.symbian.tools.tmw.debug.core diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/META-INF/MANIFEST.MF --- a/plugins/org.symbian.tools.tmw.debug/META-INF/MANIFEST.MF Thu Aug 19 17:48:04 2010 -0700 +++ b/plugins/org.symbian.tools.tmw.debug/META-INF/MANIFEST.MF Mon Aug 23 09:55:57 2010 -0700 @@ -1,9 +1,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: WRT Debugger Plug-In -Bundle-SymbolicName: org.symbian.tools.wrttools.debug.core;singleton:=true +Bundle-SymbolicName: org.symbian.tools.tmw.debug.core;singleton:=true Bundle-Version: 1.0.0.qualifier -Bundle-Activator: org.symbian.tools.wrttools.debug.internal.Activator +Bundle-Activator: org.symbian.tools.tmw.debug.internal.Activator Bundle-Vendor: Symbian Foundation Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/Activator.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/Activator.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/BreakpointAdapterFactory.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/BreakpointAdapterFactory.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/ChromeDebugUtils.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/ChromeDebugUtils.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/HtmlBreakpointProvider.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/HtmlBreakpointProvider.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/IConstants.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/IConstants.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/Images.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/Images.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/PreferenceInitializer.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/PreferenceInitializer.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/WorkspaceLineBreakpointAdapter.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/WorkspaceLineBreakpointAdapter.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/ChromeInstancesManager$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/ChromeInstancesManager$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/ChromeInstancesManager.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/ChromeInstancesManager.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob$2.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob$2.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob$3.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob$3.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugUtil.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/DebugUtil.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/PortPolicy$NewPortEachTime.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/PortPolicy$NewPortEachTime.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/PortPolicy.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/PortPolicy.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/ResourcesChangeListener$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/ResourcesChangeListener$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/ResourcesChangeListener.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/ResourcesChangeListener.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge$Factory.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge$Factory.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge$VmResourceImpl.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge$VmResourceImpl.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WebApplicationSourceLocator$WebApplicationSourceLookupParticipant.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WebApplicationSourceLocator$WebApplicationSourceLookupParticipant.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WebApplicationSourceLocator.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WebApplicationSourceLocator.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WidgetLaunchDelegate$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WidgetLaunchDelegate$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WidgetLaunchDelegate.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WidgetLaunchDelegate.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WidgetTabSelector.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WidgetTabSelector.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WrtLabelProvider.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/launch/WrtLabelProvider.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate$2.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate$2.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate$BadWatchExpressionResult.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate$BadWatchExpressionResult.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate$GoodWatchExpressionResult.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate$GoodWatchExpressionResult.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/JsWatchExpressionDelegate.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/ResourceManager.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/ResourceManager.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/SymbianDebugModelPresentation.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/SymbianDebugModelPresentation.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/WorkspaceBreakpointHandler$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/WorkspaceBreakpointHandler$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/WorkspaceBreakpointHandler$2.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/WorkspaceBreakpointHandler$2.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/WorkspaceBreakpointHandler.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/model/WorkspaceBreakpointHandler.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/property/LaunchableFactory.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/property/LaunchableFactory.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/property/PropertyTester.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/property/PropertyTester.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/session/TerminateSession.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/internal/session/TerminateSession.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/DebugPreferencePage$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/DebugPreferencePage$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/DebugPreferencePage.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/DebugPreferencePage.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/DebugAction.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/DebugAction.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/JsBreakpointPropertiesRulerAction$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/JsBreakpointPropertiesRulerAction$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/JsBreakpointPropertiesRulerAction.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/JsBreakpointPropertiesRulerAction.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/JsBreakpointPropertiesRulerActionDelegate.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/JsBreakpointPropertiesRulerActionDelegate.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/WatchExpression$FindNode.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/WatchExpression$FindNode.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/WatchExpression.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/actions/WatchExpression.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/launch/WidgetBasicTab$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/launch/WidgetBasicTab$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/launch/WidgetBasicTab.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/launch/WidgetBasicTab.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/launch/WidgetLaunchConfigurationTabGroup.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/launch/WidgetLaunchConfigurationTabGroup.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/launch/WidgetLaunchShortcut.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/tmw/debug/ui/launch/WidgetLaunchShortcut.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/Activator.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/Activator.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/BreakpointAdapterFactory.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/BreakpointAdapterFactory.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/ChromeDebugUtils.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/ChromeDebugUtils.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/HtmlBreakpointProvider.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/HtmlBreakpointProvider.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/IConstants.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/IConstants.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/Images.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/Images.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/PreferenceInitializer.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/PreferenceInitializer.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/WorkspaceLineBreakpointAdapter.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/WorkspaceLineBreakpointAdapter.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/ChromeInstancesManager$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/ChromeInstancesManager$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/ChromeInstancesManager.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/ChromeInstancesManager.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugConnectionJob$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugConnectionJob$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugConnectionJob$2.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugConnectionJob$2.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugConnectionJob$3.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugConnectionJob$3.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugConnectionJob.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugConnectionJob.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugUtil.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/DebugUtil.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/PortPolicy$NewPortEachTime.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/PortPolicy$NewPortEachTime.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/PortPolicy.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/PortPolicy.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/ResourcesChangeListener$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/ResourcesChangeListener$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/ResourcesChangeListener.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/ResourcesChangeListener.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge$Factory.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge$Factory.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge$VmResourceImpl.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge$VmResourceImpl.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WRTProjectWorkspaceBridge.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WebApplicationSourceLocator$WebApplicationSourceLookupParticipant.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WebApplicationSourceLocator$WebApplicationSourceLookupParticipant.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WebApplicationSourceLocator.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WebApplicationSourceLocator.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WidgetLaunchDelegate$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WidgetLaunchDelegate$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WidgetLaunchDelegate.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WidgetLaunchDelegate.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WidgetTabSelector.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WidgetTabSelector.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WrtLabelProvider.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/launch/WrtLabelProvider.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate$2.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate$2.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate$BadWatchExpressionResult.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate$BadWatchExpressionResult.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate$GoodWatchExpressionResult.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate$GoodWatchExpressionResult.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/JsWatchExpressionDelegate.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/ResourceManager.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/ResourceManager.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/SymbianDebugModelPresentation.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/SymbianDebugModelPresentation.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/WorkspaceBreakpointHandler$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/WorkspaceBreakpointHandler$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/WorkspaceBreakpointHandler$2.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/WorkspaceBreakpointHandler$2.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/WorkspaceBreakpointHandler.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/model/WorkspaceBreakpointHandler.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/property/LaunchableFactory.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/property/LaunchableFactory.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/property/PropertyTester.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/property/PropertyTester.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/session/TerminateSession.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/internal/session/TerminateSession.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/DebugPreferencePage$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/DebugPreferencePage$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/DebugPreferencePage.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/DebugPreferencePage.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/DebugAction.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/DebugAction.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/JsBreakpointPropertiesRulerAction$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/JsBreakpointPropertiesRulerAction$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/JsBreakpointPropertiesRulerAction.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/JsBreakpointPropertiesRulerAction.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/JsBreakpointPropertiesRulerActionDelegate.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/JsBreakpointPropertiesRulerActionDelegate.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/WatchExpression$FindNode.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/WatchExpression$FindNode.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/WatchExpression.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/actions/WatchExpression.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/launch/WidgetBasicTab$1.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/launch/WidgetBasicTab$1.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/launch/WidgetBasicTab.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/launch/WidgetBasicTab.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/launch/WidgetLaunchConfigurationTabGroup.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/launch/WidgetLaunchConfigurationTabGroup.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/launch/WidgetLaunchShortcut.class Binary file plugins/org.symbian.tools.tmw.debug/bin/org/symbian/tools/wrttools/debug/ui/launch/WidgetLaunchShortcut.class has changed diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/plugin.xml --- a/plugins/org.symbian.tools.tmw.debug/plugin.xml Thu Aug 19 17:48:04 2010 -0700 +++ b/plugins/org.symbian.tools.tmw.debug/plugin.xml Mon Aug 23 09:55:57 2010 -0700 @@ -4,14 +4,14 @@ + class="org.symbian.tools.tmw.debug.internal.PreferenceInitializer"> @@ -52,7 +52,7 @@ @@ -138,7 +138,7 @@ menubarPath="debug"> @@ -181,7 +181,7 @@ + class="org.symbian.tools.tmw.debug.internal.BreakpointAdapterFactory"> @@ -259,21 +259,21 @@ + delegateClass="org.symbian.tools.tmw.debug.internal.model.JsWatchExpressionDelegate"/> @@ -282,12 +282,12 @@ @@ -299,7 +299,7 @@ id="org.symbian.tools.wrttools.debug.core.mainActions" label="Mobile Web Debug"> diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/Activator.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/Activator.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal; + +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; +import org.symbian.tools.tmw.debug.internal.launch.ChromeInstancesManager; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.symbian.tools.wrttools.debug.core"; + + public static final boolean DEBUG = Platform.inDebugMode() && Boolean.valueOf(Platform.getDebugOption(PLUGIN_ID + "/debug")); + public static final boolean DEBUG_CONNECTION = DEBUG && Boolean.valueOf(Platform.getDebugOption(PLUGIN_ID + "/debugConnection")); + public static final boolean DEBUG_RESOURCES = DEBUG && Boolean.valueOf(Platform.getDebugOption(PLUGIN_ID + "/debugResources")); + public static final boolean DEBUG_BREAKPOINTS = DEBUG + && Boolean.valueOf(Platform.getDebugOption(PLUGIN_ID + + "/debugBreakpoints")); + + // The shared instance + private static Activator plugin; + + private final ChromeInstancesManager chromes = new ChromeInstancesManager(); + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + Logger.getLogger("org.chromium.sdk").setLevel(Level.WARNING); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + chromes.shutdown(); + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + public ChromeInstancesManager getChromeInstancesManager() { + return chromes; + } + + public static void log(Throwable e) { + log(e.getLocalizedMessage(), e); + } + + private static void log(String message, Throwable exception) { + getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message, exception)); + } + + @Override + protected void initializeImageRegistry(ImageRegistry reg) { + Images.initImageRegistry(reg); + } + + public static void log(String message) { + log(message, null); + } +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/BreakpointAdapterFactory.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/BreakpointAdapterFactory.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.IAdapterFactory; +import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget; +import org.eclipse.ui.IEditorPart; + +@SuppressWarnings("rawtypes") +public class BreakpointAdapterFactory implements IAdapterFactory { + + public Object getAdapter(Object adaptableObject, Class adapterType) { + if (adaptableObject instanceof IEditorPart) { + IResource resource = (IResource) ((IEditorPart) adaptableObject) + .getEditorInput().getAdapter(IResource.class); + if (resource != null) { + return new WorkspaceLineBreakpointAdapter(); + } + } + return null; + } + + public Class[] getAdapterList() { + return new Class[] { IToggleBreakpointsTarget.class }; + } + +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/ChromeDebugUtils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/ChromeDebugUtils.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal; + +import java.io.File; + +import org.symbian.tools.wrttools.util.CoreUtil; + +public final class ChromeDebugUtils { + public static String getExecutablePath(String folder) { + File file = new File(folder); + if (file.isDirectory()) { + File chromeExecutable = new File(file, getExecutable()); + if (chromeExecutable.isFile()) { + return chromeExecutable.getAbsolutePath(); + } else if (CoreUtil.isMac() && file.getName().equals("Google Chrome.app")) { + return getExecutablePath(file.getParent()); + } + } else if (file.isFile()) { + if (file.getName().equalsIgnoreCase(getExecutable())) { + return file.getAbsolutePath(); + } + } + return null; + } + + private static String getExecutable() { + // Add more ifs as we add support for new platforms + if (CoreUtil.isMac()) { + return "Google Chrome.app/Contents/MacOS/Google Chrome"; + } else if (CoreUtil.isLinux()) { + return "chrome"; + } else { + return "chrome.exe"; + } + } + + private ChromeDebugUtils() { + // No instantiating + } + + public static String getChromeExecutible() { + return getExecutablePath(Activator.getDefault().getPreferenceStore().getString(IConstants.PREF_NAME_CHROME_LOCATION)); + } + +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/HtmlBreakpointProvider.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/HtmlBreakpointProvider.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,64 @@ +package org.symbian.tools.tmw.debug.internal; + +import org.chromium.debug.core.model.ChromiumLineBreakpoint; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.jface.text.BadLocationException; +import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.ITypedRegion; +import org.eclipse.ui.IEditorInput; +import org.eclipse.wst.html.core.text.IHTMLPartitions; +import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; +import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools; +import org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint.IBreakpointProvider; +import org.symbian.tools.tmw.debug.internal.launch.WRTProjectWorkspaceBridge; + +@SuppressWarnings("restriction") +public class HtmlBreakpointProvider implements IBreakpointProvider { + + public IStatus addBreakpoint(IDocument document, IEditorInput input, + int lineNumber, int offset) throws CoreException { + boolean hasScript = hasJavaScript(document, lineNumber); + + if (hasScript) { + ChromiumLineBreakpoint breakpoint = new ChromiumLineBreakpoint(getResource(input), lineNumber, + WRTProjectWorkspaceBridge.DEBUG_MODEL_ID); + DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(breakpoint); + } + return Status.OK_STATUS; + } + + private boolean hasJavaScript(IDocument document, int lineNumber) { + try { + if (document instanceof IStructuredDocument) { + IStructuredDocument doc = (IStructuredDocument) document; + int lineOffset = doc.getLineOffset(lineNumber - 1); + int lineLength = doc.getLineLength(lineNumber - 1); + ITypedRegion[] computePartitioning = doc.computePartitioning( + lineOffset, lineLength); + for (ITypedRegion region : computePartitioning) { + if (IHTMLPartitions.SCRIPT.equals(region.getType()) + || IHTMLPartitions.SCRIPT_EVENTHANDLER + .equals(region.getType())) { + return true; + } + } + } + } catch (BadLocationException e) { + Activator.log(e); + } + return false; + } + + public IResource getResource(IEditorInput input) { + return (IResource) input.getAdapter(IResource.class); + } + + public void setSourceEditingTextTools(ISourceEditingTextTools tools) { + // Do nothing + } + +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/IConstants.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/IConstants.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal; + +public interface IConstants { + String PREF_NAME_CHROME_LOCATION="chrome.location"; + String PROP_PROJECT_NAME = "projectName"; + String PREF_SHOW_RESOURCE_CHANGE_ERROR = "show.resourceChange.warning"; +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/Images.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/Images.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; + +public class Images { + private static final String WRT16 = "main16.gif"; + + public static void initImageRegistry(ImageRegistry registry) { + setImage(registry, WRT16); + } + + private static void setImage(ImageRegistry registry, String image) { + ImageDescriptor img = Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/" + image); + registry.put(image, img); + } + + public static ImageDescriptor getWrtIcon() { + return getImageDescriptor(WRT16); + } + + private static ImageDescriptor getImageDescriptor(String image) { + return Activator.getDefault().getImageRegistry().getDescriptor(image); + } + + public static Image getWrtIconImage() { + return getImage(WRT16); + } + + private static Image getImage(String image) { + return Activator.getDefault().getImageRegistry().get(image); + } +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/PreferenceInitializer.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/PreferenceInitializer.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal; + +import java.io.File; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.jface.preference.IPreferenceStore; +import org.symbian.tools.wrttools.util.CoreUtil; + +public class PreferenceInitializer extends AbstractPreferenceInitializer { + private final static String DEFAULT_CHROME_LOCATION = "Local Settings/Application Data/Google/Chrome/Application"; + + @Override + public void initializeDefaultPreferences() { + IPreferenceStore store = Activator.getDefault().getPreferenceStore(); + File folder = getDefaultFolder(); + if (ChromeDebugUtils.getExecutablePath(folder.getAbsolutePath()) != null) { + store.setDefault(IConstants.PREF_NAME_CHROME_LOCATION, folder + .getAbsolutePath()); + } + } + + private File getDefaultFolder() { + if (CoreUtil.isMac()) { + return new File("/Applications"); + } else if (CoreUtil.isLinux()) { + return new File("/opt/google/chrome"); + } + String property = System.getProperty("user.home"); + File folder = new File(property, DEFAULT_CHROME_LOCATION); + if (!folder.exists()) { + folder = new File("C:/Program Files/Google/Chrome/Application/"); + } + return folder; + } + +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/WorkspaceLineBreakpointAdapter.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/WorkspaceLineBreakpointAdapter.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal; + +import org.chromium.debug.core.model.LineBreakpointAdapter; +import org.chromium.debug.core.model.VProjectWorkspaceBridge; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.texteditor.ITextEditor; +import org.eclipse.wst.jsdt.internal.ui.javaeditor.JavaEditor; + +@SuppressWarnings("restriction") +public class WorkspaceLineBreakpointAdapter extends LineBreakpointAdapter { + @Override + protected ITextEditor getEditor(IWorkbenchPart part) { + if (part instanceof JavaEditor) { + return (ITextEditor) part; + } else { + return null; + } + } + + @Override + protected String getDebugModelId() { + return VProjectWorkspaceBridge.DEBUG_MODEL_ID; + } +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/ChromeInstancesManager.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/ChromeInstancesManager.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,178 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal.launch; + +import java.io.File; +import java.io.FileFilter; +import java.io.IOException; +import java.text.MessageFormat; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; +import org.symbian.tools.tmw.debug.internal.Activator; +import org.symbian.tools.tmw.debug.internal.ChromeDebugUtils; +import org.symbian.tools.wrttools.util.CoreUtil; + +public class ChromeInstancesManager { + private static final String[] CHROME_ARGS = { "%s", "--remote-shell-port=%d", // Here we will set port + "--user-data-dir=%s", // Here we will set profile folder so user settings have no effect + "--disk-cache-dir=%s", // We don't care + "--disable-web-security", // Widgets can use network now + "--disable-extenions", // Use standard UI, should also improve speed and stability + "--activate-on-launch", // Bring to front on Mac + "--disable-geolocation", // Use our own Geolocation (needed to emulate Geolocation in phonegap) + "--disable-local-storage", // Disable local storage (needed to emulate Geolocation in phonegap) + "--disable-session-storage", // Disable local storage (needed to emulate Geolocation in phonegap) + "--no-default-browser-check", // Our users don't need this nagging + "--disable-hang-monitor", // Fix for Bug 2682 - The debugger should disable "unresponsive" error message from chrome + "--no-first-run", // We don't care + "--app=%s" // Here we will have widget URI as --app argument + }; + private final Map chromes = Collections.synchronizedMap(new HashMap()); + + private static final int EXECUTIBLE_INDEX = 0; + private static final int PORT_INDEX = 1; + private static final int USER_DATA_INDEX = 2; + private static final int CACHE_INDEX = 3; + private static final int URL_INDEX = CHROME_ARGS.length - 1; + + private int profileNum = 0; + + public void startChrome(final Object key, int port, final String url) throws CoreException { + final String browserExecutable = ChromeDebugUtils.getChromeExecutible(); + if (browserExecutable == null) { + throw createCoreException("No Chrome browser available", null); + } + + String[] commandline = new String[CHROME_ARGS.length]; + System.arraycopy(CHROME_ARGS, 0, commandline, 0, CHROME_ARGS.length); + commandline[EXECUTIBLE_INDEX] = String.format(CHROME_ARGS[EXECUTIBLE_INDEX], browserExecutable); + commandline[PORT_INDEX] = String.format(CHROME_ARGS[PORT_INDEX], port); + commandline[USER_DATA_INDEX] = String.format(CHROME_ARGS[USER_DATA_INDEX], getChromeProfilePath()); + commandline[CACHE_INDEX] = String.format(CHROME_ARGS[CACHE_INDEX], getChromeCachePath()); + commandline[URL_INDEX] = String.format(CHROME_ARGS[URL_INDEX], url); + + // 2. Start Chrome + try { + Process process = Runtime.getRuntime().exec(commandline); + chromes.put(key, process); + } catch (IOException e) { + StringBuilder builder = new StringBuilder(); + for (String string : commandline) { + builder.append(" ").append(string); + } + throw createCoreException("Cannot execute: {0}", builder.toString().trim(), e); + } + + } + + private String getChromeCachePath() { + return getChromeSpecialDir(".chromecache"); + } + + /** + * Terminate Chrome instance associated with given key. + */ + public synchronized void stopChrome(final Object key) { + + } + + public synchronized void forgetChrome(final Object key) { + + } + + public synchronized void shutdown() { + String dir = getChromeSpecialDir(""); + File directory = new File(dir); + File[] files = directory.listFiles(new FileFilter() { + public boolean accept(File pathname) { + return pathname.isDirectory() && pathname.getName().matches("\\.chr\\d{3}") + && !isChromeRunning(pathname); + } + }); + boolean removedAll = true; + for (File file : files) { + removedAll = delete(file) && removedAll; + } + if (removedAll) { + String cachePath = getChromeCachePath(); + delete(new File(cachePath)); + } + + } + + private boolean delete(File file) { + if (!file.exists()) { + return true; + } else if (file.isDirectory()) { + File[] files = file.listFiles(); + for (File f : files) { + if (!delete(f)) { + return false; + } + } + } + return file.delete(); + } + + private CoreException createCoreException(String pattern, String arg, Throwable exeption) { + return createCoreException(MessageFormat.format(pattern, arg), exeption); + } + + private CoreException createCoreException(String message, Throwable exeption) { + return new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, message, exeption)); + } + + private String getChromeProfilePath() { + while (true) { + String dir = getChromeSpecialDir(String.format(".chr%03d", profileNum++)); + if (!new File(dir).exists()) { + return dir; + } + } + } + + private boolean isChromeRunning(File pathname) { + File file = new File(pathname, "Default/Cookies"); + try { + // Note: it is ok to delete cookies file - if it can be deleted then Chrome is not running. + // If Chrome is running then we will not be able to delete the file. + // We do not need to preserve state between launches. So it is ok to delete coockies. + return file.exists() && !file.delete(); + } catch (Exception e) { + Activator.log(e); + return true; + } + } + + private String getChromeSpecialDir(String subdir) { + IPath location = ResourcesPlugin.getWorkspace().getRoot().getLocation(); + if (CoreUtil.isLinux() && location.toString().length() > 50) { + location = new Path(System.getProperty("user.home")).append(".wrtdebug"); + } + return location.append(subdir).toOSString(); + } +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/DebugConnectionJob.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,146 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal.launch; + +import java.net.URI; + +import org.chromium.debug.core.model.DebugTargetImpl; +import org.chromium.debug.core.model.Destructable; +import org.chromium.debug.core.model.DestructingGuard; +import org.chromium.debug.core.model.JavascriptVmEmbedder; +import org.chromium.debug.core.model.JavascriptVmEmbedder.ConnectionToRemote; +import org.chromium.debug.core.model.JavascriptVmEmbedderFactory; +import org.chromium.debug.core.model.NamedConnectionLoggerFactory; +import org.chromium.debug.core.model.WorkspaceBridge; +import org.chromium.sdk.ConnectionLogger; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunch; +import org.symbian.tools.tmw.debug.internal.Activator; +import org.symbian.tools.tmw.previewer.http.IPreviewStartupListener; + +public class DebugConnectionJob implements IPreviewStartupListener { + static final NamedConnectionLoggerFactory NO_CONNECTION_LOGGER_FACTORY = new NamedConnectionLoggerFactory() { + public ConnectionLogger createLogger(String title) { + return null; + } + }; + private final int port; + private final ILaunch launch; + private final IProject project; + + public DebugConnectionJob(IProject project, final int port, + final ILaunch launch) { + if (Activator.DEBUG_CONNECTION) { + System.out.println("Debugging " + project.getName() + " on port " + + port + ", launch: " + launch.getLaunchConfiguration()); + } + this.project = project; + this.port = port; + this.launch = launch; + } + + protected ConnectionToRemote createConnectionToRemote(int port, + ILaunch launch, URI uri) throws CoreException { + return JavascriptVmEmbedderFactory.connectToChromeDevTools(port, + NO_CONNECTION_LOGGER_FACTORY, new WidgetTabSelector(uri)); + } + + private static void terminateTarget(DebugTargetImpl target) { + target.setDisconnected(true); + target.fireTerminateEvent(); + } + + public boolean browserRunning(URI uri, String sId) throws CoreException { + if (Activator.DEBUG_CONNECTION) { + System.out.println("Browser running, connecting @" + hashCode()); + } + DestructingGuard destructingGuard = new DestructingGuard(); + try { + JavascriptVmEmbedder.ConnectionToRemote remoteServer = createConnectionToRemote( + port, launch, uri); + Destructable lauchDestructor = new Destructable() { + public void destruct() { + if (!launch.hasChildren()) { + DebugPlugin.getDefault().getLaunchManager() + .removeLaunch(launch); + } + } + }; + if (Activator.DEBUG_CONNECTION) { + System.out.println("Setting up 1@" + hashCode()); + } + destructingGuard.addValue(lauchDestructor); + + WorkspaceBridge.Factory bridgeFactory = new WRTProjectWorkspaceBridge.Factory( + project); + final DebugTargetImpl target = new DebugTargetImpl(launch, + bridgeFactory); + if (Activator.DEBUG_CONNECTION) { + System.out.println("Setting up 2@" + hashCode()); + } + + Destructable targetDestructor = new Destructable() { + public void destruct() { + terminateTarget(target); + } + }; + destructingGuard.addValue(targetDestructor); + + if (Activator.DEBUG_CONNECTION) { + System.out.println("Setting up 3@" + hashCode()); + } + boolean attached = target.attach(remoteServer, destructingGuard, + null, new NullProgressMonitor()); + if (Activator.DEBUG_CONNECTION) { + System.out.printf("Is attached: %b, @%d\n", attached, hashCode()); + } + if (!attached) { + // Error + return false; + } + + launch.addDebugTarget(target); + launch.setAttribute("http.service.id", sId); + // All OK + destructingGuard.discharge(); + addResourceListenerIfNotInstalled(); + } catch (CoreException e) { + DebugPlugin.getDefault().getLaunchManager().removeLaunch(launch); + throw e; + } finally { + destructingGuard.doFinally(); + } + return true; + } + + private static boolean listenerAdded = false; + + private void addResourceListenerIfNotInstalled() { + synchronized (DebugConnectionJob.class) { + if (!listenerAdded) { + ResourcesPlugin.getWorkspace().addResourceChangeListener(new ResourcesChangeListener()); + listenerAdded = true; + } + } + } +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/DebugUtil.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/DebugUtil.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,89 @@ +/** + * Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + */ +package org.symbian.tools.tmw.debug.internal.launch; + +import java.text.MessageFormat; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchManager; +import org.symbian.tools.tmw.debug.internal.Activator; +import org.symbian.tools.tmw.debug.internal.IConstants; + +public class DebugUtil { + public static CoreException createCoreException(String message, Throwable exeption) { + return new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, message, exeption)); + } + + public static IProject getProject(ILaunch configuration) { + try { + if (WidgetLaunchDelegate.ID.equals(configuration.getLaunchConfiguration().getType().getIdentifier())) { + String projectName = configuration.getLaunchConfiguration().getAttribute(IConstants.PROP_PROJECT_NAME, + (String) null); + if (projectName != null) { + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); + if (project.isAccessible()) { + return project; + } + } + } + } catch (CoreException e) { + Activator.log(e); + } + return null; + } + + public static IProject getProject(ILaunchConfiguration configuration) throws CoreException { + if (!WidgetLaunchDelegate.ID.equals(configuration.getType().getIdentifier())) { + return null; + } + String projectName = configuration.getAttribute(IConstants.PROP_PROJECT_NAME, (String) null); + if (projectName == null) { + throw createCoreException("Project is not selected", null); + } + + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); + if (!project.isAccessible()) { + throw createCoreException(MessageFormat.format("Project {0} is not opened", projectName), null); + } + return project; + } + + public static boolean isProjectDebugged(IProject project, ILaunchManager launchManager, ILaunch l) + throws CoreException { + ILaunch[] launches = launchManager.getLaunches(); + for (ILaunch launch : launches) { + ILaunchConfiguration launchConfiguration = launch.getLaunchConfiguration(); + if ((l == null || !l.equals(launch)) && !launch.isTerminated() + && WidgetLaunchDelegate.ID.equals(launchConfiguration.getType().getIdentifier())) { + IProject p2 = getProject(launchConfiguration); + if (project.equals(p2)) { + return true; + } + } + } + return false; + } + +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/PortPolicy.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/PortPolicy.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + *******************************************************************************/ +package org.symbian.tools.tmw.debug.internal.launch; + +import java.io.IOException; +import java.net.ServerSocket; + +import org.symbian.tools.tmw.debug.internal.Activator; + +public abstract class PortPolicy { + // private static class ReuseSamePort extends PortPolicy { + // private int port = -1; + // + // @Override + // protected int getPort() { + // if (port < 0) { + // port = getOpenPort(); + // } + // return port; + // } + // } + + private static class NewPortEachTime extends PortPolicy { + @Override + protected int getPort() { + return getOpenPort(); + } + } + + public static final PortPolicy INSTANCE; + static { + // if (CoreUtil.isMac()) { + INSTANCE = new NewPortEachTime(); + // } else { + // INSTANCE = new ReuseSamePort(); + // } + } + + public static synchronized int getPortNumber() { + return INSTANCE.getPort(); + } + + public int getOpenPort() { + try { + final ServerSocket socket = new ServerSocket(0); + int port = socket.getLocalPort(); + socket.close(); + return port; + } catch (IOException e) { + Activator.log(e); + return 7222; + } + } + + protected abstract int getPort(); +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/ResourcesChangeListener.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/ResourcesChangeListener.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,234 @@ +/** + * Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of the License "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + * + * Initial Contributors: + * Symbian Foundation - initial contribution. + * Contributors: + * Description: + * Overview: + * Details: + * Platforms/Drives/Compatibility: + * Assumptions/Requirement/Pre-requisites: + * Failures and causes: + */ +package org.symbian.tools.tmw.debug.internal.launch; + +import java.util.Collection; +import java.util.HashSet; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.jface.dialogs.MessageDialogWithToggle; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.PlatformUI; +import org.symbian.tools.tmw.debug.internal.Activator; +import org.symbian.tools.tmw.debug.internal.IConstants; +import org.symbian.tools.tmw.previewer.internal.PreviewerUtil; + +public class ResourcesChangeListener implements IResourceChangeListener { + public void resourceChanged(IResourceChangeEvent event) { + if (event.getDelta() != null + && !MessageDialogWithToggle.ALWAYS.equals(Activator.getDefault().getPreferenceStore().getString( + IConstants.PREF_SHOW_RESOURCE_CHANGE_ERROR))) { + IFile[] changes = PreviewerUtil.getWebChanges(event.getDelta()); + if (changes.length > 0 && isWrtResourceChanges(changes)) { + Display.getDefault().asyncExec(new Runnable() { + public void run() { + String message = "Debug browser is not updated when the files are updated. You may notice discrepancies between your workspace contents and debug session. You should either refresh the browser or restart debugging session to see the latest changes made to the workspace."; + MessageDialogWithToggle.openWarning(PlatformUI.getWorkbench().getActiveWorkbenchWindow() + .getShell(), "Mobile Web Debugger", message, + "Do not show this warning on code changes", false, Activator.getDefault() + .getPreferenceStore(), IConstants.PREF_SHOW_RESOURCE_CHANGE_ERROR); + ResourcesPlugin.getWorkspace().removeResourceChangeListener(ResourcesChangeListener.this); + } + }); + } + } + } + + private boolean isWrtResourceChanges(IFile[] changes) { + Collection projects = new HashSet(); + ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches(); + for (ILaunch launch : launches) { + if (!launch.isTerminated()) { + final ILaunchConfiguration config = launch.getLaunchConfiguration(); + try { + if (WidgetLaunchDelegate.ID.equals(config.getType().getIdentifier())) { + String projectName = config.getAttribute(IConstants.PROP_PROJECT_NAME, (String) null); + if (projectName != null && projectName.trim().length() > 0) { + IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName); + projects.add(project); + } + } + } catch (CoreException e) { + Activator.log(e); + } + } + } + for (IFile file : changes) { + if (projects.contains(file.getProject())) { + return true; + } + } + return false; + } + + // // TODO Progress indicator - ... files updated of ... + // + // public void resourceChanged(IResourceChangeEvent event) { + // try { + // if (event.getDelta() != null) { + // + // processDelta(event.getDelta()); + // } else { + // // TODO Can't refresh + // } + // } catch (CoreException e) { + // Activator.log(e); + // } + // + // } + // + // private static final class DeltaProcessor implements IResourceDeltaVisitor { + // private final Map targets; + // private final Map updateList = new HashMap(); + // private boolean hasUnupdatables = false; + // + // public DeltaProcessor(Map targets) { + // this.targets = targets; + // } + // + // public boolean visit(IResourceDelta delta) throws CoreException { + // final IResource resource = delta.getResource(); + // switch (resource.getType()) { + // case IResource.PROJECT: + // return targets.containsKey(resource); + // case IResource.FILE: + // processFile((IFile) resource, targets.get(resource.getProject())); + // return false; + // default: + // return true; + // } + // } + // + // private void processFile(final IFile resource, final DebugTargetImpl debugTargetImpl) throws CoreException { + // if (!ProjectUtils.isExcluded(resource)) { + // final VmResource vmResource = debugTargetImpl.getVmResource(resource); + // if (vmResource != null) { + // updateList.put(resource, vmResource.getScript()); + // } else { + // if (!JavaScriptCore.isJavaScriptLikeFileName(resource.getName())) { + // hasUnupdatables = true; + // } + // } + // } + // } + // + // public Map getUpdateList() { + // return updateList; + // } + // + // public boolean hasUnupdatables() { + // return hasUnupdatables; + // } + // } + // + // private void processDelta(final IResourceDelta delta) throws CoreException { + // final ILaunch[] launches = DebugPlugin.getDefault().getLaunchManager().getLaunches(); + // final Map targets = new HashMap(); + // for (ILaunch launch : launches) { + // final IDebugTarget target = launch.getDebugTarget(); + // if (!launch.isTerminated() && target instanceof DebugTargetImpl) { + // IProject project = DebugUtil.getProject(launch); + // if (project != null) { + // targets.put(project, (DebugTargetImpl) target); + // } + // } + // } + // + // DeltaProcessor processor = new DeltaProcessor(targets); + // delta.accept(processor); + // + // if (processor.getUpdateList().size() > 0) { + // final Collection statuses = new LinkedList(); + // for (Entry entry : processor.getUpdateList().entrySet()) { + // statuses.add(updateScript(entry.getValue(), entry.getKey())); + // } + // } else if (processor.hasUnupdatables()) { + // + // } + // } + // + // private IStatus updateScript(Script script, final IFile file) { + // UpdatableScript updatableScript = LiveEditExtension.castToUpdatableScript(script); + // + // if (updatableScript == null) { + // throw new RuntimeException(); + // } + // + // byte[] fileData; + // try { + // fileData = readFileContents(file); + // } catch (IOException e) { + // throw new RuntimeException(e); + // } catch (CoreException e) { + // throw new RuntimeException(e); + // } + // final IStatus[] res = new IStatus[1]; + // // We are using default charset here like usually. + // String newSource = new String(fileData); + // + // UpdatableScript.UpdateCallback callback = new UpdatableScript.UpdateCallback() { + // public void success(Object report) { + // res[0] = new Status( + // IStatus.OK, + // ChromiumDebugPlugin.PLUGIN_ID, + // String.format( + // "Script %s was successfully updated on remote: %s", file.getProjectRelativePath().toString(), report)); //$NON-NLS-1$ + // } + // + // public void failure(String message) { + // res[0] = new Status(IStatus.ERROR, ChromiumDebugPlugin.PLUGIN_ID, String.format( + // "Script %s cannot be updated: %s", file.getProjectRelativePath().toString(), message)); //$NON-NLS-1$ + // } + // }; + // + // updatableScript.setSourceOnRemote(newSource, callback, null); + // return res[0]; + // } + // + // private static byte[] readFileContents(IFile file) throws IOException, CoreException { + // InputStream inputStream = file.getContents(); + // try { + // return readBytes(inputStream); + // } finally { + // inputStream.close(); + // } + // } + // + // private static byte[] readBytes(InputStream inputStream) throws IOException { + // ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + // byte[] array = new byte[1024]; + // while (true) { + // int len = inputStream.read(array); + // if (len == -1) { + // break; + // } + // buffer.write(array, 0, len); + // } + // return buffer.toByteArray(); + // } + +} diff -r d4809db37847 -r 06589bf52fa7 plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/org.symbian.tools.tmw.debug/src/org/symbian/tools/tmw/debug/internal/launch/WRTProjectWorkspaceBridge.java Mon Aug 23 09:55:57 2010 -0700 @@ -0,0 +1,185 @@ +package org.symbian.tools.tmw.debug.internal.launch; + +import java.util.ArrayList; +import java.util.Collection; + +import org.chromium.debug.core.model.BreakpointSynchronizer.Callback; +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.VmResource; +import org.chromium.debug.core.model.VmResourceId; +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.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.sourcelookup.ISourceContainer; +import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector; +import org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer; +import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer; +import org.symbian.tools.tmw.debug.internal.Activator; +import org.symbian.tools.tmw.debug.internal.model.ResourceManager; +import org.symbian.tools.tmw.debug.internal.model.WorkspaceBreakpointHandler; + +public class WRTProjectWorkspaceBridge implements WorkspaceBridge { + public static final class Factory implements WorkspaceBridge.Factory { + private final IProject project; + + public Factory(IProject project) { + this.project = project; + } + + public WorkspaceBridge attachedToVm(DebugTargetImpl debugTargetImpl, JavascriptVm javascriptVm) { + return new WRTProjectWorkspaceBridge(debugTargetImpl, javascriptVm, project); + } + + public String getDebugModelIdentifier() { + return DEBUG_MODEL_ID; + } + + public JsLabelProvider getLabelProvider() { + return new WrtLabelProvider(); + } + } + + 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; + + 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(); + try { + sourceLocator.initializeDefaults(launch.getLaunchConfiguration()); + sourceLocator.setSourceContainers(new ISourceContainer[] { new ProjectSourceContainer(project, false), + new DirectorySourceContainer(Activator.getDefault().getStateLocation(), true) }); + } catch (CoreException e) { + throw new RuntimeException(e); + } + launch.setSourceLocator(sourceLocator); + } + + public void beforeDetach() { + // Do nothing + } + + public BreakpointHandler getBreakpointHandler() { + return breakpointHandler; + } + + public void handleVmResetEvent() { + resourceManager.clear(); + } + + public void launchRemoved() { + // Do nothing + } + + public void reloadScriptsAtStart() { + javascriptVm.getScripts(new ScriptsCallback() { + public void failure(String errorMessage) { + Activator.log(errorMessage); + } + + public void success(Collection