Files
sousa-gecko/dom/indexedDB/ReportInternalError.h
T
Sylvestre Ledru bd6bb1ac9a Bug 1362878 - Include enclosing function name in IndexedDB UnknownErr reports r=dom-storage-reviewers,jari
IDB_REPORT_INTERNAL_ERR() previously reported only the literal "UnknownErr"
along with __FILE__ and __LINE__. With ActorsParent.cpp churn over time, the
line numbers in user-reported messages are difficult to interpret.

Embed __func__ in the reported string so the enclosing function shows up
alongside the file and line in every existing call site without having to
touch each one individually.

Differential Revision: https://phabricator.services.mozilla.com/D300218
2026-06-02 21:35:02 +00:00

37 lines
1.5 KiB
C++

/* 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 mozilla_dom_indexeddb_reportinternalerror_h_
#define mozilla_dom_indexeddb_reportinternalerror_h_
#include "IndexedDatabase.h"
#include "nsDebug.h"
#include "nsPrintfCString.h"
#define IDB_WARNING(...) \
do { \
nsPrintfCString s(__VA_ARGS__); \
mozilla::dom::indexedDB::ReportInternalError(__FILE__, __LINE__, s.get()); \
NS_WARNING(s.get()); \
} while (0)
#define IDB_REPORT_INTERNAL_ERR() \
do { \
nsPrintfCString idbInternalErrMsg("UnknownErr in %s", __func__); \
mozilla::dom::indexedDB::ReportInternalError(__FILE__, __LINE__, \
idbInternalErrMsg.get()); \
} while (0)
#define IDB_REPORT_INTERNAL_ERR_LAMBDA \
[](const auto&) { IDB_REPORT_INTERNAL_ERR(); }
namespace mozilla::dom::indexedDB {
MOZ_COLD void ReportInternalError(const char* aFile, uint32_t aLine,
const char* aStr);
} // namespace mozilla::dom::indexedDB
#endif // mozilla_dom_indexeddb_reportinternalerror_h_