fune/toolkit/components/backgroundtasks/nsIBackgroundTasks.idl
Nick Alexander 7360317f0c Bug 1675850 - Add MOZ_BACKGROUNDTASKS flag, {nsI}BackgroundTasks IDL and class. r=mossop,firefox-build-system-reviewers,mhentges
This adds a build flag (defaulting to on in Nightly builds) and an
`AppConstants.jsm` definition.

It lays the foundation for managing an active background task.  A
singleton, exposed as an XPCOM service, owns the task name and lives
for the life of the application.

This will be wired into the application startup path in future
commits.  It's separated to allow the changes to category registration
to come early in the commit sequence.

Differential Revision: https://phabricator.services.mozilla.com/D96481
2021-01-25 23:44:39 +00:00

32 lines
1 KiB
Text

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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"
/**
* Determine if this instance is running background task mode and
* what, if any, task is active.
*/
[scriptable, uuid(353dccb8-a863-49e4-941b-007382eac168)]
interface nsIBackgroundTasks : nsISupports
{
/**
* True if and only if this invocation is running in background task mode.
*/
readonly attribute boolean isBackgroundTaskMode;
/**
* A non-empty task name if this invocation is running in background
* task mode, or `null` if this invocation is not running in
* background task mode.
*/
AString backgroundTaskName();
/**
* Should only be used for testing.
* Set the background task name.
*/
void overrideBackgroundTaskNameForTesting(in AString taskName);
};