]>
Commit | Line | Data |
---|---|---|
d10c1265 JP |
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 | |
5 | ||
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. | |
9 | ||
10 | Task-number: QTBUG-54720 | |
11 | Task-number: QTBUG-85117 | |
12 | Change-Id: If73ce3fccdb7fc3dc2cddd39bba998f51956e45a | |
13 | Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> | |
14 | --- | |
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(-) | |
20 | ||
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); } | |
27 | }; | |
28 | ||
29 | + | |
30 | +#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 | |
31 | +template <typename... T> | |
32 | +struct is_trivially_copy_constructible<flat_map<T...>> : std::false_type {}; | |
33 | +#endif | |
34 | + | |
35 | // ---------------------------------------------------------------------------- | |
36 | // Lifetime. | |
37 | ||
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; | |
44 | ||
45 | if (!cbor_response || !cbor_response->is_map()) { | |
46 | - return response; | |
47 | + return base::make_optional<BioEnrollmentResponse>(std::move(response)); | |
48 | } | |
49 | ||
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); | |
53 | } | |
54 | ||
55 | - return std::move(response); | |
56 | + return base::make_optional<BioEnrollmentResponse>(std::move(response)); | |
57 | } | |
58 | ||
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( | |
65 | return base::nullopt; | |
66 | } | |
67 | ||
68 | - return handler; | |
69 | + return base::make_optional<std::unique_ptr<FidoCableHandshakeHandler> >(std::move(handler)); | |
70 | } | |
71 | ||
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", | |
86 | -- | |
87 | 2.16.3 | |
88 | ||
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 | |
93 | ||
94 | Submodule src/3rdparty 0a4240a9..4a996760: | |
95 | > Fix building FIDO with gcc5 | |
96 | > [Backport] CVE-2020-6512: Type Confusion in V8 (3/3) | |
97 | ||
98 | Fixes: QTBUG-85117 | |
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> | |
103 | --- | |
104 | src/3rdparty | 2 +- | |
105 | src/buildtools/config/common.pri | 2 +- | |
106 | src/core/web_engine_context.cpp | 2 -- | |
107 | 3 files changed, 2 insertions(+), 4 deletions(-) | |
108 | ||
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); | |
135 | -- | |
136 | 2.16.3 | |
137 |