This patch includes a new browser chrome mochitest that uses a new XPCOM service (moxISandboxTest) to create a new top-level actor (PSandboxTesting) between the chrome process and any supported child processes (in later parts of this patch set). The framework is makes it easy to add new C/C++ instructions to be tested for permission under real sandbox conditions. Test results can be conditioned on the type of OS, process, sandbox level, etc. Differential Revision: https://phabricator.services.mozilla.com/D37706
29 lines
952 B
Plaintext
29 lines
952 B
Plaintext
/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
// This interface is only for testing Sandbox.
|
|
|
|
[scriptable, builtinclass, uuid(2306c118-3544-4674-9222-670b88dc07a9)]
|
|
interface mozISandboxTest : nsISupports
|
|
{
|
|
void startTests(in Array<ACString> aProcessesList);
|
|
void finishTests();
|
|
};
|
|
|
|
%{ C++
|
|
|
|
#if defined(MOZ_SANDBOX) && defined(MOZ_DEBUG) && defined(ENABLE_TESTS)
|
|
#define MOZ_SANDBOX_TEST_CID \
|
|
{0x989dda27, 0xb144, 0x45f9, {0x90, 0x39, 0x69, 0x74, 0x4e, 0xc6, dd0xd9, 0x12}}
|
|
#define MOZ_SANDBOX_TEST_CONTRACTID \
|
|
"@mozilla.org/sandbox/sandbox-test;1"
|
|
#else
|
|
#error "This file should not be used outside of debug with tests"
|
|
#endif
|
|
%}
|