mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-25 20:01:50 +00:00

Add a new command-line flag `--attempting-deelevation` which prevents the launcher from entering an infinite loop of deelevation attempts. Additionally, produce an enum value indicating the decisions made by the launcher process. (Nothing is done with this value yet; that will happen in the following commit.) A commit loosely analogous to this was previously submitted as D149545. Differential Revision: https://phabricator.services.mozilla.com/D152325
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
/* -*- Mode: C++; 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 https://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef mozilla_BrowserDefines_h
|
|
#define mozilla_BrowserDefines_h
|
|
|
|
#include <cstddef>
|
|
#include "mozilla/CmdLineAndEnvUtils.h"
|
|
|
|
namespace mozilla {
|
|
namespace browser {
|
|
constexpr static const char* kRequiredArguments[] = {"url", "private-window"};
|
|
#ifdef XP_WIN
|
|
# define ATTEMPTING_DEELEVATION_FLAG "attempting-deelevation"
|
|
constexpr static const char* kOptionalArguments[] = {
|
|
ATTEMPTING_DEELEVATION_FLAG};
|
|
#else
|
|
constexpr static auto kOptionalArguments = nullptr;
|
|
#endif
|
|
} // namespace browser
|
|
|
|
template <typename CharT>
|
|
inline void EnsureBrowserCommandlineSafe(int aArgc, CharT** aArgv) {
|
|
mozilla::EnsureCommandlineSafe(aArgc, aArgv, browser::kRequiredArguments,
|
|
browser::kOptionalArguments);
|
|
}
|
|
} // namespace mozilla
|
|
|
|
#endif
|