forked from pool/nodejs-electron
- Update to 22.0.2
* ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling
* Chromium to 108.0.5359.179
* Node v16.17.1
* V8 v10.8
* Added WebContents input-event event.
* Deprecated BrowserWindow scroll-touch-* events.
* The deprecated new-window event has been removed.
* Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose
an API to an isolatedWorld within a renderer from a preload script.
* Added webContents.close() method.
* Added new UtilityProcess API to launch chromium child process with node integration.
* Added new WebContents event content-bounds-updated.
* Added support for navigator.mediaDevices.getDisplayMedia via a new
session handler, ses.setDisplayMediaRequestHandler.
* Added support for serialPort.forget() as well as a new event
serial-port-revoked emitted when a given origin is revoked.
- Drop patches applied upstream
* argument_spec-missing-isnan-isinf.patch
* chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch
* content_language_parser-missing-string.patch
* gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch
* node-system-libs.patch
* pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch
* std_lib_extras-missing-intptr_t.patch
* system-abseil-missing-shims.patch
- Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code
- Add patches to fix build errors
* chromium-108-abseil-shims.patch
* crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch
* document_loader-private-DecodedBodyData.patch
* first_party_set_parser-IssueWithMetadata-no-known-conversion.patch
* print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch
* swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch
- Conditionally reverse upstream changes to fix build with old harfbuzz
* harfbuzz-replace-chromium-scoped-type.patch
- Switch to bundled libjxl on Fedora 36 due to system version being too old
OBS-URL: https://build.opensuse.org/request/show/1059202
OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
77 lines
2.8 KiB
Diff
77 lines
2.8 KiB
Diff
diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h
|
|
index 842553a..89de703 100644
|
|
--- a/components/media_router/common/providers/cast/channel/enum_table.h
|
|
+++ b/components/media_router/common/providers/cast/channel/enum_table.h
|
|
@@ -8,6 +8,7 @@
|
|
#include <cstdint>
|
|
#include <cstring>
|
|
#include <ostream>
|
|
+#include <vector>
|
|
|
|
#include "base/check_op.h"
|
|
#include "base/notreached.h"
|
|
@@ -187,7 +188,6 @@ class
|
|
inline constexpr GenericEnumTableEntry(int32_t value);
|
|
inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
|
|
|
|
- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
|
|
GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
|
|
|
|
private:
|
|
@@ -253,7 +253,6 @@ class EnumTable {
|
|
constexpr Entry(E value, base::StringPiece str)
|
|
: GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
|
|
|
|
- Entry(const Entry&) = delete;
|
|
Entry& operator=(const Entry&) = delete;
|
|
};
|
|
|
|
@@ -312,15 +311,14 @@ class EnumTable {
|
|
if (is_sorted_) {
|
|
const std::size_t index = static_cast<std::size_t>(value);
|
|
if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
|
|
- const auto& entry = data_.begin()[index];
|
|
+ const auto& entry = data_[index];
|
|
if (ANALYZER_ASSUME_TRUE(entry.has_str()))
|
|
return entry.str();
|
|
}
|
|
return absl::nullopt;
|
|
}
|
|
return GenericEnumTableEntry::FindByValue(
|
|
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
|
- data_.size(), static_cast<int32_t>(value));
|
|
+ &data_[0], data_.size(), static_cast<int32_t>(value));
|
|
}
|
|
|
|
// This overload of GetString is designed for cases where the argument is a
|
|
@@ -348,8 +346,7 @@ class EnumTable {
|
|
// enum value directly.
|
|
absl::optional<E> GetEnum(base::StringPiece str) const {
|
|
auto* entry = GenericEnumTableEntry::FindByString(
|
|
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
|
- data_.size(), str);
|
|
+ &data_[0], data_.size(), str);
|
|
return entry ? static_cast<E>(entry->value) : absl::optional<E>();
|
|
}
|
|
|
|
@@ -364,7 +361,7 @@ class EnumTable {
|
|
// Align the data on a cache line boundary.
|
|
alignas(64)
|
|
#endif
|
|
- std::initializer_list<Entry> data_;
|
|
+ const std::vector<Entry> data_;
|
|
bool is_sorted_;
|
|
|
|
constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
|
|
@@ -376,8 +373,8 @@ class EnumTable {
|
|
|
|
for (std::size_t i = 0; i < data.size(); i++) {
|
|
for (std::size_t j = i + 1; j < data.size(); j++) {
|
|
- const Entry& ei = data.begin()[i];
|
|
- const Entry& ej = data.begin()[j];
|
|
+ const Entry& ei = data[i];
|
|
+ const Entry& ej = data[j];
|
|
DCHECK(ei.value != ej.value)
|
|
<< "Found duplicate enum values at indices " << i << " and " << j;
|
|
DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
|