summaryrefslogtreecommitdiffstats
path: root/toolkit/components/aboutmemory/tests/xpcshell/test_gpuprocess.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/aboutmemory/tests/xpcshell/test_gpuprocess.js')
-rw-r--r--toolkit/components/aboutmemory/tests/xpcshell/test_gpuprocess.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/toolkit/components/aboutmemory/tests/xpcshell/test_gpuprocess.js b/toolkit/components/aboutmemory/tests/xpcshell/test_gpuprocess.js
new file mode 100644
index 0000000000..1e55f9c024
--- /dev/null
+++ b/toolkit/components/aboutmemory/tests/xpcshell/test_gpuprocess.js
@@ -0,0 +1,39 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+function run_test() {
+ let gfxInfo = Cc["@mozilla.org/gfx/info;1"].getService(Ci.nsIGfxInfo);
+ let mgr = Cc["@mozilla.org/memory-reporter-manager;1"].getService(
+ Ci.nsIMemoryReporterManager
+ );
+
+ let ok = gfxInfo.controlGPUProcessForXPCShell(true);
+ Assert.equal(ok, true);
+
+ let endTesting = function() {
+ gfxInfo.controlGPUProcessForXPCShell(false);
+ do_test_finished();
+ };
+
+ let foundGPUProcess = false;
+ let onHandleReport = function(
+ aProcess,
+ aPath,
+ aKind,
+ aUnits,
+ aAmount,
+ aDescription
+ ) {
+ if (/GPU \(pid \d+\)/.test(aProcess)) {
+ foundGPUProcess = true;
+ }
+ };
+ let onFinishReporting = function() {
+ Assert.equal(foundGPUProcess, true);
+ endTesting();
+ };
+
+ mgr.getReports(onHandleReport, null, onFinishReporting, null, false);
+ do_test_pending();
+}