Bug 1853814 [wpt PR 42017] - LoAF: Expose script URL for promise resolvers, a=testonly
[gecko.git] / dom / webgpu / CompilationInfo.h
blobaafe311d40fae8f4a2d763a14907b5bce7a66411
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef GPU_CompilationInfo_H_
7 #define GPU_CompilationInfo_H_
9 #include "nsWrapperCache.h"
10 #include "ObjectModel.h"
11 #include "CompilationMessage.h"
13 namespace mozilla::webgpu {
14 class ShaderModule;
16 class CompilationInfo final : public nsWrapperCache, public ChildOf<Device> {
17 public:
18 GPU_DECL_CYCLE_COLLECTION(CompilationInfo)
19 GPU_DECL_JS_WRAP(CompilationInfo)
21 explicit CompilationInfo(Device* const aParent);
23 void SetMessages(
24 nsTArray<mozilla::webgpu::WebGPUCompilationMessage>& aMessages);
26 void GetMessages(
27 nsTArray<RefPtr<mozilla::webgpu::CompilationMessage>>& aMessages);
29 private:
30 ~CompilationInfo() = default;
31 void Cleanup() {}
33 nsTArray<RefPtr<mozilla::webgpu::CompilationMessage>> mMessages;
36 } // namespace mozilla::webgpu
38 #endif // GPU_CompilationInfo_H_