summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/gui.js b/gui.js
index 9f23ae2..ffb414d 100644
--- a/gui.js
+++ b/gui.js
@@ -2349,7 +2349,7 @@ IDE_Morph.prototype.projectMenu = function () {
'Import tools',
function () {
myself.droppedText(
- myself.getURL(
+ myself.getURLsbeOrRelative(
'tools.xml'
),
'tools'
@@ -4035,6 +4035,23 @@ IDE_Morph.prototype.getURL = function (url) {
}
};
+IDE_Morph.prototype.getURLsbeOrRelative = function (url) {
+ var request = new XMLHttpRequest(),
+ myself = this;
+ try {
+ request.open('GET', 'http://snap.berkeley.edu/snapsource/' +
+ url, false);
+ request.send();
+ if (request.status === 200) {
+ return request.responseText;
+ }
+ return myself.getURL(url);
+ } catch (err) {
+ myself.showMessage(err);
+ return;
+ }
+};
+
// IDE_Morph user dialog shortcuts
IDE_Morph.prototype.showMessage = function (message, secs) {