1 From d61a4348c475ab6867334ef3ab4b5709cae15bb2 Mon Sep 17 00:00:00 2001
2 From: Tamas Zakor <ztamas@inf.u-szeged.hu>
3 Date: Wed, 15 Jul 2020 15:58:44 +0200
4 Subject: [PATCH] Fix WebAuth build
6 - Enable typemaps.gni for WebAuth.
7 - Workaround a gcc 6 compiler error when flat_map is uncopyable.
8 - Also fix the build with gcc 6 and gcc 7.
10 Task-number: QTBUG-54720
11 Task-number: QTBUG-85117
12 Change-Id: If73ce3fccdb7fc3dc2cddd39bba998f51956e45a
13 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
15 chromium/base/containers/flat_map.h | 6 ++++++
16 chromium/device/fido/bio/enrollment.cc | 4 ++--
17 chromium/device/fido/cable/fido_cable_discovery.cc | 2 +-
18 .../mojo/public/tools/bindings/chromium_bindings_configuration.gni | 2 +-
19 4 files changed, 10 insertions(+), 4 deletions(-)
21 diff --git a/chromium/base/containers/flat_map.h b/chromium/base/containers/flat_map.h
22 index 41682d5958d..8fbf554b38f 100644
23 --- a/src/3rdparty/hromium/base/containers/flat_map.h
24 +++ b/src/3rdparty/chromium/base/containers/flat_map.h
25 @@ -240,6 +240,12 @@ class flat_map : public ::base::internal::flat_tree<
26 friend void swap(flat_map& lhs, flat_map& rhs) noexcept { lhs.swap(rhs); }
30 +#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7
31 +template <typename... T>
32 +struct is_trivially_copy_constructible<flat_map<T...>> : std::false_type {};
35 // ----------------------------------------------------------------------------
38 diff --git a/chromium/device/fido/bio/enrollment.cc b/chromium/device/fido/bio/enrollment.cc
39 index 981c4397ca2..a1749e35d06 100644
40 --- a/src/3rdparty/chromium/device/fido/bio/enrollment.cc
41 +++ b/src/3rdparty/chromium/device/fido/bio/enrollment.cc
42 @@ -131,7 +131,7 @@ base::Optional<BioEnrollmentResponse> BioEnrollmentResponse::Parse(
43 BioEnrollmentResponse response;
45 if (!cbor_response || !cbor_response->is_map()) {
47 + return base::make_optional<BioEnrollmentResponse>(std::move(response));
50 const auto& response_map = cbor_response->GetMap();
51 @@ -252,7 +252,7 @@ base::Optional<BioEnrollmentResponse> BioEnrollmentResponse::Parse(
52 response.template_infos = std::move(template_infos);
55 - return std::move(response);
56 + return base::make_optional<BioEnrollmentResponse>(std::move(response));
59 BioEnrollmentResponse::BioEnrollmentResponse() = default;
60 diff --git a/chromium/device/fido/cable/fido_cable_discovery.cc b/chromium/device/fido/cable/fido_cable_discovery.cc
61 index aa130900be2..ac8a4b4b099 100644
62 --- a/src/3rdparty/chromium/device/fido/cable/fido_cable_discovery.cc
63 +++ b/src/3rdparty/chromium/device/fido/cable/fido_cable_discovery.cc
64 @@ -348,7 +348,7 @@ FidoCableDiscovery::CreateHandshakeHandler(
69 + return base::make_optional<std::unique_ptr<FidoCableHandshakeHandler> >(std::move(handler));
72 void FidoCableDiscovery::DeviceAdded(BluetoothAdapter* adapter,
73 diff --git a/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni b/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni
74 index 1ad43c69c92..35840baac15 100644
75 --- a/src/3rdparty/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni
76 +++ b/src/3rdparty/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni
77 @@ -18,7 +18,7 @@ _typemap_imports = [
78 "//components/chromeos_camera/common/typemaps.gni",
79 "//components/sync/mojom/typemaps.gni",
80 "//components/typemaps.gni",
81 -# "//content/browser/typemaps.gni",
82 + "//content/browser/typemaps.gni",
83 "//content/common/typemaps.gni",
84 "//content/public/common/typemaps.gni",
85 "//device/bluetooth/public/mojom/typemaps.gni",
89 From 904330c3a39a29ef078c9c1ddc2a1d1580fa2c32 Mon Sep 17 00:00:00 2001
90 From: Allan Sandfeld Jensen <allan.jensen@qt.io>
91 Date: Tue, 21 Jul 2020 09:11:30 +0200
92 Subject: [PATCH] Do not turn web auth off
94 Submodule src/3rdparty 0a4240a9..4a996760:
95 > Fix building FIDO with gcc5
96 > [Backport] CVE-2020-6512: Type Confusion in V8 (3/3)
99 Task-number: QTBUG-54720
100 Change-Id: I074831454b469c17a71f2ca75a075ee48157970d
101 Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu>
102 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
105 src/buildtools/config/common.pri | 2 +-
106 src/core/web_engine_context.cpp | 2 --
107 3 files changed, 2 insertions(+), 4 deletions(-)
109 diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri
110 index 8aeeb38945..ddcd225cc9 100644
111 --- a/src/buildtools/config/common.pri
112 +++ b/src/buildtools/config/common.pri
113 @@ -17,7 +17,7 @@ gn_args += \
114 enable_resource_whitelist_generation=false \
115 enable_swiftshader=false \
116 angle_enable_swiftshader=false \
117 - enable_web_auth=false \
118 + enable_web_auth=true \
119 enable_web_speech=false \
120 enable_widevine=true \
121 has_native_accessibility=false \
122 diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp
123 index 01d55a5a1c..11365de625 100644
124 --- a/src/core/web_engine_context.cpp
125 +++ b/src/core/web_engine_context.cpp
126 @@ -649,8 +649,6 @@ WebEngineContext::WebEngineContext()
127 // Explicitly tell Chromium about default-on features we do not support
128 appendToFeatureList(disableFeatures, features::kBackgroundFetch.name);
129 appendToFeatureList(disableFeatures, features::kSmsReceiver.name);
130 - appendToFeatureList(disableFeatures, features::kWebAuth.name);
131 - appendToFeatureList(disableFeatures, features::kWebAuthCable.name);
132 appendToFeatureList(disableFeatures, features::kWebPayments.name);
133 appendToFeatureList(disableFeatures, features::kWebUsb.name);
134 appendToFeatureList(disableFeatures, media::kPictureInPicture.name);