no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
[gecko.git] / dom / reporting / Report.cpp
blob3fae46709a68950d91e0b90234fc4eb40675ca40
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "mozilla/dom/Report.h"
8 #include "mozilla/dom/ReportBody.h"
9 #include "mozilla/dom/ReportingBinding.h"
10 #include "nsIGlobalObject.h"
12 namespace mozilla::dom {
14 NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(Report, mGlobal, mBody)
15 NS_IMPL_CYCLE_COLLECTING_ADDREF(Report)
16 NS_IMPL_CYCLE_COLLECTING_RELEASE(Report)
18 NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(Report)
19 NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
20 NS_INTERFACE_MAP_ENTRY(nsISupports)
21 NS_INTERFACE_MAP_END
23 Report::Report(nsIGlobalObject* aGlobal, const nsAString& aType,
24 const nsAString& aURL, ReportBody* aBody)
25 : mGlobal(aGlobal), mType(aType), mURL(aURL), mBody(aBody) {
26 MOZ_ASSERT(aGlobal);
29 Report::~Report() = default;
31 already_AddRefed<Report> Report::Clone() {
32 RefPtr<Report> report = new Report(mGlobal, mType, mURL, mBody);
33 return report.forget();
36 JSObject* Report::WrapObject(JSContext* aCx,
37 JS::Handle<JSObject*> aGivenProto) {
38 return Report_Binding::Wrap(aCx, this, aGivenProto);
41 void Report::GetType(nsAString& aType) const { aType = mType; }
43 void Report::GetUrl(nsAString& aURL) const { aURL = mURL; }
45 ReportBody* Report::GetBody() const { return mBody; }
47 } // namespace mozilla::dom