Skip to content
Permalink
Newer
Older
100644 54 lines (44 sloc) 1.48 KB
November 28, 2013 17:39
1
define(function () {
June 1, 2013 14:55
2
November 19, 2013 14:06
3
'use strict';
4
June 1, 2013 14:55
5
var env = {};
6
November 28, 2013 17:39
7
env.getEnvironment = function (callback) {
December 26, 2013 20:01
8
// FIXME: we assume this code runs on the same thread as the
9
// javascript executed from sugar-toolkit-gtk3 (python)
10
11
if (env.isStandalone()) {
November 28, 2013 17:39
12
setTimeout(function () {
13
callback(null, {});
June 1, 2013 14:55
14
}, 0);
15
} else {
16
var environmentCallback = function () {
17
callback(null, window.top.sugar.environment);
18
};
19
20
if (window.top.sugar) {
21
setTimeout(function () {
22
environmentCallback();
23
}, 0);
24
} else {
25
window.top.sugar = {};
26
window.top.sugar.onEnvironmentSet = function () {
27
environmentCallback();
June 1, 2013 14:55
30
}
31
};
32
November 28, 2013 17:39
33
env.getObjectId = function (callback) {
34
env.getEnvironment(function (error, environment) {
35
callback(environment.objectId);
November 28, 2013 17:39
39
env.getURLScheme = function () {
November 25, 2013 12:45
40
return window.location.protocol;
41
};
42
November 28, 2013 17:39
43
env.isStandalone = function () {
November 25, 2013 12:45
44
var webActivityURLScheme = "activity:";
45
var currentURLScheme = env.getURLScheme();
46
47
// the control of hostname !== '0.0.0.0' is used
48
// for compatibility with F18 and webkit1
49
return currentURLScheme !== webActivityURLScheme &&
50
window.location.hostname !== '0.0.0.0';
November 25, 2013 12:45
51
};
52
June 1, 2013 14:55
53
return env;
54
});