[arch-commits] Commit in qt5-webengine/repos (16 files)

Antonio Rojas arojas at archlinux.org
Wed Dec 14 17:34:49 UTC 2016


    Date: Wednesday, December 14, 2016 @ 17:34:48
  Author: arojas
Revision: 283307

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  qt5-webengine/repos/testing-i686/PKGBUILD
    (from rev 283306, qt5-webengine/trunk/PKGBUILD)
  qt5-webengine/repos/testing-i686/qt5-webengine-nss.patch
    (from rev 283306, qt5-webengine/trunk/qt5-webengine-nss.patch)
  qt5-webengine/repos/testing-i686/qtwebengine-5.7.0-icu58.patch
    (from rev 283306, qt5-webengine/trunk/qtwebengine-5.7.0-icu58.patch)
  qt5-webengine/repos/testing-x86_64/PKGBUILD
    (from rev 283306, qt5-webengine/trunk/PKGBUILD)
  qt5-webengine/repos/testing-x86_64/qt5-webengine-nss.patch
    (from rev 283306, qt5-webengine/trunk/qt5-webengine-nss.patch)
  qt5-webengine/repos/testing-x86_64/qtwebengine-5.7.0-icu58.patch
    (from rev 283306, qt5-webengine/trunk/qtwebengine-5.7.0-icu58.patch)
Deleted:
  qt5-webengine/repos/testing-i686/PKGBUILD
  qt5-webengine/repos/testing-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch
  qt5-webengine/repos/testing-i686/qt5-webengine-fno-delete-null-pointer-checks.patch
  qt5-webengine/repos/testing-i686/qt5-webengine-nss.patch
  qt5-webengine/repos/testing-i686/qtwebengine-5.7.0-icu58.patch
  qt5-webengine/repos/testing-x86_64/PKGBUILD
  qt5-webengine/repos/testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch
  qt5-webengine/repos/testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch
  qt5-webengine/repos/testing-x86_64/qt5-webengine-nss.patch
  qt5-webengine/repos/testing-x86_64/qtwebengine-5.7.0-icu58.patch

---------------------------------------------------------------------+
 /PKGBUILD                                                           |  116 ++++++++++
 /qt5-webengine-nss.patch                                            |   62 +++++
 /qtwebengine-5.7.0-icu58.patch                                      |  102 ++++++++
 testing-i686/PKGBUILD                                               |   58 -----
 testing-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch   |   50 ----
 testing-i686/qt5-webengine-fno-delete-null-pointer-checks.patch     |   27 --
 testing-i686/qt5-webengine-nss.patch                                |   31 --
 testing-i686/qtwebengine-5.7.0-icu58.patch                          |   51 ----
 testing-x86_64/PKGBUILD                                             |   58 -----
 testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch |   50 ----
 testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch   |   27 --
 testing-x86_64/qt5-webengine-nss.patch                              |   31 --
 testing-x86_64/qtwebengine-5.7.0-icu58.patch                        |   51 ----
 13 files changed, 280 insertions(+), 434 deletions(-)

Deleted: testing-i686/PKGBUILD
===================================================================
--- testing-i686/PKGBUILD	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-i686/PKGBUILD	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,58 +0,0 @@
-# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-
-pkgname=qt5-webengine
-_qtver=5.7.1
-pkgver=${_qtver/-/}
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://qt-project.org/'
-license=('LGPL3' 'LGPL2.1' 'BSD')
-pkgdesc='Provides support for web applications using the Chromium browser project'
-depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss' 'libvpx'
-         'libevent' 'libsrtp' 'snappy' 'nss' 'protobuf' 'libxslt' 'minizip' 'ffmpeg')
-makedepends=('python2' 'git' 'gperf' 'jsoncpp')
-groups=('qt' 'qt5')
-_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
-source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-webengine-nss.patch
-        qtwebengine-5.7.0-icu58.patch)
-
-md5sums=('c90fba515fb33c091904fe2cadbb345a'
-         '2a1610b34204102938a24154a52e5571'
-         'c2ffb0073e6f67a0a77a8fe39f9e9859')
-
-prepare() {
-  mkdir -p build
-
-  # Hack to force using python2
-  mkdir -p bin
-  ln -s /usr/bin/python2 bin/python
-
-  # Fix opening some websites with recent NSS https://github.com/QupZilla/qupzilla/issues/1870 (KaOSx patch)
-  cd ${_pkgfqn}
- # patch -p1 -i ../qt5-webengine-nss.patch
-
-  # Fix build with ICU 58 (gentoo)
-  patch -p1 -i "$srcdir"/qtwebengine-5.7.0-icu58.patch
-}
-
-build() {
-  cd build
-
-  export PATH="$srcdir/bin:$PATH"
-  export CXXFLAGS+=" -fno-delete-null-pointer-checks"
-  qmake WEBENGINE_CONFIG+="use_proprietary_codecs use_system_ffmpeg use_system_icu" ../${_pkgfqn}
-  make
-}
-
-package() {
-  cd build
-  make INSTALL_ROOT="$pkgdir" install
-
-  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
-  find "$pkgdir/usr/lib" -type f -name '*.prl' \
-    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
-  install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
-}

Copied: qt5-webengine/repos/testing-i686/PKGBUILD (from rev 283306, qt5-webengine/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2016-12-14 17:34:48 UTC (rev 283307)
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.7.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://qt-project.org/'
+license=('LGPL3' 'LGPL2.1' 'BSD')
+pkgdesc='Provides support for web applications using the Chromium browser project'
+depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss' 'libvpx'
+         'libevent' 'libsrtp' 'snappy' 'nss' 'protobuf' 'libxslt' 'minizip' 'ffmpeg')
+makedepends=('python2' 'git' 'gperf' 'jsoncpp')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-webengine-nss.patch
+        qtwebengine-5.7.0-icu58.patch)
+
+md5sums=('c90fba515fb33c091904fe2cadbb345a'
+         '2a1610b34204102938a24154a52e5571'
+         'c2ffb0073e6f67a0a77a8fe39f9e9859')
+
+prepare() {
+  mkdir -p build
+
+  # Hack to force using python2
+  mkdir -p bin
+  ln -s /usr/bin/python2 bin/python
+
+  # Fix opening some websites with recent NSS https://github.com/QupZilla/qupzilla/issues/1870 (KaOSx patch)
+  cd ${_pkgfqn}
+ # patch -p1 -i ../qt5-webengine-nss.patch
+
+  # Fix build with ICU 58 (gentoo)
+  patch -p1 -i "$srcdir"/qtwebengine-5.7.0-icu58.patch
+}
+
+build() {
+  cd build
+
+  export PATH="$srcdir/bin:$PATH"
+  export CXXFLAGS+=" -fno-delete-null-pointer-checks"
+  qmake WEBENGINE_CONFIG+="use_proprietary_codecs use_system_ffmpeg use_system_icu" ../${_pkgfqn}
+  make
+}
+
+package() {
+  cd build
+  make INSTALL_ROOT="$pkgdir" install
+
+  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+  find "$pkgdir/usr/lib" -type f -name '*.prl' \
+    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+  install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
+}

Deleted: testing-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch
===================================================================
--- testing-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-i686/qt5-webengine-fno-delete-null-pointer-checks-2.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,50 +0,0 @@
-From ba36da6c1f59da7687f6924cc558105dcd1c44dc Mon Sep 17 00:00:00 2001
-From: Allan Sandfeld Jensen <allan.jensen at theqtcompany.com>
-Date: Fri, 10 Jun 2016 13:26:22 +0200
-Subject: [PATCH] Use -fno-delete-null-pointer-checks with gcc 6
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-V8 is not safe for removing null pointer checks. Until it is, we need
-to disable optimizations in GCC that assume it is not doing something
-wrong.
-
-This patch only enables it for v8, and requires it to be activated
-by qtwebengine.
-
-Change-Id: I9da15ecf85719f211ba921a620e9d195eff26178
-Task-number: QTBUG-53956
-Reviewed-by: Michael Brüning <michael.bruning at qt.io>
----
- chromium/v8/build/toolchain.gypi | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/chromium/v8/build/toolchain.gypi b/chromium/v8/build/toolchain.gypi
-index 8a26cc2..2dd4a50 100644
---- a/chromium/v8/build/toolchain.gypi
-+++ b/chromium/v8/build/toolchain.gypi
-@@ -72,6 +72,10 @@
-     # Some versions of GCC 4.5 seem to need -fno-strict-aliasing.
-     'v8_no_strict_aliasing%': 0,
- 
-+    # V8 needs support for illegal null this pointers, and must disable
-+    # optimizations in GCC 6 that relies on correct behavior.
-+    'v8_no_delete_null_pointer_checks%': 0,
-+
-     # Chrome needs this definition unconditionally. For standalone V8 builds,
-     # it's handled in build/standalone.gypi.
-     'want_separate_host_toolset%': 1,
-@@ -1066,6 +1070,9 @@
-           [ 'v8_no_strict_aliasing==1', {
-             'cflags': [ '-fno-strict-aliasing' ],
-           }],
-+          [ 'v8_no_delete_null_pointer_checks==1', {
-+            'cflags_cc': [ '-fno-delete-null-pointer-checks' ],
-+          }],
-         ],  # conditions
-       }],
-       ['OS=="solaris"', {
--- 
-2.8.3
-

Deleted: testing-i686/qt5-webengine-fno-delete-null-pointer-checks.patch
===================================================================
--- testing-i686/qt5-webengine-fno-delete-null-pointer-checks.patch	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-i686/qt5-webengine-fno-delete-null-pointer-checks.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,27 +0,0 @@
-From 5133f095bea2d147e86b99eacaa48363d08db35b Mon Sep 17 00:00:00 2001
-From: Allan Sandfeld Jensen <allan.jensen at theqtcompany.com>
-Date: Fri, 10 Jun 2016 14:46:24 +0200
-Subject: [PATCH] Enable -fno_delete_null_pointer_checks on V8 for G++ 6
-
-Detect g++ 6 and disable null pointer check optimizations on v8.
-
-Change-Id: I5064823af3784786d455ce86592b5e65c1020f21
-Task-number: QTBUG-53956
----
-
-diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
-index 8854a4b..b579e2a 100644
---- a/src/core/config/linux.pri
-+++ b/src/core/config/linux.pri
-@@ -29,6 +29,8 @@ use?(nss) {
-         use_openssl_certs=1
- }
- 
-+gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += v8_no_delete_null_pointer_checks=1
-+
- contains(QT_CONFIG, system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1
- contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1
- contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1
--- 
-2.8.3
-

Deleted: testing-i686/qt5-webengine-nss.patch
===================================================================
--- testing-i686/qt5-webengine-nss.patch	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-i686/qt5-webengine-nss.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,31 +0,0 @@
-diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc 
-qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
---- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2015-12-10 18:17:21.000000000 +0100
-+++ qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2016-01-14 
-17:11:38.432633534 +0100
-@@ -57,6 +57,10 @@
- #include "net/ssl/ssl_platform_key.h"
- #endif
- 
-+#if defined(USE_NSS_CERTS) || defined(OS_IOS)
-+#include "net/cert_net/nss_ocsp.h"
-+#endif
-+
- namespace net {
- 
- namespace {
-@@ -795,6 +799,14 @@
-   DCHECK(!ssl_);
-   DCHECK(!transport_bio_);
- 
-+#if defined(USE_NSS_CERTS) || defined(OS_IOS)
-+  if (ssl_config_.cert_io_enabled) {
-+    // TODO(davidben): Move this out of SSLClientSocket. See
-+    // https://crbug.com/539520.
-+    EnsureNSSHttpIOInit();
-+  }
-+#endif
-+
-   SSLContext* context = SSLContext::GetInstance();
-   crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);
-   

Copied: qt5-webengine/repos/testing-i686/qt5-webengine-nss.patch (from rev 283306, qt5-webengine/trunk/qt5-webengine-nss.patch)
===================================================================
--- testing-i686/qt5-webengine-nss.patch	                        (rev 0)
+++ testing-i686/qt5-webengine-nss.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -0,0 +1,31 @@
+diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc 
+qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
+--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2016-01-14 
+17:11:38.432633534 +0100
+@@ -57,6 +57,10 @@
+ #include "net/ssl/ssl_platform_key.h"
+ #endif
+ 
++#if defined(USE_NSS_CERTS) || defined(OS_IOS)
++#include "net/cert_net/nss_ocsp.h"
++#endif
++
+ namespace net {
+ 
+ namespace {
+@@ -795,6 +799,14 @@
+   DCHECK(!ssl_);
+   DCHECK(!transport_bio_);
+ 
++#if defined(USE_NSS_CERTS) || defined(OS_IOS)
++  if (ssl_config_.cert_io_enabled) {
++    // TODO(davidben): Move this out of SSLClientSocket. See
++    // https://crbug.com/539520.
++    EnsureNSSHttpIOInit();
++  }
++#endif
++
+   SSLContext* context = SSLContext::GetInstance();
+   crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);
+   

Deleted: testing-i686/qtwebengine-5.7.0-icu58.patch
===================================================================
--- testing-i686/qtwebengine-5.7.0-icu58.patch	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-i686/qtwebengine-5.7.0-icu58.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,51 +0,0 @@
-diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
---- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:07:38.680665385 -0800
-+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:12:17.564001354 -0800
-@@ -26,6 +26,9 @@
- #include "wtf/StdLibExtras.h"
- #include "wtf/text/CharacterNames.h"
- 
-+#include <unicode/uchar.h>
-+#include <unicode/uvernum.h>
-+
- namespace blink {
- 
- unsigned numGraphemeClusters(const String& string)
-@@ -122,13 +125,18 @@
-     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL
- };
- 
-+#if U_ICU_VERSION_MAJOR_NUM >= 58
-+#define BA_LB_COUNT (U_LB_COUNT - 3)
-+#else
-+#define BA_LB_COUNT U_LB_COUNT
-+#endif
- // Line breaking table for CSS word-break: break-all. This table differs from
- // asciiLineBreakTable in:
- // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking
- //   Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties
- // - 1 indicates additional break opportunities. 0 indicates to fallback to
- //   normal line break, not "prohibit break."
--static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = {
-+static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
-     // XX AI AL B2 BA BB BK CB    CL CM CR EX GL HY ID IN    IS LF NS NU OP PO PR QU    SA SG SP SY ZW NL WJ H2    H3 JL JT JV CP CJ HL RI
-     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX
-     { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI
-@@ -178,7 +186,7 @@
- #undef AL
- 
- static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent");
--static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
-+static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
- 
- static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh)
- {
-@@ -209,7 +217,7 @@
- 
- static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak)
- {
--    if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) {
-+    if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) {
-         const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak];
-         return tableRow[lineBreak / 8] & (1 << (lineBreak % 8));
-     }

Copied: qt5-webengine/repos/testing-i686/qtwebengine-5.7.0-icu58.patch (from rev 283306, qt5-webengine/trunk/qtwebengine-5.7.0-icu58.patch)
===================================================================
--- testing-i686/qtwebengine-5.7.0-icu58.patch	                        (rev 0)
+++ testing-i686/qtwebengine-5.7.0-icu58.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -0,0 +1,51 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:07:38.680665385 -0800
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:12:17.564001354 -0800
+@@ -26,6 +26,9 @@
+ #include "wtf/StdLibExtras.h"
+ #include "wtf/text/CharacterNames.h"
+ 
++#include <unicode/uchar.h>
++#include <unicode/uvernum.h>
++
+ namespace blink {
+ 
+ unsigned numGraphemeClusters(const String& string)
+@@ -122,13 +125,18 @@
+     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL
+ };
+ 
++#if U_ICU_VERSION_MAJOR_NUM >= 58
++#define BA_LB_COUNT (U_LB_COUNT - 3)
++#else
++#define BA_LB_COUNT U_LB_COUNT
++#endif
+ // Line breaking table for CSS word-break: break-all. This table differs from
+ // asciiLineBreakTable in:
+ // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking
+ //   Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties
+ // - 1 indicates additional break opportunities. 0 indicates to fallback to
+ //   normal line break, not "prohibit break."
+-static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = {
++static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
+     // XX AI AL B2 BA BB BK CB    CL CM CR EX GL HY ID IN    IS LF NS NU OP PO PR QU    SA SG SP SY ZW NL WJ H2    H3 JL JT JV CP CJ HL RI
+     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX
+     { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI
+@@ -178,7 +186,7 @@
+ #undef AL
+ 
+ static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent");
+-static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
++static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
+ 
+ static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh)
+ {
+@@ -209,7 +217,7 @@
+ 
+ static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak)
+ {
+-    if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) {
++    if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) {
+         const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak];
+         return tableRow[lineBreak / 8] & (1 << (lineBreak % 8));
+     }

Deleted: testing-x86_64/PKGBUILD
===================================================================
--- testing-x86_64/PKGBUILD	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-x86_64/PKGBUILD	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,58 +0,0 @@
-# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
-# Maintainer: Felix Yan <felixonmars at archlinux.org>
-# Contributor: Andrea Scarpino <andrea at archlinux.org>
-
-pkgname=qt5-webengine
-_qtver=5.7.1
-pkgver=${_qtver/-/}
-pkgrel=1
-arch=('i686' 'x86_64')
-url='http://qt-project.org/'
-license=('LGPL3' 'LGPL2.1' 'BSD')
-pkgdesc='Provides support for web applications using the Chromium browser project'
-depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss' 'libvpx'
-         'libevent' 'libsrtp' 'snappy' 'nss' 'protobuf' 'libxslt' 'minizip' 'ffmpeg')
-makedepends=('python2' 'git' 'gperf' 'jsoncpp')
-groups=('qt' 'qt5')
-_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
-source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-webengine-nss.patch
-        qtwebengine-5.7.0-icu58.patch)
-
-md5sums=('c90fba515fb33c091904fe2cadbb345a'
-         '2a1610b34204102938a24154a52e5571'
-         'c2ffb0073e6f67a0a77a8fe39f9e9859')
-
-prepare() {
-  mkdir -p build
-
-  # Hack to force using python2
-  mkdir -p bin
-  ln -s /usr/bin/python2 bin/python
-
-  # Fix opening some websites with recent NSS https://github.com/QupZilla/qupzilla/issues/1870 (KaOSx patch)
-  cd ${_pkgfqn}
- # patch -p1 -i ../qt5-webengine-nss.patch
-
-  # Fix build with ICU 58 (gentoo)
-  patch -p1 -i "$srcdir"/qtwebengine-5.7.0-icu58.patch
-}
-
-build() {
-  cd build
-
-  export PATH="$srcdir/bin:$PATH"
-  export CXXFLAGS+=" -fno-delete-null-pointer-checks"
-  qmake WEBENGINE_CONFIG+="use_proprietary_codecs use_system_ffmpeg use_system_icu" ../${_pkgfqn}
-  make
-}
-
-package() {
-  cd build
-  make INSTALL_ROOT="$pkgdir" install
-
-  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
-  find "$pkgdir/usr/lib" -type f -name '*.prl' \
-    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
-
-  install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
-}

Copied: qt5-webengine/repos/testing-x86_64/PKGBUILD (from rev 283306, qt5-webengine/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2016-12-14 17:34:48 UTC (rev 283307)
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 240297 2015-06-03 10:22:03Z fyan $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.7.1
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('i686' 'x86_64')
+url='http://qt-project.org/'
+license=('LGPL3' 'LGPL2.1' 'BSD')
+pkgdesc='Provides support for web applications using the Chromium browser project'
+depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss' 'libvpx'
+         'libevent' 'libsrtp' 'snappy' 'nss' 'protobuf' 'libxslt' 'minizip' 'ffmpeg')
+makedepends=('python2' 'git' 'gperf' 'jsoncpp')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" qt5-webengine-nss.patch
+        qtwebengine-5.7.0-icu58.patch)
+
+md5sums=('c90fba515fb33c091904fe2cadbb345a'
+         '2a1610b34204102938a24154a52e5571'
+         'c2ffb0073e6f67a0a77a8fe39f9e9859')
+
+prepare() {
+  mkdir -p build
+
+  # Hack to force using python2
+  mkdir -p bin
+  ln -s /usr/bin/python2 bin/python
+
+  # Fix opening some websites with recent NSS https://github.com/QupZilla/qupzilla/issues/1870 (KaOSx patch)
+  cd ${_pkgfqn}
+ # patch -p1 -i ../qt5-webengine-nss.patch
+
+  # Fix build with ICU 58 (gentoo)
+  patch -p1 -i "$srcdir"/qtwebengine-5.7.0-icu58.patch
+}
+
+build() {
+  cd build
+
+  export PATH="$srcdir/bin:$PATH"
+  export CXXFLAGS+=" -fno-delete-null-pointer-checks"
+  qmake WEBENGINE_CONFIG+="use_proprietary_codecs use_system_ffmpeg use_system_icu" ../${_pkgfqn}
+  make
+}
+
+package() {
+  cd build
+  make INSTALL_ROOT="$pkgdir" install
+
+  # Drop QMAKE_PRL_BUILD_DIR because reference the build dir
+  find "$pkgdir/usr/lib" -type f -name '*.prl' \
+    -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;
+
+  install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium
+}

Deleted: testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch
===================================================================
--- testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks-2.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,50 +0,0 @@
-From ba36da6c1f59da7687f6924cc558105dcd1c44dc Mon Sep 17 00:00:00 2001
-From: Allan Sandfeld Jensen <allan.jensen at theqtcompany.com>
-Date: Fri, 10 Jun 2016 13:26:22 +0200
-Subject: [PATCH] Use -fno-delete-null-pointer-checks with gcc 6
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-V8 is not safe for removing null pointer checks. Until it is, we need
-to disable optimizations in GCC that assume it is not doing something
-wrong.
-
-This patch only enables it for v8, and requires it to be activated
-by qtwebengine.
-
-Change-Id: I9da15ecf85719f211ba921a620e9d195eff26178
-Task-number: QTBUG-53956
-Reviewed-by: Michael Brüning <michael.bruning at qt.io>
----
- chromium/v8/build/toolchain.gypi | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/chromium/v8/build/toolchain.gypi b/chromium/v8/build/toolchain.gypi
-index 8a26cc2..2dd4a50 100644
---- a/chromium/v8/build/toolchain.gypi
-+++ b/chromium/v8/build/toolchain.gypi
-@@ -72,6 +72,10 @@
-     # Some versions of GCC 4.5 seem to need -fno-strict-aliasing.
-     'v8_no_strict_aliasing%': 0,
- 
-+    # V8 needs support for illegal null this pointers, and must disable
-+    # optimizations in GCC 6 that relies on correct behavior.
-+    'v8_no_delete_null_pointer_checks%': 0,
-+
-     # Chrome needs this definition unconditionally. For standalone V8 builds,
-     # it's handled in build/standalone.gypi.
-     'want_separate_host_toolset%': 1,
-@@ -1066,6 +1070,9 @@
-           [ 'v8_no_strict_aliasing==1', {
-             'cflags': [ '-fno-strict-aliasing' ],
-           }],
-+          [ 'v8_no_delete_null_pointer_checks==1', {
-+            'cflags_cc': [ '-fno-delete-null-pointer-checks' ],
-+          }],
-         ],  # conditions
-       }],
-       ['OS=="solaris"', {
--- 
-2.8.3
-

Deleted: testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch
===================================================================
--- testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-x86_64/qt5-webengine-fno-delete-null-pointer-checks.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,27 +0,0 @@
-From 5133f095bea2d147e86b99eacaa48363d08db35b Mon Sep 17 00:00:00 2001
-From: Allan Sandfeld Jensen <allan.jensen at theqtcompany.com>
-Date: Fri, 10 Jun 2016 14:46:24 +0200
-Subject: [PATCH] Enable -fno_delete_null_pointer_checks on V8 for G++ 6
-
-Detect g++ 6 and disable null pointer check optimizations on v8.
-
-Change-Id: I5064823af3784786d455ce86592b5e65c1020f21
-Task-number: QTBUG-53956
----
-
-diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
-index 8854a4b..b579e2a 100644
---- a/src/core/config/linux.pri
-+++ b/src/core/config/linux.pri
-@@ -29,6 +29,8 @@ use?(nss) {
-         use_openssl_certs=1
- }
- 
-+gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += v8_no_delete_null_pointer_checks=1
-+
- contains(QT_CONFIG, system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1
- contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1
- contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1
--- 
-2.8.3
-

Deleted: testing-x86_64/qt5-webengine-nss.patch
===================================================================
--- testing-x86_64/qt5-webengine-nss.patch	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-x86_64/qt5-webengine-nss.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,31 +0,0 @@
-diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc 
-qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
---- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2015-12-10 18:17:21.000000000 +0100
-+++ qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2016-01-14 
-17:11:38.432633534 +0100
-@@ -57,6 +57,10 @@
- #include "net/ssl/ssl_platform_key.h"
- #endif
- 
-+#if defined(USE_NSS_CERTS) || defined(OS_IOS)
-+#include "net/cert_net/nss_ocsp.h"
-+#endif
-+
- namespace net {
- 
- namespace {
-@@ -795,6 +799,14 @@
-   DCHECK(!ssl_);
-   DCHECK(!transport_bio_);
- 
-+#if defined(USE_NSS_CERTS) || defined(OS_IOS)
-+  if (ssl_config_.cert_io_enabled) {
-+    // TODO(davidben): Move this out of SSLClientSocket. See
-+    // https://crbug.com/539520.
-+    EnsureNSSHttpIOInit();
-+  }
-+#endif
-+
-   SSLContext* context = SSLContext::GetInstance();
-   crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);
-   

Copied: qt5-webengine/repos/testing-x86_64/qt5-webengine-nss.patch (from rev 283306, qt5-webengine/trunk/qt5-webengine-nss.patch)
===================================================================
--- testing-x86_64/qt5-webengine-nss.patch	                        (rev 0)
+++ testing-x86_64/qt5-webengine-nss.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -0,0 +1,31 @@
+diff -ur qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc 
+qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc
+--- qtwebengine-opensource-src-5.6.0-beta/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2015-12-10 18:17:21.000000000 +0100
++++ qtwebengine-opensource-src-5.6.0-beta-chimera-nss-init/src/3rdparty/chromium/net/socket/ssl_client_socket_openssl.cc	2016-01-14 
+17:11:38.432633534 +0100
+@@ -57,6 +57,10 @@
+ #include "net/ssl/ssl_platform_key.h"
+ #endif
+ 
++#if defined(USE_NSS_CERTS) || defined(OS_IOS)
++#include "net/cert_net/nss_ocsp.h"
++#endif
++
+ namespace net {
+ 
+ namespace {
+@@ -795,6 +799,14 @@
+   DCHECK(!ssl_);
+   DCHECK(!transport_bio_);
+ 
++#if defined(USE_NSS_CERTS) || defined(OS_IOS)
++  if (ssl_config_.cert_io_enabled) {
++    // TODO(davidben): Move this out of SSLClientSocket. See
++    // https://crbug.com/539520.
++    EnsureNSSHttpIOInit();
++  }
++#endif
++
+   SSLContext* context = SSLContext::GetInstance();
+   crypto::OpenSSLErrStackTracer err_tracer(FROM_HERE);
+   

Deleted: testing-x86_64/qtwebengine-5.7.0-icu58.patch
===================================================================
--- testing-x86_64/qtwebengine-5.7.0-icu58.patch	2016-12-14 17:33:42 UTC (rev 283306)
+++ testing-x86_64/qtwebengine-5.7.0-icu58.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -1,51 +0,0 @@
-diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
---- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:07:38.680665385 -0800
-+++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:12:17.564001354 -0800
-@@ -26,6 +26,9 @@
- #include "wtf/StdLibExtras.h"
- #include "wtf/text/CharacterNames.h"
- 
-+#include <unicode/uchar.h>
-+#include <unicode/uvernum.h>
-+
- namespace blink {
- 
- unsigned numGraphemeClusters(const String& string)
-@@ -122,13 +125,18 @@
-     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL
- };
- 
-+#if U_ICU_VERSION_MAJOR_NUM >= 58
-+#define BA_LB_COUNT (U_LB_COUNT - 3)
-+#else
-+#define BA_LB_COUNT U_LB_COUNT
-+#endif
- // Line breaking table for CSS word-break: break-all. This table differs from
- // asciiLineBreakTable in:
- // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking
- //   Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties
- // - 1 indicates additional break opportunities. 0 indicates to fallback to
- //   normal line break, not "prohibit break."
--static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = {
-+static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
-     // XX AI AL B2 BA BB BK CB    CL CM CR EX GL HY ID IN    IS LF NS NU OP PO PR QU    SA SG SP SY ZW NL WJ H2    H3 JL JT JV CP CJ HL RI
-     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX
-     { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI
-@@ -178,7 +186,7 @@
- #undef AL
- 
- static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent");
--static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
-+static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
- 
- static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh)
- {
-@@ -209,7 +217,7 @@
- 
- static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak)
- {
--    if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) {
-+    if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) {
-         const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak];
-         return tableRow[lineBreak / 8] & (1 << (lineBreak % 8));
-     }

Copied: qt5-webengine/repos/testing-x86_64/qtwebengine-5.7.0-icu58.patch (from rev 283306, qt5-webengine/trunk/qtwebengine-5.7.0-icu58.patch)
===================================================================
--- testing-x86_64/qtwebengine-5.7.0-icu58.patch	                        (rev 0)
+++ testing-x86_64/qtwebengine-5.7.0-icu58.patch	2016-12-14 17:34:48 UTC (rev 283307)
@@ -0,0 +1,51 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:07:38.680665385 -0800
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp	2016-11-15 17:12:17.564001354 -0800
+@@ -26,6 +26,9 @@
+ #include "wtf/StdLibExtras.h"
+ #include "wtf/text/CharacterNames.h"
+ 
++#include <unicode/uchar.h>
++#include <unicode/uvernum.h>
++
+ namespace blink {
+ 
+ unsigned numGraphemeClusters(const String& string)
+@@ -122,13 +125,18 @@
+     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL
+ };
+ 
++#if U_ICU_VERSION_MAJOR_NUM >= 58
++#define BA_LB_COUNT (U_LB_COUNT - 3)
++#else
++#define BA_LB_COUNT U_LB_COUNT
++#endif
+ // Line breaking table for CSS word-break: break-all. This table differs from
+ // asciiLineBreakTable in:
+ // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking
+ //   Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties
+ // - 1 indicates additional break opportunities. 0 indicates to fallback to
+ //   normal line break, not "prohibit break."
+-static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = {
++static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
+     // XX AI AL B2 BA BB BK CB    CL CM CR EX GL HY ID IN    IS LF NS NU OP PO PR QU    SA SG SP SY ZW NL WJ H2    H3 JL JT JV CP CJ HL RI
+     { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX
+     { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI
+@@ -178,7 +186,7 @@
+ #undef AL
+ 
+ static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent");
+-static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
++static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
+ 
+ static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh)
+ {
+@@ -209,7 +217,7 @@
+ 
+ static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak)
+ {
+-    if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) {
++    if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) {
+         const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak];
+         return tableRow[lineBreak / 8] & (1 << (lineBreak % 8));
+     }



More information about the arch-commits mailing list