blob: 2575400ae764ecf16426e43a453f69274c5a8ade [file] [log] [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Private API for Chrome component extensions to report errors.
[platforms=("chromeos")]
namespace crashReportPrivate {
// A dictionary containing additional context about the error.
dictionary ErrorInfo {
// The error message.
DOMString message;
// URL where the error occurred.
// Must be the full URL, containing the protocol (e.g.
// http://www.example.com).
DOMString url;
// Name of the product where the error occurred.
// Defaults to the product variant of Chrome that is hosting the extension.
// (e.g. "Chrome" or "Chrome_ChromeOS").
DOMString? product;
// Version of the product where the error occurred.
// Defaults to the version of Chrome that is hosting the extension (e.g.
// "73.0.3683.75").
DOMString? version;
// Line number where the error occurred.
long? lineNumber;
// Column number where the error occurred.
long? columnNumber;
// Used to map the obfuscated source code back to a source map. If present,
// must match the debug_id used to upload the source map.
DOMString? debugId;
// String containing the stack trace for the error.
// Defaults to the empty string.
DOMString? stackTrace;
};
// Callback for |reportError|.
callback ReportCallback = void ();
interface Functions {
// Report and upload an error to Crash.
// |info|: Information about the error.
// |callback|: Called when the error has been uploaded.
static void reportError(
ErrorInfo info,
ReportCallback callback);
};
};