Log Message
[Win] Use C++17 in MSVC https://bugs.webkit.org/show_bug.cgi?id=185232 Reviewed by Alex Christensen.
.: Use /std:c++17 option. * Source/cmake/OptionsMSVC.cmake: Source/ThirdParty: Use std::tuple instead of std::tr1::tuple since std::tr1::tuple is removed in C++17 MSVC. In a subsequent patch, we will upgrade gtest too. * gtest/include/gtest/internal/gtest-param-util-generated.h: (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tuple<T1, T2> > const): (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tuple<T1, T2, T3> > const): (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4> > const): (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> > const): (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> > const): (testing::internal::CartesianProductHolder7:: const): (testing::internal::CartesianProductHolder8:: const): (testing::internal::CartesianProductHolder9:: const): (testing::internal::CartesianProductHolder10:: const): (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tr1::tuple<T1, T2> > const): Deleted. (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> > const): Deleted. (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> > const): Deleted. (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> > const): Deleted. (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> > const): Deleted. * gtest/include/gtest/internal/gtest-tuple.h: Source/WebCore: Workaround for MSVC + /std:c++17. * Modules/geolocation/Coordinates.h: (WebCore::Coordinates::isolatedCopy const): Source/WTF: Disable some WebKit defined C++17 features for MSVC. * wtf/StdLibExtras.h: Tools: Do not use `using namespace std;`. In C++17, we have std::byte. This "byte" conflicts with ::byte defined in Windows' header. * DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp: (WindowedPluginTest::WindowedPluginTest): * DumpRenderTree/win/AccessibilityControllerWin.cpp: (logEventProc): (stringEvent): (AccessibilityController::winNotificationReceived): * DumpRenderTree/win/TextInputController.cpp: (markedRangeCallback): (firstRectForCharacterRangeCallback): (selectedRangeCallback): * DumpRenderTree/win/TextInputController.h: * DumpRenderTree/win/TextInputControllerWin.cpp: (TextInputController::markedRange): (TextInputController::firstRectForCharacterRange): (TextInputController::selectedRange):
Modified Paths
- trunk/ChangeLog
- trunk/Source/ThirdParty/ChangeLog
- trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util-generated.h
- trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-tuple.h
- trunk/Source/WTF/ChangeLog
- trunk/Source/WTF/wtf/StdLibExtras.h
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/Modules/geolocation/Coordinates.h
- trunk/Source/cmake/OptionsMSVC.cmake
- trunk/Tools/ChangeLog
- trunk/Tools/DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp
- trunk/Tools/DumpRenderTree/win/AccessibilityControllerWin.cpp
- trunk/Tools/DumpRenderTree/win/TextInputController.cpp
- trunk/Tools/DumpRenderTree/win/TextInputController.h
- trunk/Tools/DumpRenderTree/win/TextInputControllerWin.cpp
Diff
Modified: trunk/ChangeLog (231851 => 231852)
--- trunk/ChangeLog 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/ChangeLog 2018-05-16 17:50:38 UTC (rev 231852)
@@ -1,3 +1,14 @@
+2018-05-14 Yusuke Suzuki <utatane....@gmail.com>
+
+ [Win] Use C++17 in MSVC
+ https://bugs.webkit.org/show_bug.cgi?id=185232
+
+ Reviewed by Alex Christensen.
+
+ Use /std:c++17 option.
+
+ * Source/cmake/OptionsMSVC.cmake:
+
2018-05-16 Alberto Garcia <be...@igalia.com>
[CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
Modified: trunk/Source/ThirdParty/ChangeLog (231851 => 231852)
--- trunk/Source/ThirdParty/ChangeLog 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Source/ThirdParty/ChangeLog 2018-05-16 17:50:38 UTC (rev 231852)
@@ -1,3 +1,30 @@
+2018-05-14 Yusuke Suzuki <utatane....@gmail.com>
+
+ [Win] Use C++17 in MSVC
+ https://bugs.webkit.org/show_bug.cgi?id=185232
+
+ Reviewed by Alex Christensen.
+
+ Use std::tuple instead of std::tr1::tuple since std::tr1::tuple is removed in C++17 MSVC.
+ In a subsequent patch, we will upgrade gtest too.
+
+ * gtest/include/gtest/internal/gtest-param-util-generated.h:
+ (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tuple<T1, T2> > const):
+ (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tuple<T1, T2, T3> > const):
+ (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4> > const):
+ (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> > const):
+ (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> > const):
+ (testing::internal::CartesianProductHolder7:: const):
+ (testing::internal::CartesianProductHolder8:: const):
+ (testing::internal::CartesianProductHolder9:: const):
+ (testing::internal::CartesianProductHolder10:: const):
+ (testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tr1::tuple<T1, T2> > const): Deleted.
+ (testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> > const): Deleted.
+ (testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> > const): Deleted.
+ (testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> > const): Deleted.
+ (testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> > const): Deleted.
+ * gtest/include/gtest/internal/gtest-tuple.h:
+
2018-05-10 Michael Catanzaro <mcatanz...@igalia.com>
Fix some -Wstring-op-truncation warnings
Modified: trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util-generated.h (231851 => 231852)
--- trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util-generated.h 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-param-util-generated.h 2018-05-16 17:50:38 UTC (rev 231852)
@@ -38,7 +38,7 @@
// and at most 10 arguments in Combine. Please contact
// googletestframew...@googlegroups.com if you need more.
// Please note that the number of arguments to Combine is limited
-// by the maximum arity of the implementation of tr1::tuple which is
+// by the maximum arity of the implementation of tuple which is
// currently set at 10.
#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_PARAM_UTIL_GENERATED_H_
@@ -2834,9 +2834,9 @@
//
template <typename T1, typename T2>
class CartesianProductGenerator2
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2> > {
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2> > {
public:
- typedef ::std::tr1::tuple<T1, T2> ParamType;
+ typedef ::std::tuple<T1, T2> ParamType;
CartesianProductGenerator2(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2)
@@ -2949,9 +2949,9 @@
template <typename T1, typename T2, typename T3>
class CartesianProductGenerator3
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3> > {
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3> > {
public:
- typedef ::std::tr1::tuple<T1, T2, T3> ParamType;
+ typedef ::std::tuple<T1, T2, T3> ParamType;
CartesianProductGenerator3(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3)
@@ -3081,9 +3081,9 @@
template <typename T1, typename T2, typename T3, typename T4>
class CartesianProductGenerator4
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4> > {
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4> > {
public:
- typedef ::std::tr1::tuple<T1, T2, T3, T4> ParamType;
+ typedef ::std::tuple<T1, T2, T3, T4> ParamType;
CartesianProductGenerator4(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
@@ -3232,9 +3232,9 @@
template <typename T1, typename T2, typename T3, typename T4, typename T5>
class CartesianProductGenerator5
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5> > {
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5> > {
public:
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5> ParamType;
+ typedef ::std::tuple<T1, T2, T3, T4, T5> ParamType;
CartesianProductGenerator5(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
@@ -3400,10 +3400,10 @@
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6>
class CartesianProductGenerator6
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5,
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5,
T6> > {
public:
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> ParamType;
+ typedef ::std::tuple<T1, T2, T3, T4, T5, T6> ParamType;
CartesianProductGenerator6(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
@@ -3586,10 +3586,10 @@
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7>
class CartesianProductGenerator7
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6,
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6,
T7> > {
public:
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7> ParamType;
+ typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7> ParamType;
CartesianProductGenerator7(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
@@ -3789,10 +3789,10 @@
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8>
class CartesianProductGenerator8
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6,
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6,
T7, T8> > {
public:
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8> ParamType;
+ typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8> ParamType;
CartesianProductGenerator8(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
@@ -4011,10 +4011,10 @@
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9>
class CartesianProductGenerator9
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6,
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6,
T7, T8, T9> > {
public:
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> ParamType;
+ typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9> ParamType;
CartesianProductGenerator9(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
@@ -4250,10 +4250,10 @@
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9, typename T10>
class CartesianProductGenerator10
- : public ParamGeneratorInterface< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6,
+ : public ParamGeneratorInterface< ::std::tuple<T1, T2, T3, T4, T5, T6,
T7, T8, T9, T10> > {
public:
- typedef ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParamType;
+ typedef ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ParamType;
CartesianProductGenerator10(const ParamGenerator<T1>& g1,
const ParamGenerator<T2>& g2, const ParamGenerator<T3>& g3,
@@ -4515,8 +4515,8 @@
CartesianProductHolder2(const Generator1& g1, const Generator2& g2)
: g1_(g1), g2_(g2) {}
template <typename T1, typename T2>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2> >(
+ operator ParamGenerator< ::std::tuple<T1, T2> >() const {
+ return ParamGenerator< ::std::tuple<T1, T2> >(
new CartesianProductGenerator2<T1, T2>(
static_cast<ParamGenerator<T1> >(g1_),
static_cast<ParamGenerator<T2> >(g2_)));
@@ -4537,8 +4537,8 @@
const Generator3& g3)
: g1_(g1), g2_(g2), g3_(g3) {}
template <typename T1, typename T2, typename T3>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3> >(
+ operator ParamGenerator< ::std::tuple<T1, T2, T3> >() const {
+ return ParamGenerator< ::std::tuple<T1, T2, T3> >(
new CartesianProductGenerator3<T1, T2, T3>(
static_cast<ParamGenerator<T1> >(g1_),
static_cast<ParamGenerator<T2> >(g2_),
@@ -4562,8 +4562,8 @@
const Generator3& g3, const Generator4& g4)
: g1_(g1), g2_(g2), g3_(g3), g4_(g4) {}
template <typename T1, typename T2, typename T3, typename T4>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> >(
+ operator ParamGenerator< ::std::tuple<T1, T2, T3, T4> >() const {
+ return ParamGenerator< ::std::tuple<T1, T2, T3, T4> >(
new CartesianProductGenerator4<T1, T2, T3, T4>(
static_cast<ParamGenerator<T1> >(g1_),
static_cast<ParamGenerator<T2> >(g2_),
@@ -4589,8 +4589,8 @@
const Generator3& g3, const Generator4& g4, const Generator5& g5)
: g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5) {}
template <typename T1, typename T2, typename T3, typename T4, typename T5>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> >(
+ operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> >() const {
+ return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> >(
new CartesianProductGenerator5<T1, T2, T3, T4, T5>(
static_cast<ParamGenerator<T1> >(g1_),
static_cast<ParamGenerator<T2> >(g2_),
@@ -4620,8 +4620,8 @@
: g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6) {}
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> >(
+ operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> >() const {
+ return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> >(
new CartesianProductGenerator6<T1, T2, T3, T4, T5, T6>(
static_cast<ParamGenerator<T1> >(g1_),
static_cast<ParamGenerator<T2> >(g2_),
@@ -4653,9 +4653,9 @@
: g1_(g1), g2_(g2), g3_(g3), g4_(g4), g5_(g5), g6_(g6), g7_(g7) {}
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6,
+ operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6,
T7> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7> >(
+ return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7> >(
new CartesianProductGenerator7<T1, T2, T3, T4, T5, T6, T7>(
static_cast<ParamGenerator<T1> >(g1_),
static_cast<ParamGenerator<T2> >(g2_),
@@ -4691,9 +4691,9 @@
g8_(g8) {}
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7,
+ operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7,
T8> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8> >(
+ return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8> >(
new CartesianProductGenerator8<T1, T2, T3, T4, T5, T6, T7, T8>(
static_cast<ParamGenerator<T1> >(g1_),
static_cast<ParamGenerator<T2> >(g2_),
@@ -4732,9 +4732,9 @@
g9_(g9) {}
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
+ operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
T9> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
+ return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
T9> >(
new CartesianProductGenerator9<T1, T2, T3, T4, T5, T6, T7, T8, T9>(
static_cast<ParamGenerator<T1> >(g1_),
@@ -4776,9 +4776,9 @@
g9_(g9), g10_(g10) {}
template <typename T1, typename T2, typename T3, typename T4, typename T5,
typename T6, typename T7, typename T8, typename T9, typename T10>
- operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
+ operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
T9, T10> >() const {
- return ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
+ return ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6, T7, T8,
T9, T10> >(
new CartesianProductGenerator10<T1, T2, T3, T4, T5, T6, T7, T8, T9,
T10>(
Modified: trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-tuple.h (231851 => 231852)
--- trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-tuple.h 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Source/ThirdParty/gtest/include/gtest/internal/gtest-tuple.h 2018-05-16 17:50:38 UTC (rev 231852)
@@ -912,7 +912,7 @@
template <class Tuple1, class Tuple2>
static bool Eq(const Tuple1& t1, const Tuple2& t2) {
return SameSizeTuplePrefixComparator<k - 1, k - 1>::Eq(t1, t2) &&
- ::std::tr1::get<k - 1>(t1) == ::std::tr1::get<k - 1>(t2);
+ ::std::get<k - 1>(t1) == ::std::get<k - 1>(t2);
}
};
Modified: trunk/Source/WTF/ChangeLog (231851 => 231852)
--- trunk/Source/WTF/ChangeLog 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Source/WTF/ChangeLog 2018-05-16 17:50:38 UTC (rev 231852)
@@ -1,5 +1,16 @@
2018-05-14 Yusuke Suzuki <utatane....@gmail.com>
+ [Win] Use C++17 in MSVC
+ https://bugs.webkit.org/show_bug.cgi?id=185232
+
+ Reviewed by Alex Christensen.
+
+ Disable some WebKit defined C++17 features for MSVC.
+
+ * wtf/StdLibExtras.h:
+
+2018-05-14 Yusuke Suzuki <utatane....@gmail.com>
+
[JSC] timeClip(-0) should produce +0
https://bugs.webkit.org/show_bug.cgi?id=185589
Modified: trunk/Source/WTF/wtf/StdLibExtras.h (231851 => 231852)
--- trunk/Source/WTF/wtf/StdLibExtras.h 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Source/WTF/wtf/StdLibExtras.h 2018-05-16 17:50:38 UTC (rev 231852)
@@ -545,7 +545,7 @@
// Provide in_place_t when not building with -std=c++17, or when building with libstdc++ 6
// (which doesn't define the _GLIBCXX_RELEASE macro that's been introduced in libstdc++ 7).
-#if __cplusplus < 201703L || (defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE))
+#if (__cplusplus < 201703L || (defined(__GLIBCXX__) && !defined(_GLIBCXX_RELEASE))) && (!defined(_MSC_FULL_VER) || _MSC_FULL_VER < 190023918)
// These are inline variable for C++17 and later.
#define __IN_PLACE_INLINE_VARIABLE static const
Modified: trunk/Source/WebCore/ChangeLog (231851 => 231852)
--- trunk/Source/WebCore/ChangeLog 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Source/WebCore/ChangeLog 2018-05-16 17:50:38 UTC (rev 231852)
@@ -1,3 +1,15 @@
+2018-05-14 Yusuke Suzuki <utatane....@gmail.com>
+
+ [Win] Use C++17 in MSVC
+ https://bugs.webkit.org/show_bug.cgi?id=185232
+
+ Reviewed by Alex Christensen.
+
+ Workaround for MSVC + /std:c++17.
+
+ * Modules/geolocation/Coordinates.h:
+ (WebCore::Coordinates::isolatedCopy const):
+
2018-05-16 Chris Nardi <cna...@chromium.org>
Remove Document#selectedStylesheetSet/preferredStylesheetSet
Modified: trunk/Source/WebCore/Modules/geolocation/Coordinates.h (231851 => 231852)
--- trunk/Source/WebCore/Modules/geolocation/Coordinates.h 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Source/WebCore/Modules/geolocation/Coordinates.h 2018-05-16 17:50:38 UTC (rev 231852)
@@ -41,7 +41,7 @@
Ref<Coordinates> isolatedCopy() const
{
- return Coordinates::create( GeolocationPosition { m_position });
+ return Coordinates::create(GeolocationPosition(m_position));
}
double latitude() const { return m_position.latitude; }
Modified: trunk/Source/cmake/OptionsMSVC.cmake (231851 => 231852)
--- trunk/Source/cmake/OptionsMSVC.cmake 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Source/cmake/OptionsMSVC.cmake 2018-05-16 17:50:38 UTC (rev 231852)
@@ -29,6 +29,10 @@
# Turn off certain link features
add_compile_options(/Gy- /openmp- /GF-)
+# Enable C++17
+# https://docs.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version
+add_compile_options(/std:c++17)
+
# Specify the source code encoding
add_compile_options(/utf-8 /validate-charset)
Modified: trunk/Tools/ChangeLog (231851 => 231852)
--- trunk/Tools/ChangeLog 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Tools/ChangeLog 2018-05-16 17:50:38 UTC (rev 231852)
@@ -1,3 +1,29 @@
+2018-05-14 Yusuke Suzuki <utatane....@gmail.com>
+
+ [Win] Use C++17 in MSVC
+ https://bugs.webkit.org/show_bug.cgi?id=185232
+
+ Reviewed by Alex Christensen.
+
+ Do not use `using namespace std;`. In C++17, we have std::byte. This "byte"
+ conflicts with ::byte defined in Windows' header.
+
+ * DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp:
+ (WindowedPluginTest::WindowedPluginTest):
+ * DumpRenderTree/win/AccessibilityControllerWin.cpp:
+ (logEventProc):
+ (stringEvent):
+ (AccessibilityController::winNotificationReceived):
+ * DumpRenderTree/win/TextInputController.cpp:
+ (markedRangeCallback):
+ (firstRectForCharacterRangeCallback):
+ (selectedRangeCallback):
+ * DumpRenderTree/win/TextInputController.h:
+ * DumpRenderTree/win/TextInputControllerWin.cpp:
+ (TextInputController::markedRange):
+ (TextInputController::firstRectForCharacterRange):
+ (TextInputController::selectedRange):
+
2018-05-16 Sihui Liu <sihui_...@apple.com>
Session cookies aren't reliably set when using default WKWebSiteDataStore
Modified: trunk/Tools/DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp (231851 => 231852)
--- trunk/Tools/DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Tools/DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp 2018-05-16 17:50:38 UTC (rev 231852)
@@ -25,11 +25,9 @@
#include "WindowedPluginTest.h"
-using namespace std;
-
static const wchar_t instancePointerProperty[] = L"org.webkit.TestNetscapePlugin.WindowedPluginTest.InstancePointer";
-WindowedPluginTest::WindowedPluginTest(NPP npp, const string& identifier)
+WindowedPluginTest::WindowedPluginTest(NPP npp, const std::string& identifier)
: PluginTest(npp, identifier)
, m_window(0)
, m_originalWndProc(0)
Modified: trunk/Tools/DumpRenderTree/win/AccessibilityControllerWin.cpp (231851 => 231852)
--- trunk/Tools/DumpRenderTree/win/AccessibilityControllerWin.cpp 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Tools/DumpRenderTree/win/AccessibilityControllerWin.cpp 2018-05-16 17:50:38 UTC (rev 231852)
@@ -42,8 +42,6 @@
#include <wtf/Assertions.h>
#include <wtf/text/AtomicString.h>
-using namespace std;
-
AccessibilityController::AccessibilityController()
: m_focusEventHook(0)
, m_scrollingStartEventHook(0)
@@ -189,7 +187,7 @@
_bstr_t nameBSTR;
hr = parentObject->get_accName(vChild, &nameBSTR.GetBSTR());
ASSERT(SUCCEEDED(hr));
- wstring name(nameBSTR, nameBSTR.length());
+ std::wstring name(nameBSTR, nameBSTR.length());
switch (event) {
case EVENT_OBJECT_FOCUS:
@@ -204,7 +202,7 @@
_bstr_t valueBSTR;
hr = parentObject->get_accValue(vChild, &valueBSTR.GetBSTR());
ASSERT(SUCCEEDED(hr));
- wstring value(valueBSTR, valueBSTR.length());
+ std::wstring value(valueBSTR, valueBSTR.length());
fprintf(testResult, "Received value change event for object '%S', value '%S'.\n", name.c_str(), value.c_str());
break;
@@ -304,7 +302,7 @@
ASSERT(m_allEventsHook);
}
-static string stringEvent(DWORD event)
+static std::string stringEvent(DWORD event)
{
switch(event) {
case EVENT_OBJECT_VALUECHANGE:
@@ -341,7 +339,7 @@
{
}
-void AccessibilityController::winNotificationReceived(PlatformUIElement element, const string& eventName)
+void AccessibilityController::winNotificationReceived(PlatformUIElement element, const std::string& eventName)
{
for (auto& slot : m_notificationListeners) {
COMPtr<IServiceProvider> thisServiceProvider(Query, slot.key);
Modified: trunk/Tools/DumpRenderTree/win/TextInputController.cpp (231851 => 231852)
--- trunk/Tools/DumpRenderTree/win/TextInputController.cpp 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Tools/DumpRenderTree/win/TextInputController.cpp 2018-05-16 17:50:38 UTC (rev 231852)
@@ -80,7 +80,7 @@
{
TextInputController* controller = static_cast<TextInputController*>(JSObjectGetPrivate(thisObject));
if (controller) {
- vector<int> range = controller->markedRange();
+ std::vector<int> range = controller->markedRange();
if (range.size() == 2) {
JSValueRef argumentsArrayValues[] = { JSValueMakeNumber(context, range[0]), JSValueMakeNumber(context, range[1]) };
JSObjectRef result = JSObjectMakeArray(context, sizeof(argumentsArrayValues) / sizeof(JSValueRef), argumentsArrayValues, exception);
@@ -122,7 +122,7 @@
TextInputController* controller = static_cast<TextInputController*>(JSObjectGetPrivate(thisObject));
if (controller) {
- vector<int> rect = controller->firstRectForCharacterRange(start, length);
+ std::vector<int> rect = controller->firstRectForCharacterRange(start, length);
if (rect.size() == 4) {
JSValueRef argumentsArrayValues[] =
{
@@ -145,7 +145,7 @@
TextInputController* controller = static_cast<TextInputController*>(JSObjectGetPrivate(thisObject));
if (controller) {
- vector<int> rect = controller->selectedRange();
+ std::vector<int> rect = controller->selectedRange();
if (rect.size() == 2) {
JSValueRef argumentsArrayValues[] = {
JSValueMakeNumber(context, rect[0]),
Modified: trunk/Tools/DumpRenderTree/win/TextInputController.h (231851 => 231852)
--- trunk/Tools/DumpRenderTree/win/TextInputController.h 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Tools/DumpRenderTree/win/TextInputController.h 2018-05-16 17:50:38 UTC (rev 231852)
@@ -35,8 +35,6 @@
#include <_javascript_Core/JSValueRef.h>
#include <vector>
-using namespace std;
-
class TextInputController {
public:
void makeWindowObject(JSContextRef, JSObjectRef windowObject, JSValueRef* exception);
@@ -44,10 +42,10 @@
void setMarkedText(JSStringRef text, unsigned int from, unsigned int length);
bool hasMarkedText();
void unmarkText();
- vector<int> markedRange();
+ std::vector<int> markedRange();
void insertText(JSStringRef text);
- vector<int> firstRectForCharacterRange(unsigned int start, unsigned int length);
- vector<int> selectedRange();
+ std::vector<int> firstRectForCharacterRange(unsigned int start, unsigned int length);
+ std::vector<int> selectedRange();
private:
static JSClassRef getJSClass();
Modified: trunk/Tools/DumpRenderTree/win/TextInputControllerWin.cpp (231851 => 231852)
--- trunk/Tools/DumpRenderTree/win/TextInputControllerWin.cpp 2018-05-16 17:25:13 UTC (rev 231851)
+++ trunk/Tools/DumpRenderTree/win/TextInputControllerWin.cpp 2018-05-16 17:50:38 UTC (rev 231852)
@@ -36,8 +36,6 @@
#include <comutil.h>
#include <string>
-using namespace std;
-
void TextInputController::setMarkedText(JSStringRef text, unsigned int from, unsigned int length)
{
COMPtr<IWebView> webView;
@@ -82,10 +80,10 @@
viewPrivate->confirmCompositionForTesting(empty);
}
-vector<int> TextInputController::markedRange()
+std::vector<int> TextInputController::markedRange()
{
// empty vector
- vector<int> result;
+ std::vector<int> result;
COMPtr<IWebView> webView;
if (FAILED(frame->webView(&webView)))
@@ -121,10 +119,10 @@
viewPrivate->confirmCompositionForTesting(bstr);
}
-vector<int> TextInputController::firstRectForCharacterRange(unsigned int start, unsigned int length)
+std::vector<int> TextInputController::firstRectForCharacterRange(unsigned int start, unsigned int length)
{
// empty vector
- vector<int> result;
+ std::vector<int> result;
COMPtr<IWebView> webView;
if (FAILED(frame->webView(&webView)))
@@ -146,10 +144,10 @@
return result;
}
-vector<int> TextInputController::selectedRange()
+std::vector<int> TextInputController::selectedRange()
{
// empty vector
- vector<int> result;
+ std::vector<int> result;
COMPtr<IWebView> webView;
if (FAILED(frame->webView(&webView)))
_______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes