1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
<!DOCTYPE HTML>
<html>
<!--
Bug 895360 - [app manager] Device meta data actor
-->
<head>
<meta charset="utf-8">
<title>Mozilla Bug</title>
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
</head>
<body>
<pre id="test">
<script>
"use strict";
window.onload = function() {
const {require} = ChromeUtils.importESModule("resource://devtools/shared/loader/Loader.sys.mjs");
const {DevToolsClient} = require("devtools/client/devtools-client");
const {DevToolsServer} = require("devtools/server/devtools-server");
SimpleTest.waitForExplicitFinish();
DevToolsServer.init();
DevToolsServer.registerAllActors();
const client = new DevToolsClient(DevToolsServer.connectPipe());
client.connect().then(function onConnect() {
return client.mainRoot.getFront("device");
}).then(function(d) {
let desc;
const appInfo = Services.appinfo;
const utils = window.windowUtils;
const localDesc = {
appid: appInfo.ID,
vendor: appInfo.vendor,
name: appInfo.name,
version: appInfo.version,
appbuildid: appInfo.appBuildID,
platformbuildid: appInfo.platformBuildID,
platformversion: appInfo.platformVersion,
geckobuildid: appInfo.platformBuildID,
geckoversion: appInfo.platformVersion,
useragent: window.navigator.userAgent,
locale: Services.locale.appLocaleAsBCP47,
os: appInfo.OS,
processor: appInfo.XPCOMABI.split("-")[0],
compiler: appInfo.XPCOMABI.split("-")[1],
dpi: utils.displayDPI,
width: window.screen.width,
height: window.screen.height,
};
function checkValues() {
for (const key in localDesc) {
is(desc[key], localDesc[key], "valid field (" + key + ")");
}
const currProfD = Services.dirsvc.get("ProfD", Ci.nsIFile);
const profileDir = currProfD.path;
ok(profileDir.includes(!!desc.profile.length && desc.profile),
"valid profile name");
client.close().then(() => {
DevToolsServer.destroy();
SimpleTest.finish();
});
}
d.getDescription().then(function(v) {
desc = v;
}).then(checkValues);
});
};
</script>
</pre>
</body>
</html>
|