Commit 447cd4ad authored by Joel Martin's avatar Joel Martin

Remove unneeded mootools and FABridge test.

mootools is no longer needed. The bug that the FABridge test was
testing has been resolved in web-socket-js so it's no longer needed.
parent 81e5adaf
......@@ -3,8 +3,6 @@ LICENSE.LGPL-3) with the following exceptions:
include/as3crypto_patched/ : various BSD style licenses
include/mootools* : MIT style license
include/base64.js : Dual GPL-2 or LGPL-2.1
incluee/des.js : Various BSD style licenses
......
......@@ -8,14 +8,6 @@
"use strict";
/*global $, RFB, Canvas, VNC_uri_prefix, Element, Fx */
// Load mootools
(function () {
var pre = (typeof VNC_uri_prefix !== "undefined") ?
VNC_uri_prefix : "include/";
document.write("<script src='" + pre + "mootools.js'><\/script>");
}());
var DefaultControls = {
load: function(target) {
......
package {
import flash.events.*;
import flash.external.*;
import flash.utils.*;
[Event(name="message", type="FABTestMessageEvent")]
public class FABTest extends EventDispatcher {
private var main:FABTestMain;
private var intervalID:int;
private var seqCnt:int;
public function FABTest(main:FABTestMain) {
this.main = main;
ExternalInterface.call("console.log", "[FABTest] FABTest()");
}
public function start(eventDelay:int):void {
ExternalInterface.call("console.log", "[FABTest] start()");
seqCnt = 0;
intervalID = setInterval(sendEvent, eventDelay);
}
public function stop():void {
ExternalInterface.call("console.log", "[FABTest] stop()");
clearInterval(intervalID);
}
private function sendEvent():void {
//ExternalInterface.call("console.log", "[FABTest] sendEvent " + seqCnt);
dispatchEvent(new FABTestMessageEvent("message", encodeURIComponent(seqCnt.toString())));
seqCnt = seqCnt + 1;
}
}
}
package {
import flash.display.*;
import flash.events.*;
import bridge.FABridge;
public class FABTestMain extends Sprite {
public function FABTestMain() {
// This is to avoid "You are trying to call recursively into the Flash Player ..."
// error which (I heard) happens when you pass bunch of messages.
// This workaround was written here:
// http://www.themorphicgroup.com/blog/2009/02/14/fabridge-error-you-are-trying-to-call-recursively-into-the-flash-player-which-is-not-allowed/
FABridge.EventsToCallLater["flash.events::Event"] = "true";
FABridge.EventsToCallLater["FABTestMessageEvent"] = "true";
var fab:FABridge = new FABridge();
fab.rootObject = this;
//log("Flash initialized");
}
public function create():FABTest {
return new FABTest(this);
}
}
}
package {
import flash.events.*;
public class FABTestMessageEvent extends Event {
public var data:String;
public function FABTestMessageEvent(type:String, data:String) {
super(type);
this.data = data;
}
}
}
../../web-socket-js/flash-src/bridge/FABridge.as
\ No newline at end of file
// Copyright: Hiroshi Ichikawa <http://gimite.net/en/>
// Lincense: New BSD Lincense
(function() {
var console = window.console;
if (!console) console = {log: function(){ }, error: function(){ }};
function hasFlash() {
if ('navigator' in window && 'plugins' in navigator && navigator.plugins['Shockwave Flash']) {
return !!navigator.plugins['Shockwave Flash'].description;
}
if ('ActiveXObject' in window) {
try {
return !!new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');
} catch (e) {}
}
return false;
}
if (!hasFlash()) {
console.error("Flash Player is not installed.");
return;
}
FABTest = function() {
var self = this;
FABTest.__addTask(function() {
self.__flash =
FABTest.__flash.create();
self.__flash.addEventListener("message", function(fe) {
var data = decodeURIComponent(fe.getData());
try {
if (self.onmessage) {
var e;
if (window.MessageEvent) {
e = document.createEvent("MessageEvent");
e.initMessageEvent("message", false, false, data, null, null, window);
} else { // IE
e = {data: data};
}
self.onmessage(e);
}
} catch (e) {
console.error(e.toString());
}
});
//console.log("[FABTest] Flash object is ready");
});
}
FABTest.prototype.start = function(eventDelay) {
if (!this.__flash) {
throw "INVALID_STATE_ERR: FABTest connection has not been established";
}
var result = this.__flash.start(eventDelay);
if (result < 0) { // success
return true;
} else {
return false;
}
};
FABTest.prototype.stop = function() {
if (!this.__flash) return;
this.__flash.stop();
};
FABTest.__tasks = [];
FABTest.__initialize = function() {
if (!FABTest.__swfLocation) {
console.error("[FABTest] set FABTest.__swfLocation to location of FABTestMain.swf");
return;
}
var container = document.createElement("div");
container.id = "fabTestContainer";
// Puts the Flash out of the window. Note that we cannot use display: none or visibility: hidden
// here because it prevents Flash from loading at least in IE.
container.style.position = "absolute";
container.style.left = "-100px";
container.style.top = "-100px";
var holder = document.createElement("div");
holder.id = "fabTestFlash";
container.appendChild(holder);
document.body.appendChild(container);
swfobject.embedSWF(
FABTest.__swfLocation, "fabTestFlash", "8", "8", "9.0.0",
null, {bridgeName: "fabTest"}, null, null,
function(e) {
if (!e.success) console.error("[FABTest] swfobject.embedSWF failed");
}
);
FABridge.addInitializationCallback("fabTest", function() {
try {
console.log("[FABTest] FABridge initializad");
FABTest.__flash = FABridge.fabTest.root();
for (var i = 0; i < FABTest.__tasks.length; ++i) {
FABTest.__tasks[i]();
}
FABTest.__tasks = [];
} catch (e) {
console.error("[FABTest] " + e.toString());
}
});
};
FABTest.__addTask = function(task) {
if (FABTest.__flash) {
task();
} else {
FABTest.__tasks.push(task);
}
}
// called from Flash
function fabTestLog(message) {
console.log(decodeURIComponent(message));
}
// called from Flash
function fabTestError(message) {
console.error(decodeURIComponent(message));
}
if (window.addEventListener) {
window.addEventListener("load", FABTest.__initialize, false);
} else {
window.attachEvent("onload", FABTest.__initialize);
}
})();
This diff is collapsed.
This diff is collapsed.
mootools-1.2.4-core-comp.js
\ No newline at end of file
<html>
<head><title>FABridge Event Test</title></head>
<body>
Event Delay (ms): <input id='eventDelay' style='width:50' value="100">&nbsp;
<input id='startButton' type='button' value='Start' style='width:100px'
onclick="start();">&nbsp;
<br><br>
<table border=1>
<tr>
<th align="right">Good Events Received:</th>
<td align="right"><div id='received'>0</div></td>
</tr><tr>
<th align="right">Errors (Bad Events Received:)</th>
<td align="right"><div id='errors'>0</div></td>
</tr>
</table>
<br>
Errors:<br>
<textarea id="error" style="font-size: 9;" cols=80 rows=25></textarea>
</body>
<!-- Uncomment to activate firebug lite -->
<!--
<script type='text/javascript'
src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
-->
<script src="include/mootools.js"></script>
<script src="include/util.js"></script>
<script>
function error(str) {
console.error(str);
cell = $('error');
cell.innerHTML += errors + ": " + str + "\n";
cell.scrollTop = cell.scrollHeight;
}
var eventDelay = 0;
var fab = null;
var recv_seq = 0, received = 0, errors = 0;
function check_event(data) {
//console.log(">> check_event");
var got_seq = parseInt(data, 10);
if (got_seq !== recv_seq) {
error("got event " + got_seq + ", expecting " + recv_seq);
errors = errors + 1;
} else {
received = received + 1;
}
recv_seq = got_seq + 1;
//console.log("<< check_event");
}
function update_stats() {
$('received').innerHTML = received;
$('errors').innerHTML = errors;
}
function start() {
console.log(">> start");
eventDelay = parseInt($('eventDelay').value, 10);
recv_seq = 0;
fab.onmessage = function(e) {
//console.log(">> FABTest.onmessage");
check_event(e.data);
//console.log("<< FABTest.onmessage");
};
fab.start(eventDelay);
update_ref = update_stats.periodical(1);
$('startButton').value = "Stop";
$('startButton').onclick = stop;
console.log("<< start");
}
function stop() {
console.log(">> stop");
fab.stop();
$clear(update_ref);
update_stats(); // Final numbers
recv_seq = 0;
$('startButton').value = "Start";
$('startButton').onclick = start;
console.log("<< stop");
}
/* If no builtin websockets then load web_socket.js */
console.log("Loading FABridge event test object");
var extra = "<script src='../include/web-socket-js/swfobject.js'><\/script>";
extra += "<script src='../include/web-socket-js/FABridge.js'><\/script>";
extra += "<script src='../include/fab-test/fab-test.js'><\/script>";
document.write(extra);
window.onload = function() {
console.log("onload");
FABTest.__swfLocation = "../include/fab-test/FABTestMain.swf";
console.log("creating FABridge event test object");
fab = new FABTest(eventDelay);
}
</script>
</html>
......@@ -172,12 +172,12 @@
};
ws.onopen = function(e) {
console.log(">> WebSockets.onopen");
send_ref = send.periodical(sendDelay);
send_ref = setInterval(send, sendDelay);
console.log("<< WebSockets.onopen");
};
ws.onclose = function(e) {
console.log(">> WebSockets.onclose");
$clear(send_ref);
clearInterval(send_ref);
console.log("<< WebSockets.onclose");
};
ws.onerror = function(e) {
......@@ -203,7 +203,7 @@
ws.close();
}
init_ws();
update_ref = update_stats.periodical(1);
update_ref = setInterval(update_stats, 1);
$('connectButton').value = "Stop";
$('connectButton').onclick = disconnect;
......@@ -216,7 +216,7 @@
ws.close();
}
$clear(update_ref);
clearInterval(update_ref);
update_stats(); // Final numbers
recv_seq = 0;
send_seq = 0;
......
......@@ -22,7 +22,6 @@
src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'></script>
-->
<script src="include/mootools.js"></script>
<script src="include/base64.js"></script>
<script src="include/util.js"></script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment