On Wed, 14 Jul 2021 23:30:54 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
> This fix allows the latest WebKit 612.1 to compile with Visual Studio 2017. > For the jfx mainline, our current toolchain for Windows is VS2019 16.9.3, but > we would like to continue to allow developers to build with VS 2017. > > The JavaFX 11 code line still uses VS2017 (15.9.24), so we must fix this in > the `jfx11u` code line in any case. Fixing it mainline first and then > backporting it will allow the native WebKit code to remain in sync between > mainline and jfx11u as well as keeping JavaFX buildable on VS2017 for a while > longer. > > As noted in the JBS bug report, eventually we will need to upgrade all code > lines to a minimum of VS2019 for building WebKit, but this fix allows us to > delay that for a while longer. > > ## Notes to Reviewers > > There were two problems that needed to be fixed: > > * `WebCore/inspector/InspectorOverlay.cpp` fails to compile with an error > that "conversion from 'const int' to 'float' requires a narrowing > conversion". The fix is to initialize the two `constexpr` variables with > float constants instead of integer constants. > * `jfxwebkit.dll` fails to link with 4 duplicate symbols due to VS2017's > incomplete (or buggy) support for inline constant variables. The fix is to > move the definition of those 4 constant variables from `Node.h` to `Node.cpp` > and define them as runtime constants. > > I qualified both changes with `#if PLATFORM(JAVA)` so our local modifications > are clearly identified. I could have further qualified the second of these > two changes (there's no point in doing it for the first) with `&& > OS(WINDOWS)` but chose to be consistent on all OS platforms. @johanvos @tiainen Can one of you be the second reviewer? ------------- PR: https://git.openjdk.java.net/jfx/pull/576