mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
c084ff85e4
This patch does a couple of things: * I added a new class, |WindowsError| to WinHeaderOnlyUtils. The idea here is to encapsulate as much of the Windows error gamut as possible into one class. Since Win32 errors and NTSTATUS codes may both be encoded as HRESULTs, I used the latter type to store the error. It also contains functions for converting between the various error code formats, as well as stringification via FormatMessage. * I added |LauncherError| which also includes file and line number information, which I believe will be important for launcher process failure diagnostics. (Instantiation of LauncherErrors obviously must be done via macros to capture __FILE__ and __LINE__). * I then converted all of the launcher process code (and its few depenencies) to utilize this new functionality via the new |LauncherResult| type. * If we detect an error in one of the top-level launcher process functions, we pass it to |HandleLauncherError| for processing. This function currently just throws up a |MessageBox| like the previous code did, with the intention of enhancing that further in the future. Differential Revision: https://phabricator.services.mozilla.com/D12365 --HG-- extra : moz-landing-system : lando
32 lines
675 B
Python
32 lines
675 B
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# 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/.
|
|
|
|
Library('winlauncher')
|
|
|
|
FORCE_STATIC_LIB = True
|
|
|
|
UNIFIED_SOURCES += [
|
|
'DllBlocklistWin.cpp',
|
|
'ErrorHandler.cpp',
|
|
'LauncherProcessWin.cpp',
|
|
'LaunchUnelevated.cpp',
|
|
]
|
|
|
|
OS_LIBS += [
|
|
'ntdll',
|
|
'oleaut32',
|
|
'ole32',
|
|
]
|
|
|
|
TEST_DIRS += [
|
|
'test',
|
|
]
|
|
|
|
DisableStlWrapping()
|
|
|
|
if CONFIG['CC_TYPE'] == 'clang-cl':
|
|
AllowCompilerWarnings() # workaround for bug 1090497
|