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
37 lines
1.5 KiB
C++
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_
|