Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/dom/webgpu/Buffer.cpp
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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/. */
5
6
#include "Buffer.h"
7
8
#include "Device.h"
9
#include "mozilla/dom/WebGPUBinding.h"
10
11
namespace mozilla {
12
namespace webgpu {
13
14
Buffer::Buffer(Device* const parent)
15
    : ChildOf(parent)
16
0
{
17
0
    mozilla::HoldJSObjects(this); // Mimed from PushSubscriptionOptions
18
0
}
19
20
Buffer::~Buffer()
21
0
{
22
0
    mMapping = nullptr;
23
0
    mozilla::DropJSObjects(this);
24
0
}
25
26
void
27
Buffer::GetMapping(JSContext*, JS::MutableHandle<JSObject*> out) const
28
0
{
29
0
    out.set(mMapping);
30
0
}
31
32
void
33
Buffer::Unmap() const
34
0
{
35
0
    MOZ_CRASH("todo");
36
0
}
37
38
JSObject*
39
webgpu::Buffer::WrapObject(JSContext* cx, JS::Handle<JSObject*> givenProto)
40
0
{
41
0
    return dom::WebGPUBuffer_Binding::Wrap(cx, this, givenProto);
42
0
}
43
44
NS_IMPL_CYCLE_COLLECTION_CLASS(Buffer)
45
0
NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(Buffer)
46
0
  NS_IMPL_CYCLE_COLLECTION_UNLINK(mParent)
47
0
  NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER
48
0
  tmp->mMapping = nullptr;
49
0
NS_IMPL_CYCLE_COLLECTION_UNLINK_END
50
0
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(Buffer)
51
0
  NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mParent)
52
0
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
53
0
NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(Buffer)
54
0
  NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER
55
0
  NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mMapping)
56
0
NS_IMPL_CYCLE_COLLECTION_TRACE_END
57
58
NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(Buffer, AddRef)
59
NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(Buffer, Release)
60
61
} // namespace webgpu
62
} // namespace mozilla