Date: Saturday, January 7, 2023 @ 13:39:30
  Author: archange
Revision: 1381671

upgpkg: electron 22.0.0-1

Added:
  electron/trunk/chromium-icu72.patch
  electron/trunk/re-fix-TFLite-build-error-on-linux-with-system-zlib.patch
  electron/trunk/v8-enhance-Date-parser-to-take-Unicode-SPACE.patch
Modified:
  electron/trunk/PKGBUILD
  electron/trunk/std-vector-non-const.patch
  electron/trunk/use-system-libraries-in-node.patch
Deleted:
  electron/trunk/unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch

-----------------------------------------------------------+
 PKGBUILD                                                  |   42 ++--
 chromium-icu72.patch                                      |  114 ++++++++++++
 re-fix-TFLite-build-error-on-linux-with-system-zlib.patch |   41 ++++
 std-vector-non-const.patch                                |    4 
 unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch  |   38 ----
 use-system-libraries-in-node.patch                        |   58 ------
 v8-enhance-Date-parser-to-take-Unicode-SPACE.patch        |   58 ++++++
 7 files changed, 251 insertions(+), 104 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2023-01-07 12:55:28 UTC (rev 1381670)
+++ PKGBUILD    2023-01-07 13:39:30 UTC (rev 1381671)
@@ -2,12 +2,12 @@
 
 # Remember to handle https://bugs.archlinux.org/task/74324 on major upgrades
 _use_suffix=0
-pkgver=21.3.3
-_commit=ba93dc3c83963826b9210fe82ebcfaca2459557a
-_chromiumver=106.0.5249.199
+pkgver=22.0.0
+_commit=71941e720eb75bf2397eec112d2622e641faf89c
+_chromiumver=108.0.5359.62
 _gcc_patchset=2
 # shellcheck disable=SC2034
-pkgrel=3
+pkgrel=1
 
 _major_ver=${pkgver%%.*}
 if [[ ${_use_suffix} != 0 ]]; then
@@ -24,16 +24,17 @@
 # shellcheck disable=SC2034
 license=('MIT' 'custom')
 # shellcheck disable=SC2034
-depends=('c-ares' 'gtk3' 'libevent' 'nss')
+depends=('c-ares' 'gtk3' 'libevent' 'nss' 'wayland')
 # shellcheck disable=SC2034
 makedepends=('clang' 'git' 'gn' 'gperf' 'harfbuzz-icu' 'http-parser'
-             'java-runtime-headless' 'libnotify' 'lld' 'llvm' 'ninja'
-             'npm' 'pciutils' 'pipewire' 'python' 'python-httplib2'
+             'qt5-base' 'java-runtime-headless' 'libnotify' 'lld' 'llvm'
+             'ninja' 'npm' 'pciutils' 'pipewire' 'python' 'python-httplib2'
              'python-pyparsing' 'python-six' 'wget' 'yarn')
 # shellcheck disable=SC2034
 optdepends=('kde-cli-tools: file deletion support (kioclient5)'
             'libappindicator-gtk3: StatusNotifierItem support'
             'pipewire: WebRTC desktop sharing under Wayland'
+            'qt5-base: enable Qt5 with --enable-features=AllowQt'
             'trash-cli: file deletion support (trash-put)'
             'xdg-utils: open URLs with desktop’s default (xdg-email, 
xdg-open)')
 if [[ ${_use_suffix} == 0 ]]; then
@@ -54,7 +55,9 @@
         'jinja-python-3.10.patch'
         'use-system-libraries-in-node.patch'
         'std-vector-non-const.patch'
-        'unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch'
+        're-fix-TFLite-build-error-on-linux-with-system-zlib.patch'
+        'chromium-icu72.patch'
+        'v8-enhance-Date-parser-to-take-Unicode-SPACE.patch'
         'REVERT-roll-src-third_party-ffmpeg-m102.patch'
         'REVERT-roll-src-third_party-ffmpeg-m106.patch'
         'angle-wayland-include-protocol.patch'
@@ -62,14 +65,16 @@
 # shellcheck disable=SC2034
 sha256sums=('SKIP'
             'SKIP'
-            '2ad419439379d17385b7fd99039aca875ba36ca31b591b9cd4ccef84273be121'
+            '40ef8af65e78901bb8554eddbbb5ebc55c0b8e7927f6ca51b2a353d1c7c50652'
             '77817939c9833f8dda74a8c75620c15747170551ffa6f14f7c5b4071599e8831'
             '4484200d90b76830b69eea3a471c103999a3ce86bb2c29e6c14c945bf4102bae'
             'dd2d248831dd4944d385ebf008426e66efe61d6fdf66f8932c963a12167947b4'
             '55dbe71dbc1f3ab60bf1fa79f7aea7ef1fe76436b1d7df48728a1f8227d2134e'
-            'c70652a8b24c237bcfd27469de32797a2cb46d9f0d63d897bb6418314a25644c'
-            '1c5521fdfbfe26f19f5dcbf96dc36e96c9ef060c8e24baa5f949478cb4220bb3'
-            'b908f37c5a886e855953f69e4dd6b90baa35e79f5c74673f7425f2cdb642eb00'
+            'ff588a8a4fd2f79eb8a4f11cf1aa151298ffb895be566c57cc355d47f161f53f'
+            '893bc04c7fceba2f0a7195ed48551d55f066bbc530ec934c89c55768e6f3949c'
+            '9015b9d6d5b4c1e7248d6477a4b4b6bd6a3ebdc57225d2d8efcd79fc61790716'
+            'dabb5ab204b63be73d3c5c8b7c1fa74053105a285852ba3bbc4fb77646608572'
+            'b83406a881d66627757d9cbc05e345cbb2bd395a48b6d4c970e5e1cb3f6ed454'
             '30df59a9e2d95dcb720357ec4a83d9be51e59cc5551365da4c0073e68ccdec44'
             '4c12d31d020799d31355faa7d1fe2a5a807f7458e7f0c374adf55edb37032152'
             'cd0d9d2a1d6a522d47c3c0891dabe4ad72eabbebc0fe5642b9e22efa3d5ee572')
@@ -174,7 +179,9 @@
   echo "Applying local patches..."
 
   # Upstream fixes
-  patch -Np1 -i ../unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch
+  patch -Np1 -i ../re-fix-TFLite-build-error-on-linux-with-system-zlib.patch
+  patch -Np1 -i ../chromium-icu72.patch
+  patch -Np1 -d v8 <../v8-enhance-Date-parser-to-take-Unicode-SPACE.patch
 
   # Revert ffmpeg roll requiring new channel layout API support
   # https://crbug.com/1325301
@@ -187,7 +194,6 @@
 
   # Fixes for building with libstdc++ instead of libc++
   patch -Np1 -i ../patches/chromium-103-VirtualCursor-std-layout.patch
-  patch -Np1 -i 
../patches/chromium-106-AutofillPopupControllerImpl-namespace.patch
 
   # Electron specific fixes
   patch -d third_party/electron_node/tools/inspector_protocol/jinja2 \
@@ -265,15 +271,21 @@
   GN_EXTRA_ARGS='
     custom_toolchain = "//build/toolchain/linux/unbundle:default"
     host_toolchain = "//build/toolchain/linux/unbundle:default"
+    clang_base_path = "/usr"
     clang_use_chrome_plugins = false
     symbol_level = 0
     chrome_pgo_phase = 2
     treat_warnings_as_errors = false
+    disable_fieldtrial_testing_config = true
+    blink_enable_generated_code_formatting = false
+    ffmpeg_branding = "Chrome"
     rtc_use_pipewire = true
     link_pulseaudio = true
+    use_custom_libcxx = false
     use_gnome_keyring = false
     use_sysroot = false
-    use_custom_libcxx = false
+    use_system_libwayland = true
+    use_system_wayland_scanner = true
     icu_use_data_file = false
     is_component_ffmpeg = false
   '

Added: chromium-icu72.patch
===================================================================
--- chromium-icu72.patch                                (rev 0)
+++ chromium-icu72.patch        2023-01-07 13:39:30 UTC (rev 1381671)
@@ -0,0 +1,114 @@
+From 2c4d3c61aa33f3169e7923ea3433c71e3df0952f Mon Sep 17 00:00:00 2001
+From: Frank Tang <[email protected]>
+Date: Mon, 7 Nov 2022 22:08:05 +0000
+Subject: [PATCH 1/2] Prepare for ICU72 landing
+
+The date format may output U+202F Narrow SPACE between time
+and AM/PM. So switch to use UTF8 and not restrict to ASCII which
+will break when the output is not only ASCII.
+
+Bug: 1371208
+Change-Id: I05f9daadfba5c45d618f15ae23340da373f2f36a
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4007076
+Reviewed-by: Daniel Rubery <[email protected]>
+Commit-Queue: Frank Tang <[email protected]>
+Cr-Commit-Position: refs/heads/main@{#1068343}
+
+(cherry picked from commit ce2ffed84b95e2b7c068d6f066d86cd034212425)
+---
+ .../safe_browsing/content/browser/web_ui/safe_browsing_ui.cc    | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git 
a/components/safe_browsing/content/browser/web_ui/safe_browsing_ui.cc 
b/components/safe_browsing/content/browser/web_ui/safe_browsing_ui.cc
+index 92597a9d3a4..e6e7514a082 100644
+--- a/components/safe_browsing/content/browser/web_ui/safe_browsing_ui.cc
++++ b/components/safe_browsing/content/browser/web_ui/safe_browsing_ui.cc
+@@ -457,7 +457,7 @@ namespace {
+ std::string UserReadableTimeFromMillisSinceEpoch(int64_t 
time_in_milliseconds) {
+   base::Time time =
+       base::Time::UnixEpoch() + base::Milliseconds(time_in_milliseconds);
+-  return base::UTF16ToASCII(base::TimeFormatShortDateAndTime(time));
++  return base::UTF16ToUTF8(base::TimeFormatShortDateAndTime(time));
+ }
+ 
+ void AddStoreInfo(const DatabaseManagerInfo::DatabaseInfo::StoreInfo 
store_info,
+
+From 8ba9d96da703978655cddf07d58b0a15f0a43a10 Mon Sep 17 00:00:00 2001
+From: Frank Tang <[email protected]>
+Date: Tue, 8 Nov 2022 00:13:16 +0000
+Subject: [PATCH 2/2] Prepare the landing of ICU72/Unicode 15
+
+See
+https://www.unicode.org/emoji/charts-15.0/emoji-released.html
+https://www.unicode.org/charts/PDF/U1F680.pdf
+https://www.unicode.org/charts/PDF/U1FA70.pdf
+for the newly added emoji to
+Transport and Map Symbols
+Symbols and Pictographs Extended-A blocks.
+
+Update the kIsCJKIdeographOrSymbolRanges to Unicode 15
+Needed to avoid test breakage of
+CharacterTest.HammerEmojiVsCJKIdeographOrSymbol
+
+Bug: 1371208
+Change-Id: Ic7b319ba18f3aded46b252d8b484e3b1bc43eff4
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4007098
+Reviewed-by: Stephen Chenney <[email protected]>
+Commit-Queue: Frank Tang <[email protected]>
+Cr-Commit-Position: refs/heads/main@{#1068422}
+
+(cherry picked from commit d93a774bf6fac8ddaaa1041ea6ad2dd8e5ff4539)
+---
+ .../platform/text/character_property_data.h   | 24 +++++++++----------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git 
a/third_party/blink/renderer/platform/text/character_property_data.h 
b/third_party/blink/renderer/platform/text/character_property_data.h
+index 9005c20a379..ee690563c28 100644
+--- a/third_party/blink/renderer/platform/text/character_property_data.h
++++ b/third_party/blink/renderer/platform/text/character_property_data.h
+@@ -107,7 +107,7 @@ static const UChar32 kIsCJKIdeographOrSymbolRanges[] = {
+     0x1F3FB, 0x1F3FF,
+ 
+     // Transport
+-    0x1F6DD, 0x1F6DF,
++    0x1F6DC, 0x1F6DF,
+ 
+     // Colored circles and squares for use with emoji.
+     0x1F7E0, 0x1F7EB,
+@@ -118,25 +118,25 @@ static const UChar32 kIsCJKIdeographOrSymbolRanges[] = {
+     0x1F900, 0x1F90F,
+     // ZIPPER-MOUTH FACE...SIGN OF THE HORNS
+     0x1F910, 0x1F918, 0x1F919, 0x1F97F, 0x1F980, 0x1F9BF, 0x1F9C0, 0x1F9FF,
+-    // Clothing
+-    0x1FA70, 0x1FA74,
+-    // Medical symbols
+-    0x1FA78, 0x1FA7C,
++    // Clothing, heart and Medical symbols
++    0x1FA70, 0x1FA7C,
+     // Toys and sport symbols
+-    0x1FA80, 0x1FA86,
++    0x1FA80, 0x1FA88,
+     // Miscellaneous objects
+-    0x1FA90, 0x1FAAC,
+     // Animals and nature
+-    0x1FAB0, 0x1FABA,
++    0x1FA90, 0x1FABD,
++    // Animal
+     // Body parts
+     // People
+-    0x1FAC0, 0x1FAC5,
++    0x1FABF, 0x1FAC5,
++    // animal-mammal
++    0x1FACE, 0x1FACF,
+     // Food and drink
+-    0x1FAD0, 0x1FAD9,
++    0x1FAD0, 0x1FADB,
+     // Face
+-    0x1FAE0, 0x1FAE7,
++    0x1FAE0, 0x1FAE8,
+     // Hand
+-    0x1FAF0, 0x1FAF6,
++    0x1FAF0, 0x1FAF8,
+     };
+ 
+ // https://html.spec.whatwg.org/C/#prod-potentialcustomelementname

Added: re-fix-TFLite-build-error-on-linux-with-system-zlib.patch
===================================================================
--- re-fix-TFLite-build-error-on-linux-with-system-zlib.patch                   
        (rev 0)
+++ re-fix-TFLite-build-error-on-linux-with-system-zlib.patch   2023-01-07 
13:39:30 UTC (rev 1381671)
@@ -0,0 +1,41 @@
+From dda01a706453ded8c01c41775707cb5ef4e316f8 Mon Sep 17 00:00:00 2001
+From: Andres Salomon <[email protected]>
+Date: Tue, 25 Oct 2022 21:11:46 +0000
+Subject: [PATCH] Re-fix TFLite build error on linux when using the system zlib
+
+In commit ae0f9adb7e14c0d19ca695ef6ad40b321a8cb64c, I fixed some build
+errors related to minizip patch inclusion in TFLite. However, after that
+when TFLite Support was rolled to HEAD, a small part of that patch got
+dropped. The result is the following build error with 107.0.5304.62:
+
+../../third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc:22:10:
 fatal error: 'contrib/minizip/ioapi.h' file not found
+         ^~~~~~~~~~~~~~~~~~~~~~~~~
+1 error generated.
+
+This commit re-adds the lost fix.
+
[email protected]
+
+Change-Id: Ie96c3571894b5100a1e2a2771da29699eff0beb3
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3972087
+Reviewed-by: Robert Ogden <[email protected]>
+Commit-Queue: Robert Ogden <[email protected]>
+Auto-Submit: Andres Salomon <[email protected]>
+Cr-Commit-Position: refs/heads/main@{#1063478}
+---
+ .../metadata/cc/utils/zip_readonly_mem_file.cc                  | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git 
a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
 
b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
+index 392b6b411fe..525ae4a2b45 100644
+--- 
a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
++++ 
b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
+@@ -19,7 +19,7 @@ limitations under the License.
+ #include <cstdio>
+ 
+ #include "absl/strings/string_view.h"  // from @com_google_absl
+-#include "contrib/minizip/ioapi.h"
++#include "third_party/zlib/contrib/minizip/ioapi.h"
+ 
+ namespace tflite {
+ namespace metadata {

Modified: std-vector-non-const.patch
===================================================================
--- std-vector-non-const.patch  2023-01-07 12:55:28 UTC (rev 1381670)
+++ std-vector-non-const.patch  2023-01-07 13:39:30 UTC (rev 1381671)
@@ -74,7 +74,7 @@
       return true;
 --- a/shell/browser/api/electron_api_app.cc
 +++ b/shell/browser/api/electron_api_app.cc
-@@ -522,10 +522,10 @@ bool NotificationCallbackWrapper(
+@@ -523,10 +523,10 @@ bool NotificationCallbackWrapper(
      const base::RepeatingCallback<
          void(const base::CommandLine& command_line,
               const base::FilePath& current_directory,
@@ -87,7 +87,7 @@
    // Make sure the callback is called after app gets ready.
    if (Browser::Get()->is_ready()) {
      callback.Run(cmd, cwd, std::move(additional_data));
-@@ -1094,7 +1094,7 @@ std::string App::GetLocaleCountryCode() {
+@@ -1102,7 +1102,7 @@ std::string App::GetLocaleCountryCode() {
  
  void App::OnSecondInstance(const base::CommandLine& cmd,
                             const base::FilePath& cwd,

Deleted: unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch
===================================================================
--- unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch    2023-01-07 
12:55:28 UTC (rev 1381670)
+++ unbundle-jsoncpp-avoid-CFI-faults-with-is_cfi-true.patch    2023-01-07 
13:39:30 UTC (rev 1381671)
@@ -1,38 +0,0 @@
-From ed8d931e35f81d8566835a579caf7d61368f85b7 Mon Sep 17 00:00:00 2001
-From: Evangelos Foutras <[email protected]>
-Date: Tue, 27 Sep 2022 22:20:41 +0000
-Subject: [PATCH] unbundle/jsoncpp: avoid CFI faults with is_cfi=true
-
-Ensure jsoncpp symbols have public visibility and are thus excluded from
-CFI checks and whole-program optimization. This is achieved by defining
-JSON_DLL_BUILD which in turn causes json/config.h to define JSON_API as
-__attribute__((visibility("default"))). The latter macro is used to tag
-jsoncpp classes and namespace functions throughout jsoncpp's headers.
-
-BUG=1365218
-
-Change-Id: I56277737b7d9ecaeb5e17c8d21a2e55f3d5d5bc9
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3919652
-Reviewed-by: Thomas Anderson <[email protected]>
-Commit-Queue: Thomas Anderson <[email protected]>
-Cr-Commit-Position: refs/heads/main@{#1052077}
----
- build/linux/unbundle/jsoncpp.gn | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/build/linux/unbundle/jsoncpp.gn b/build/linux/unbundle/jsoncpp.gn
-index 544f9d13c9..e84a0ef27a 100644
---- a/build/linux/unbundle/jsoncpp.gn
-+++ b/build/linux/unbundle/jsoncpp.gn
-@@ -3,6 +3,11 @@ import("//build/shim_headers.gni")
- 
- pkg_config("jsoncpp_config") {
-   packages = [ "jsoncpp" ]
-+
-+  # Defining JSON_DLL_BUILD applies public visibility to jsoncpp classes
-+  # thus deactivating CFI checks for them. This avoids CFI violations in
-+  # virtual calls to system jsoncpp library (https://crbug.com/1365218).
-+  defines = [ "JSON_DLL_BUILD" ]
- }
- 
- shim_headers("jsoncpp_shim") {

Modified: use-system-libraries-in-node.patch
===================================================================
--- use-system-libraries-in-node.patch  2023-01-07 12:55:28 UTC (rev 1381670)
+++ use-system-libraries-in-node.patch  2023-01-07 13:39:30 UTC (rev 1381671)
@@ -1,53 +1,13 @@
 --- a/third_party/electron_node/BUILD.gn
 +++ b/third_party/electron_node/BUILD.gn
-@@ -42,6 +42,18 @@
+@@ -42,8 +42,8 @@ declare_args() {
    node_module_version = ""
+
+   # Allows downstream packagers (eg. Linux distributions) to build Electron 
against system shared libraries.
+-  use_system_cares = false
+-  use_system_nghttp2 = false
++  use_system_cares = true
++  use_system_nghttp2 = true
+   use_system_llhttp = false
+   use_system_histogram = false
  }
- 
-+if (is_linux) {
-+  import("//build/config/linux/pkg_config.gni")
-+
-+  pkg_config("cares") {
-+    packages = [ "libcares" ]
-+  }
-+
-+  pkg_config("nghttp2") {
-+    packages = [ "libnghttp2" ]
-+  }
-+}
-+
- assert(!node_use_dtrace, "node_use_dtrace not supported in GN")
- assert(!node_use_etw, "node_use_etw not supported in GN")
- 
-@@ -182,11 +194,9 @@
- component("node_lib") {
-   deps = [
-     ":node_js2c",
--    "deps/cares",
-     "deps/histogram",
-     "deps/googletest:gtest",
-     "deps/llhttp",
--    "deps/nghttp2",
-     "deps/uvwasi",
-     "//third_party/zlib",
-     "//third_party/brotli:dec",
-@@ -202,6 +212,19 @@
-   public_configs = [ ":node_lib_config" ]
-   include_dirs = [ "src" ]
-   libs = []
-+  if (is_linux) {
-+    configs += [
-+      ":cares",
-+      ":nghttp2",
-+    ]
-+    libs += [ "http_parser" ]
-+  } else {
-+    deps += [
-+      "deps/cares",
-+      "deps/http_parser",
-+      "deps/nghttp2",
-+    ]
-+  }
-   frameworks = []
-   cflags_cc = [
-     "-Wno-deprecated-declarations",

Added: v8-enhance-Date-parser-to-take-Unicode-SPACE.patch
===================================================================
--- v8-enhance-Date-parser-to-take-Unicode-SPACE.patch                          
(rev 0)
+++ v8-enhance-Date-parser-to-take-Unicode-SPACE.patch  2023-01-07 13:39:30 UTC 
(rev 1381671)
@@ -0,0 +1,58 @@
+From 81dd64c3705f89653859a5d0001dd0ca983a92e2 Mon Sep 17 00:00:00 2001
+From: Frank Tang <[email protected]>
+Date: Wed, 16 Nov 2022 09:18:45 -0800
+Subject: [PATCH] [intl] Enhance Date parser to take Unicode SPACE
+
+This is needed to prepare for the landing of ICU72.
+Allow U+202F in the Date String, which the toLocaleString("en-US")
+will generate w/ ICU72.
+
+Bug: v8:13494
+Change-Id: I41b83c4094ce3d0737a72dcd6310b52c68fdcdca
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4027341
+Reviewed-by: Yang Guo <[email protected]>
+Reviewed-by: Jungshik Shin <[email protected]>
+Commit-Queue: Frank Tang <[email protected]>
+Cr-Commit-Position: refs/heads/main@{#84308}
+
+(cherry picked from commit 2ada52cffbff11074abfaac18938bf02d85454f5)
+---
+ src/date/dateparser-inl.h | 2 +-
+ src/date/dateparser.h     | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/date/dateparser-inl.h b/src/date/dateparser-inl.h
+index 623986d2b1..b45479dc51 100644
+--- a/src/date/dateparser-inl.h
++++ b/src/date/dateparser-inl.h
+@@ -192,7 +192,7 @@ DateParser::DateToken 
DateParser::DateStringTokenizer<CharType>::Scan() {
+   if (in_->Skip('+')) return DateToken::Symbol('+');
+   if (in_->Skip('.')) return DateToken::Symbol('.');
+   if (in_->Skip(')')) return DateToken::Symbol(')');
+-  if (in_->IsAsciiAlphaOrAbove()) {
++  if (in_->IsAsciiAlphaOrAbove() && !in_->IsWhiteSpaceChar()) {
+     DCHECK_EQ(KeywordTable::kPrefixLength, 3);
+     uint32_t buffer[3] = {0, 0, 0};
+     int length = in_->ReadWord(buffer, 3);
+diff --git a/src/date/dateparser.h b/src/date/dateparser.h
+index 1a0a0b15ab..59b2f3c9fd 100644
+--- a/src/date/dateparser.h
++++ b/src/date/dateparser.h
+@@ -91,7 +91,8 @@ class DateParser : public AllStatic {
+     // Return word length.
+     int ReadWord(uint32_t* prefix, int prefix_size) {
+       int len;
+-      for (len = 0; IsAsciiAlphaOrAbove(); Next(), len++) {
++      for (len = 0; IsAsciiAlphaOrAbove() && !IsWhiteSpaceChar();
++           Next(), len++) {
+         if (len < prefix_size) prefix[len] = AsciiAlphaToLower(ch_);
+       }
+       for (int i = len; i < prefix_size; i++) prefix[i] = 0;
+@@ -115,6 +116,7 @@ class DateParser : public AllStatic {
+     bool IsEnd() const { return ch_ == 0; }
+     bool IsAsciiDigit() const { return IsDecimalDigit(ch_); }
+     bool IsAsciiAlphaOrAbove() const { return ch_ >= 'A'; }
++    bool IsWhiteSpaceChar() const { return IsWhiteSpace(ch_); }
+     bool IsAsciiSign() const { return ch_ == '+' || ch_ == '-'; }
+ 
+     // Return 1 for '+' and -1 for '-'.

Reply via email to