Title: [233032] trunk
Revision
233032
Author
hironori.fu...@sony.com
Date
2018-06-21 02:54:30 -0700 (Thu, 21 Jun 2018)

Log Message

[GTK] http/tests/misc/bubble-drag-events.html crashes
https://bugs.webkit.org/show_bug.cgi?id=182352

Reviewed by Carlos Garcia Campos.

Source/WebKit:

PingLoad::didFinish was called twice if it is used with
NetworkDataTaskSoup. PingLoad is not a ref-counted object. It is
destructed when PingLoad::didFinish is called.

PingLoad::didReceiveChallenge calls the ChallengeCompletionHandler
with AuthenticationChallengeDisposition::Cancel to cancel the
challenge and calls PingLoad::didFinish.

NetworkDataTaskSoup::continueAuthenticate calls
didReceiveChallenge with a ChallengeCompletionHandler which calls
didCompleteWithError. PingLoad::didCompleteWithError calls
PingLoad::didFinish.

didCompleteWithError callback should not be called in the
ChallengeCompletionHandler.

* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::continueAuthenticate): Do not call
didFail() in the ChallengeCompletionHandler. Call
invalidateAndCancel() instead.

LayoutTests:

* platform/gtk/TestExpectations:
Marked http/tests/misc/bubble-drag-events.html as [ Failure ] not
[ Failure Timeout Crash ].
Unmarked http/tests/misc/cached-scripts.html.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (233031 => 233032)


--- trunk/LayoutTests/ChangeLog	2018-06-21 09:27:33 UTC (rev 233031)
+++ trunk/LayoutTests/ChangeLog	2018-06-21 09:54:30 UTC (rev 233032)
@@ -1,3 +1,15 @@
+2018-06-21  Fujii Hironori  <hironori.fu...@sony.com>
+
+        [GTK] http/tests/misc/bubble-drag-events.html crashes
+        https://bugs.webkit.org/show_bug.cgi?id=182352
+
+        Reviewed by Carlos Garcia Campos.
+
+        * platform/gtk/TestExpectations:
+        Marked http/tests/misc/bubble-drag-events.html as [ Failure ] not
+        [ Failure Timeout Crash ].
+        Unmarked http/tests/misc/cached-scripts.html.
+
 2018-06-21  Zan Dobersek  <zdober...@igalia.com>
 
         Unreviewed WPE gardening. Handle various timeouts by adjusting or

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (233031 => 233032)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2018-06-21 09:27:33 UTC (rev 233031)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2018-06-21 09:54:30 UTC (rev 233032)
@@ -1296,9 +1296,6 @@
 # Crashes only when GNOME icon theme is not installed
 webkit.org/b/186767 fast/hidpi/broken-image-icon-very-hidpi.html [ Crash Pass ]
 
-# This one crashes only on EWS.
-webkit.org/b/186778 http/tests/misc/cached-scripts.html [ Crash Pass ]
-
 webkit.org/b/186779 http/tests/security/sandboxed-iframe-DENIED-modals.html [ Crash Pass ]
 
 #////////////////////////////////////////////////////////////////////////////////////////
@@ -2662,7 +2659,7 @@
 Bug(GTK) http/tests/local/drag-over-remote-content.html [ Failure ]
 Bug(GTK) http/tests/security/drag-over-remote-content-iframe.html [ Failure ]
 Bug(GTK) fast/events/drag-in-frames.html [ Failure Timeout ]
-webkit.org/b/182352 http/tests/misc/bubble-drag-events.html [ Failure Timeout Crash ]
+webkit.org/b/182352 http/tests/misc/bubble-drag-events.html [ Failure ]
 
 # Dragging images and links results in a DataTransfer object containing a non-empty files array
 webkit.org/b/52094 editing/pasteboard/files-during-page-drags.html [ Failure ]

Modified: trunk/Source/WebKit/ChangeLog (233031 => 233032)


--- trunk/Source/WebKit/ChangeLog	2018-06-21 09:27:33 UTC (rev 233031)
+++ trunk/Source/WebKit/ChangeLog	2018-06-21 09:54:30 UTC (rev 233032)
@@ -1,3 +1,31 @@
+2018-06-21  Fujii Hironori  <hironori.fu...@sony.com>
+
+        [GTK] http/tests/misc/bubble-drag-events.html crashes
+        https://bugs.webkit.org/show_bug.cgi?id=182352
+
+        Reviewed by Carlos Garcia Campos.
+
+        PingLoad::didFinish was called twice if it is used with
+        NetworkDataTaskSoup. PingLoad is not a ref-counted object. It is
+        destructed when PingLoad::didFinish is called.
+
+        PingLoad::didReceiveChallenge calls the ChallengeCompletionHandler
+        with AuthenticationChallengeDisposition::Cancel to cancel the
+        challenge and calls PingLoad::didFinish.
+
+        NetworkDataTaskSoup::continueAuthenticate calls
+        didReceiveChallenge with a ChallengeCompletionHandler which calls
+        didCompleteWithError. PingLoad::didCompleteWithError calls
+        PingLoad::didFinish.
+
+        didCompleteWithError callback should not be called in the
+        ChallengeCompletionHandler.
+
+        * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
+        (WebKit::NetworkDataTaskSoup::continueAuthenticate): Do not call
+        didFail() in the ChallengeCompletionHandler. Call
+        invalidateAndCancel() instead.
+
 2018-06-20  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [WebKit on watchOS] Fixed position elements sometimes flicker when scrolling

Modified: trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp (233031 => 233032)


--- trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp	2018-06-21 09:27:33 UTC (rev 233031)
+++ trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp	2018-06-21 09:54:30 UTC (rev 233032)
@@ -528,8 +528,7 @@
         }
 
         if (disposition == AuthenticationChallengeDisposition::Cancel) {
-            cancel();
-            didFail(cancelledError(m_soupRequest.get()));
+            invalidateAndCancel();
             return;
         }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to