Submitted By: Thomas Trepl Date: 2020-05-12 Initial Package Version: 5.14.2 Upstream Status: Partly applied Origin: Upstream, ArchLinux Description: Fixes for building with gcc10 and enable usage of system-icu (67.1) diff -Naur qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h --- qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h 2020-03-24 10:16:30.000000000 +0100 +++ qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/media/cdm/supported_cdm_versions.h 2020-05-11 17:28:23.301512655 +0200 @@ -5,6 +5,7 @@ #ifndef MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_ #define MEDIA_CDM_SUPPORTED_CDM_VERSIONS_H_ +#include #include #include "media/base/media_export.h" diff -Naur qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h --- qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h 2020-03-24 10:16:30.000000000 +0100 +++ qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/task_runner.h 2020-05-11 16:39:52.865824654 +0200 @@ -17,6 +17,7 @@ #ifndef INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ #define INCLUDE_PERFETTO_BASE_TASK_RUNNER_H_ +#include #include #include "perfetto/base/export.h" diff -Naur qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h --- qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h 2020-03-24 10:16:30.000000000 +0100 +++ qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/third_party/webrtc/call/rtx_receive_stream.h 2020-05-11 16:39:52.875824675 +0200 @@ -11,6 +11,7 @@ #ifndef CALL_RTX_RECEIVE_STREAM_H_ #define CALL_RTX_RECEIVE_STREAM_H_ +#include #include #include "call/rtp_packet_sink_interface.h" diff -Naur qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h --- qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-03-24 10:16:30.000000000 +0100 +++ qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h 2020-05-11 16:39:54.359160936 +0200 @@ -11,6 +11,7 @@ #ifndef MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ #define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_ +#include #include namespace webrtc { diff -Naur qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h --- qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h 2020-03-24 10:16:30.000000000 +0100 +++ qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/third_party/webrtc/modules/video_coding/decoding_state.h 2020-05-11 17:30:55.515241826 +0200 @@ -11,6 +11,7 @@ #ifndef MODULES_VIDEO_CODING_DECODING_STATE_H_ #define MODULES_VIDEO_CODING_DECODING_STATE_H_ +#include #include #include #include diff -Naur qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/v8/src/objects/js-number-format.cc qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/v8/src/objects/js-number-format.cc --- qtwebengine-everywhere-src-5.14.2.orig/src/3rdparty/chromium/v8/src/objects/js-number-format.cc 2020-03-24 10:16:30.000000000 +0100 +++ qtwebengine-everywhere-src-5.14.2/src/3rdparty/chromium/v8/src/objects/js-number-format.cc 2020-05-11 16:42:23.679451679 +0200 @@ -1252,42 +1252,31 @@ } namespace { -Maybe IcuFormatNumber( +Maybe IcuFormatNumber( Isolate* isolate, const icu::number::LocalizedNumberFormatter& number_format, - Handle numeric_obj, icu::FieldPositionIterator* fp_iter) { + Handle numeric_obj, icu::number::FormattedNumber* formatted) { // If it is BigInt, handle it differently. UErrorCode status = U_ZERO_ERROR; - icu::number::FormattedNumber formatted; if (numeric_obj->IsBigInt()) { Handle big_int = Handle::cast(numeric_obj); Handle big_int_string; ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string, BigInt::ToString(isolate, big_int), - Nothing()); - formatted = number_format.formatDecimal( + Nothing()); + *formatted = number_format.formatDecimal( {big_int_string->ToCString().get(), big_int_string->length()}, status); } else { double number = numeric_obj->Number(); - formatted = number_format.formatDouble(number, status); + *formatted = number_format.formatDouble(number, status); } if (U_FAILURE(status)) { // This happen because of icu data trimming trim out "unit". // See https://bugs.chromium.org/p/v8/issues/detail?id=8641 - THROW_NEW_ERROR_RETURN_VALUE(isolate, - NewTypeError(MessageTemplate::kIcuError), - Nothing()); - } - if (fp_iter) { - formatted.getAllFieldPositions(*fp_iter, status); + THROW_NEW_ERROR_RETURN_VALUE( + isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); } - icu::UnicodeString result = formatted.toString(status); - if (U_FAILURE(status)) { - THROW_NEW_ERROR_RETURN_VALUE(isolate, - NewTypeError(MessageTemplate::kIcuError), - Nothing()); - } - return Just(result); + return Just(true); } } // namespace @@ -1298,10 +1287,16 @@ Handle numeric_obj) { DCHECK(numeric_obj->IsNumeric()); - Maybe maybe_format = - IcuFormatNumber(isolate, number_format, numeric_obj, nullptr); + icu::number::FormattedNumber formatted; + Maybe maybe_format = + IcuFormatNumber(isolate, number_format, numeric_obj, &formatted); MAYBE_RETURN(maybe_format, Handle()); - return Intl::ToString(isolate, maybe_format.FromJust()); + UErrorCode status = U_ZERO_ERROR; + icu::UnicodeString result = formatted.toString(status); + if (U_FAILURE(status)) { + THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String); + } + return Intl::ToString(isolate, result); } namespace { @@ -1414,12 +1409,18 @@ } namespace { -Maybe ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted, - icu::FieldPositionIterator* fp_iter, +Maybe ConstructParts(Isolate* isolate, + icu::number::FormattedNumber* formatted, Handle result, int start_index, Handle numeric_obj, bool style_is_unit) { + UErrorCode status = U_ZERO_ERROR; + icu::UnicodeString formatted_text = formatted->toString(status); + if (U_FAILURE(status)) { + THROW_NEW_ERROR_RETURN_VALUE( + isolate, NewTypeError(MessageTemplate::kIcuError), Nothing()); + } DCHECK(numeric_obj->IsNumeric()); - int32_t length = formatted.length(); + int32_t length = formatted_text.length(); int index = start_index; if (length == 0) return Just(index); @@ -1428,13 +1429,14 @@ // other region covers some part of the formatted string. It's possible // there's another field with exactly the same begin and end as this backdrop, // in which case the backdrop's field_id of -1 will give it lower priority. - regions.push_back(NumberFormatSpan(-1, 0, formatted.length())); + regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length())); { - icu::FieldPosition fp; - while (fp_iter->next(fp)) { - regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(), - fp.getEndIndex())); + icu::ConstrainedFieldPosition cfp; + cfp.constrainCategory(UFIELD_CATEGORY_NUMBER); + while (formatted->nextPosition(cfp, status)) { + regions.push_back( + NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit())); } } @@ -1456,7 +1458,7 @@ Handle substring; ASSIGN_RETURN_ON_EXCEPTION_VALUE( isolate, substring, - Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos), + Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos), Nothing()); Intl::AddElement(isolate, result, index, field_type_string, substring); ++index; @@ -1476,14 +1478,14 @@ number_format->icu_number_formatter().raw(); CHECK_NOT_NULL(fmt); - icu::FieldPositionIterator fp_iter; - Maybe maybe_format = - IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter); + icu::number::FormattedNumber formatted; + Maybe maybe_format = + IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted); MAYBE_RETURN(maybe_format, Handle()); Handle result = factory->NewJSArray(0); Maybe maybe_format_to_parts = ConstructParts( - isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj, + isolate, &formatted, result, 0, numeric_obj, number_format->style() == JSNumberFormat::Style::UNIT); MAYBE_RETURN(maybe_format_to_parts, Handle());