Title: [255418] trunk
Revision
255418
Author
hironori.fu...@sony.com
Date
2020-01-29 23:02:25 -0800 (Wed, 29 Jan 2020)

Log Message

[MSVC] Add /experimental:newLambdaProcessor switch for better C++ conformance
https://bugs.webkit.org/show_bug.cgi?id=204443

Reviewed by Alex Christensen.

.:

MSVC has a bug of 'this' in lambda captures. It has caused
compilation errors repeatedly.

* Source/cmake/OptionsMSVC.cmake: Added /experimental:newLambdaProcessor switch.

Source/WebCore:

* dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::requestStorageAccess): Reverted MSVC workaround of r252726.

Modified Paths

Diff

Modified: trunk/ChangeLog (255417 => 255418)


--- trunk/ChangeLog	2020-01-30 06:41:59 UTC (rev 255417)
+++ trunk/ChangeLog	2020-01-30 07:02:25 UTC (rev 255418)
@@ -1,3 +1,15 @@
+2020-01-29  Fujii Hironori  <hironori.fu...@sony.com>
+
+        [MSVC] Add /experimental:newLambdaProcessor switch for better C++ conformance
+        https://bugs.webkit.org/show_bug.cgi?id=204443
+
+        Reviewed by Alex Christensen.
+
+        MSVC has a bug of 'this' in lambda captures. It has caused
+        compilation errors repeatedly.
+
+        * Source/cmake/OptionsMSVC.cmake: Added /experimental:newLambdaProcessor switch.
+
 2020-01-29  Stephan Szabo  <stephan.sz...@sony.com>
 
         [PlayStation] Allow setting CMAKE_IGNORE_PATH from environment for bots

Modified: trunk/Source/WebCore/ChangeLog (255417 => 255418)


--- trunk/Source/WebCore/ChangeLog	2020-01-30 06:41:59 UTC (rev 255417)
+++ trunk/Source/WebCore/ChangeLog	2020-01-30 07:02:25 UTC (rev 255418)
@@ -1,3 +1,13 @@
+2020-01-29  Fujii Hironori  <hironori.fu...@sony.com>
+
+        [MSVC] Add /experimental:newLambdaProcessor switch for better C++ conformance
+        https://bugs.webkit.org/show_bug.cgi?id=204443
+
+        Reviewed by Alex Christensen.
+
+        * dom/DocumentStorageAccess.cpp:
+        (WebCore::DocumentStorageAccess::requestStorageAccess): Reverted MSVC workaround of r252726.
+
 2020-01-29  Eric Carlson  <eric.carl...@apple.com>
 
         Do not notify other applications when deactivating the audio session

Modified: trunk/Source/WebCore/dom/DocumentStorageAccess.cpp (255417 => 255418)


--- trunk/Source/WebCore/dom/DocumentStorageAccess.cpp	2020-01-30 06:41:59 UTC (rev 255417)
+++ trunk/Source/WebCore/dom/DocumentStorageAccess.cpp	2020-01-30 07:02:25 UTC (rev 255418)
@@ -182,7 +182,7 @@
         bool shouldPreserveUserGesture = wasGranted == StorageAccessWasGranted::Yes || promptWasShown == StorageAccessPromptWasShown::No;
 
         if (shouldPreserveUserGesture) {
-            m_document.eventLoop().queueMicrotask([this, weakThis = makeWeakPtr(*weakThis)] {
+            m_document.eventLoop().queueMicrotask([this, weakThis = makeWeakPtr(*this)] {
                 if (weakThis)
                     enableTemporaryTimeUserGesture();
             });
@@ -197,7 +197,7 @@
         }
 
         if (shouldPreserveUserGesture) {
-            m_document.eventLoop().queueMicrotask([this, weakThis = makeWeakPtr(*weakThis)] {
+            m_document.eventLoop().queueMicrotask([this, weakThis = makeWeakPtr(*this)] {
                 if (weakThis)
                     consumeTemporaryTimeUserGesture();
             });

Modified: trunk/Source/cmake/OptionsMSVC.cmake (255417 => 255418)


--- trunk/Source/cmake/OptionsMSVC.cmake	2020-01-30 06:41:59 UTC (rev 255417)
+++ trunk/Source/cmake/OptionsMSVC.cmake	2020-01-30 07:02:25 UTC (rev 255418)
@@ -29,6 +29,11 @@
 # Specify the source code encoding
 add_compile_options(/utf-8 /validate-charset)
 
+# Enable the new lambda processor for better C++ conformance with /std:c++17
+if (NOT COMPILER_IS_CLANG_CL)
+    add_compile_options(/experimental:newLambdaProcessor)
+endif ()
+
 if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /OPT:NOREF /OPT:NOICF")
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /OPT:NOREF /OPT:NOICF")
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to