fixes for #38
diff --git a/weinre.build/debug.sh b/weinre.build/debug.sh
index 48774e1..3542f2d 100755
--- a/weinre.build/debug.sh
+++ b/weinre.build/debug.sh
@@ -10,6 +10,4 @@
-Dfile.encoding=UTF-8 \
-classpath $CP \
weinre.server.Main \
- --verbose true \
--deathTimeout 120
-
\ No newline at end of file
diff --git a/weinre.server/src/weinre/server/Channel.java b/weinre.server/src/weinre/server/Channel.java
index 11889b2..dbf073b 100644
--- a/weinre.server/src/weinre/server/Channel.java
+++ b/weinre.server/src/weinre/server/Channel.java
@@ -1,7 +1,7 @@
/*
* weinre is available under *either* the terms of the modified BSD license *or* the
* MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
- *
+ *
* Copyright (c) 2010, 2011 IBM Corporation
*/
@@ -22,9 +22,9 @@
//-------------------------------------------------------------------
public class Channel {
-
+
static public final String AnonymousId = "anonymous";
-
+
private String pathPrefix;
private String name;
private String id;
@@ -37,7 +37,7 @@
private String remoteHost;
private String remoteAddress;
private PrintWriter messageLog;
-
+
//---------------------------------------------------------------
public Channel(String pathPrefix, String name, String id, String remoteHost, String remoteAddress) {
this.pathPrefix = pathPrefix;
@@ -58,46 +58,46 @@
public Connector getConnector() {
return connector;
}
-
+
//---------------------------------------------------------------
public String getRemoteHost() {
return remoteHost;
}
-
+
//---------------------------------------------------------------
public String getRemoteAddress() {
return remoteAddress;
}
-
+
//---------------------------------------------------------------
protected void _setConnector(Connector connector) {
this.connector = connector;
}
-
+
//---------------------------------------------------------------
public void sendCallback(String intfName, String callbackId, Object... args) throws IOException {
if (callbackId == null) return;
-
+
List<Object> innerArgs = new ArrayList<Object>();
innerArgs.add(callbackId);
innerArgs.add(Arrays.asList(args));
-
+
sendEvent(intfName, "sendCallback", innerArgs.toArray());
}
-
+
//---------------------------------------------------------------
public void sendEvent(String intfName, String methodName, Object... args) {
Main.debug(getName() + ": send " + intfName + "." + methodName + "()");
-
+
JSONObject response = new JSONObject();
-
+
String responseString;
try {
response.put("interface", intfName);
response.put("method", methodName);
-
+
List<Object> passedArgs = new ArrayList<Object>(Arrays.asList(args));
-
+
response.put("args", passedArgs);
responseString = response.toString();
@@ -106,10 +106,10 @@
Main.warn("IOException serializing message for " + intfName + "." + methodName);
return;
}
-
+
this.postResponse(responseString);
}
-
+
//---------------------------------------------------------------
public Object getService(String name) {
try {
@@ -122,12 +122,12 @@
throw new RuntimeException(e);
}
}
-
+
//---------------------------------------------------------------
@SuppressWarnings("rawtypes")
private Object getService_(String name) throws InstantiationException, IllegalAccessException {
if (serviceMap.containsKey(name)) return serviceMap.get(name);
-
+
String klassName = "weinre.server.service." + name;
Class klass = null;
try {
@@ -138,56 +138,56 @@
serviceMap.put(name, null);
return null;
}
-
+
Object result = klass.newInstance();
serviceMap.put(name, result);
Main.debug("loaded service class: " + klassName);
return result;
}
-
+
//---------------------------------------------------------------
public void close() {
isClosed = true;
requestQueue.shutdown();
responseQueue.shutdown();
-
+
ChannelManager.$.deregisterChannel(name);
}
-
+
//---------------------------------------------------------------
public boolean isClosed() {
return isClosed;
}
-
+
//---------------------------------------------------------------
public String getPathPrefix() {
return pathPrefix;
}
-
+
//---------------------------------------------------------------
public String getName() {
return name;
}
-
+
//---------------------------------------------------------------
public String getId() {
return id;
}
-
+
//---------------------------------------------------------------
public long getLastRead() {
return lastRead;
}
-
+
//---------------------------------------------------------------
public void updateLastRead() {
lastRead = System.currentTimeMillis();
}
-
+
//---------------------------------------------------------------
public void postRequest(String json) {
if (isClosed()) return;
-
+
requestQueue.add(json);
log(json);
}
@@ -195,7 +195,7 @@
//---------------------------------------------------------------
public void postResponse(String json) {
if (isClosed()) return;
-
+
responseQueue.add(json);
log(json);
}
@@ -203,7 +203,7 @@
//---------------------------------------------------------------
private void log(String json) {
if (null == messageLog) return;
-
+
JSONObject jObject;
try {
jObject = new JSONObject(json);
@@ -212,7 +212,7 @@
catch (JSONException e) {
return;
}
-
+
messageLog.print(jObject.toString(true));
messageLog.println(",");
}
@@ -220,7 +220,7 @@
//---------------------------------------------------------------
public List<String> getRequests(int timeoutSeconds) throws InterruptedException {
if (isClosed()) return new LinkedList<String>();
-
+
List<String> result = requestQueue.getAll(timeoutSeconds, TimeUnit.SECONDS);
return result;
@@ -229,7 +229,7 @@
//---------------------------------------------------------------
public List<String> getResponses(int timeoutSeconds) throws InterruptedException {
if (isClosed()) return new LinkedList<String>();
-
+
List<String> result = responseQueue.getAll(timeoutSeconds, TimeUnit.SECONDS);
return result;
diff --git a/weinre.web/demo/weinre-demo-pieces.html b/weinre.web/demo/weinre-demo-pieces.html
index 04d87d9..496790c 100644
--- a/weinre.web/demo/weinre-demo-pieces.html
+++ b/weinre.web/demo/weinre-demo-pieces.html
@@ -60,21 +60,23 @@
<body onload="onLoad()">
<input id="button-start-stuff" type="button" value="start stuff">
-<p>exceptions in callbacks<p>
-<input id="button-error-DOM-event" type="button" value="DOM addEventHandler">
-<input id="button-error-window-event" type="button" value="window addEventHandler">
-<input id="button-error-XHR-event" type="button" value="XHR addEventHandler">
-<input id="button-error-setTimeout" type="button" value="setTimeout()">
-<input id="button-error-setInterval" type="button" value="setInterval()">
-
<h1>this is a green h1</h1>
<h1 class="blue">this is a blue h1</h1>
<h1 style="color:red">this is a red h1</h1>
<p>Some text, <i>some italic text</i>, and <b>some bold text</b>.
-<div id="metrics">a div</div>
+<hr>
+<p>test exceptions in callbacks:
+<div style="margin-left:1em">
+ <input id="button-error-DOM-event" type="button" value="DOM addEventHandler">
+<br><input id="button-error-window-event" type="button" value="window addEventHandler">
+<br><input id="button-error-XHR-event" type="button" value="XHR addEventHandler">
+<br><input id="button-error-setTimeout" type="button" value="setTimeout()">
+<br><input id="button-error-setInterval" type="button" value="setInterval()">
+</div>
-<input id="button-clear-output" type="button" value="clear output">
+<hr>
+<p><input id="button-clear-output" type="button" value="clear output">
<div id="output"></div>
</body>
diff --git a/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee b/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
index 536a181..b52e9c0 100644
--- a/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
+++ b/weinre.web/modules/weinre/target/WiDOMStorageImpl.coffee
@@ -99,13 +99,13 @@
host: window.location.host
isLocalStorage: false
- HookSites.SeesionStorage_setItem.addHooks
+ HookSites.SessionStorage_setItem.addHooks
after: -> _storageEventHandler storageArea: window.sessionStorage
- HookSites.SeesionStorage_removeItem.addHooks
+ HookSites.SessionStorage_removeItem.addHooks
after: -> _storageEventHandler storageArea: window.sessionStorage
- HookSites.SeesionStorage_clear.addHooks
+ HookSites.SessionStorage_clear.addHooks
after: -> _storageEventHandler storageArea: window.sessionStorage
document.addEventListener "storage", _storageEventHandler, false