gecko-dev/dom/webgpu/ValidationError.h
Dzmitry Malyshau 6b5716d415 Bug 1680376 - WebGPU error handling infrastructure r=jgilbert,webidl,smaug
the goal of this PR is to provide the necessary
infrastructure to handle errors on the GPU process side and send them
back to the client side, triggering the uncaptured error events.

Differential Revision: https://phabricator.services.mozilla.com/D98542
2020-12-18 20:07:47 +00:00

41 lines
1.1 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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/. */
#ifndef GPU_ValidationError_H_
#define GPU_ValidationError_H_
#include "nsWrapperCache.h"
#include "ObjectModel.h"
namespace mozilla {
namespace dom {
class GlobalObject;
} // namespace dom
namespace webgpu {
class Device;
class ValidationError final : public nsWrapperCache, public ChildOf<Device> {
nsCString mMessage;
public:
GPU_DECL_CYCLE_COLLECTION(ValidationError)
GPU_DECL_JS_WRAP(ValidationError)
ValidationError(Device* aParent, const nsACString& aMessage);
private:
virtual ~ValidationError();
void Cleanup() {}
public:
static already_AddRefed<ValidationError> Constructor(
const dom::GlobalObject& aGlobal, const nsAString& aString);
void GetMessage(nsAString& aMessage) const;
};
} // namespace webgpu
} // namespace mozilla
#endif // GPU_ValidationError_H_