mirror of
https://github.com/Microsoft/vscode
synced 2024-09-19 10:40:41 +00:00
move crash reporter to electron-browser (for #37610)
This commit is contained in:
parent
ca411762cc
commit
8ca7a35510
|
@ -68,8 +68,7 @@ import { IExtensionService } from 'vs/platform/extensions/common/extensions';
|
|||
import { WorkbenchModeServiceImpl } from 'vs/workbench/services/mode/common/workbenchModeService';
|
||||
import { IModeService } from 'vs/editor/common/services/modeService';
|
||||
import { IUntitledEditorService, UntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
|
||||
import { ICrashReporterService, NullCrashReporterService } from 'vs/workbench/services/crashReporter/common/crashReporterService';
|
||||
import { CrashReporterService } from 'vs/workbench/services/crashReporter/electron-browser/crashReporterService';
|
||||
import { ICrashReporterService, NullCrashReporterService, CrashReporterService } from 'vs/workbench/services/crashReporter/electron-browser/crashReporterService';
|
||||
import { NodeCachedDataManager } from 'vs/workbench/electron-browser/nodeCachedDataManager';
|
||||
import { getDelayedChannel } from 'vs/base/parts/ipc/common/ipc';
|
||||
import { connect as connectNet } from 'vs/base/parts/ipc/node/ipc.net';
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import nls = require('vs/nls');
|
||||
import { IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
export const ICrashReporterService = createDecorator<ICrashReporterService>('crashReporterService');
|
||||
|
||||
export const TELEMETRY_SECTION_ID = 'telemetry';
|
||||
|
||||
export interface ICrashReporterConfig {
|
||||
enableCrashReporter: boolean;
|
||||
}
|
||||
|
||||
const configurationRegistry = <IConfigurationRegistry>Registry.as(Extensions.Configuration);
|
||||
configurationRegistry.registerConfiguration({
|
||||
'id': TELEMETRY_SECTION_ID,
|
||||
'order': 110,
|
||||
title: nls.localize('telemetryConfigurationTitle', "Telemetry"),
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'telemetry.enableCrashReporter': {
|
||||
'type': 'boolean',
|
||||
'description': nls.localize('telemetry.enableCrashReporting', "Enable crash reports to be sent to Microsoft.\nThis option requires restart to take effect."),
|
||||
'default': true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
export interface ICrashReporterService {
|
||||
_serviceBrand: any;
|
||||
getChildProcessStartOptions(processName: string): Electron.CrashReporterStartOptions;
|
||||
}
|
||||
|
||||
export const NullCrashReporterService: ICrashReporterService = {
|
||||
_serviceBrand: undefined,
|
||||
getChildProcessStartOptions(processName: string) { return undefined; }
|
||||
};
|
|
@ -4,6 +4,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import nls = require('vs/nls');
|
||||
import { onUnexpectedError } from 'vs/base/common/errors';
|
||||
import { assign, clone } from 'vs/base/common/objects';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
|
@ -13,8 +14,43 @@ import { crashReporter } from 'electron';
|
|||
import product from 'vs/platform/node/product';
|
||||
import pkg from 'vs/platform/node/package';
|
||||
import * as os from 'os';
|
||||
import { ICrashReporterService, TELEMETRY_SECTION_ID, ICrashReporterConfig } from 'vs/workbench/services/crashReporter/common/crashReporterService';
|
||||
import { isWindows, isMacintosh, isLinux } from 'vs/base/common/platform';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IConfigurationRegistry, Extensions } from 'vs/platform/configuration/common/configurationRegistry';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
|
||||
export const ICrashReporterService = createDecorator<ICrashReporterService>('crashReporterService');
|
||||
|
||||
export const TELEMETRY_SECTION_ID = 'telemetry';
|
||||
|
||||
export interface ICrashReporterConfig {
|
||||
enableCrashReporter: boolean;
|
||||
}
|
||||
|
||||
const configurationRegistry = <IConfigurationRegistry>Registry.as(Extensions.Configuration);
|
||||
configurationRegistry.registerConfiguration({
|
||||
'id': TELEMETRY_SECTION_ID,
|
||||
'order': 110,
|
||||
title: nls.localize('telemetryConfigurationTitle', "Telemetry"),
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'telemetry.enableCrashReporter': {
|
||||
'type': 'boolean',
|
||||
'description': nls.localize('telemetry.enableCrashReporting', "Enable crash reports to be sent to Microsoft.\nThis option requires restart to take effect."),
|
||||
'default': true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
export interface ICrashReporterService {
|
||||
_serviceBrand: any;
|
||||
getChildProcessStartOptions(processName: string): Electron.CrashReporterStartOptions; // TODO
|
||||
}
|
||||
|
||||
export const NullCrashReporterService: ICrashReporterService = {
|
||||
_serviceBrand: undefined,
|
||||
getChildProcessStartOptions(processName: string) { return undefined; }
|
||||
};
|
||||
|
||||
export class CrashReporterService implements ICrashReporterService {
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ import { fromEventEmitter } from 'vs/base/node/event';
|
|||
import { IInitData, IWorkspaceData, IConfigurationInitData } from 'vs/workbench/api/node/extHost.protocol';
|
||||
import { IExtensionService } from 'vs/platform/extensions/common/extensions';
|
||||
import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { ICrashReporterService } from 'vs/workbench/services/crashReporter/common/crashReporterService';
|
||||
import { ICrashReporterService } from 'vs/workbench/services/crashReporter/electron-browser/crashReporterService';
|
||||
import { IBroadcastService, IBroadcast } from 'vs/platform/broadcast/electron-browser/broadcastService';
|
||||
import { isEqual } from 'vs/base/common/paths';
|
||||
import { EXTENSION_CLOSE_EXTHOST_BROADCAST_CHANNEL, EXTENSION_RELOAD_BROADCAST_CHANNEL, EXTENSION_ATTACH_BROADCAST_CHANNEL, EXTENSION_LOG_BROADCAST_CHANNEL, EXTENSION_TERMINATE_BROADCAST_CHANNEL } from 'vs/platform/extensions/common/extensionHost';
|
||||
|
|
Loading…
Reference in a new issue