Skip to content
This repository was archived by the owner on Aug 13, 2018. It is now read-only.

Commit ce805da

Browse files
committed
#33 Some messages not picked up
1 parent 0de2274 commit ce805da

File tree

2 files changed

+40
-15
lines changed

2 files changed

+40
-15
lines changed

data/view.js

+18-12
Original file line numberDiff line numberDiff line change
@@ -87,21 +87,27 @@ var WebSocketsView = createView(PanelView,
8787
* about the mapping event -> method.
8888
*/
8989
frameReceived: function(frame) {
90-
frame = JSON.parse(decodeURIComponent(escape(frame)));
91-
frame.received = true;
92-
frame.type = "frame";
93-
frame.data.webSocketSerialID = frame.webSocketSerialID;
94-
95-
this.lazyAdd(frame);
90+
try {
91+
frame = JSON.parse(decodeURIComponent(escape(frame)));
92+
frame.received = true;
93+
frame.type = "frame";
94+
frame.data.webSocketSerialID = frame.webSocketSerialID;
95+
this.lazyAdd(frame);
96+
} catch (err) {
97+
console.log(err);
98+
}
9699
},
97100

98101
frameSent: function(frame) {
99-
frame = JSON.parse(decodeURIComponent(escape(frame)));
100-
frame.sent = true;
101-
frame.type = "frame";
102-
frame.data.webSocketSerialID = frame.webSocketSerialID;
103-
104-
this.lazyAdd(frame);
102+
try {
103+
frame = JSON.parse(decodeURIComponent(escape(frame)));
104+
frame.sent = true;
105+
frame.type = "frame";
106+
frame.data.webSocketSerialID = frame.webSocketSerialID;
107+
this.lazyAdd(frame);
108+
} catch (err) {
109+
console.log(err);
110+
}
105111
},
106112

107113
lazyAdd: function(frame) {

lib/wsm-panel.js

+22-3
Original file line numberDiff line numberDiff line change
@@ -205,12 +205,14 @@ const WsmPanel = Class(
205205

206206
onFrameReceived: function(frame) {
207207
this.decodePacket(frame, frame.data.payload);
208-
this.postContentMessage("frameReceived", JSON.stringify(frame));
208+
this.postContentMessage("frameReceived",
209+
convertFromUnicode(JSON.stringify(frame)));
209210
},
210211

211212
onFrameSent: function(frame) {
212213
this.decodePacket(frame, frame.data.payload);
213-
this.postContentMessage("frameSent", JSON.stringify(frame));
214+
this.postContentMessage("frameSent",
215+
convertFromUnicode(JSON.stringify(frame)));
214216
},
215217

216218
decodePacket: function(data, payload) {
@@ -252,7 +254,7 @@ const WsmPanel = Class(
252254
/**
253255
* Parse JSON
254256
*/
255-
decodeJsonPacket: function (data) {
257+
decodeJsonPacket: function(data) {
256258
try {
257259
return JSON.parse(data);
258260
} catch (err) {
@@ -289,6 +291,23 @@ const WsmPanel = Class(
289291
}
290292
});
291293

294+
function convertFromUnicode(text) {
295+
if (!text) {
296+
return "";
297+
}
298+
299+
try {
300+
var conv = Cc["@mozilla.org/intl/scriptableunicodeconverter"]
301+
.createInstance(Ci.nsIScriptableUnicodeConverter);
302+
conv.charset = "UTF-8";
303+
return conv.ConvertFromUnicode(text);
304+
} catch (err) {
305+
console.error(err);
306+
}
307+
308+
return "";
309+
};
310+
292311
// Registration
293312
const myTool = new Tool({
294313
name: "MyTool",

0 commit comments

Comments
 (0)