[Webkit-unassigned] [Bug 188696] beforeunload interoperability issues

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Sep 22 07:10:27 PDT 2018


https://bugs.webkit.org/show_bug.cgi?id=188696

--- Comment #33 from PhistucK <phistuck at chromium.org> ---
@Ryosuke - if you think this must be fixed before this patch is accepted, I will really need pointers here...
I tried to trace the code (pretty manually, though) and could not quite figure out how the test runner is running a test.

I searched using GitHub (not great, I know, but it is faster than grepping locally) and this is as far as I got -
https://github.com/WebKit/webkit/search?p=2&q=driver_name&unscoped_q=driver_name
https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Tools/Scripts/webkitpy/port/xorgdriver.py
https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Tools/Scripts/webkitpy/port/xorgdriver.py
https://github.com/WebKit/webkit/search?utf8=%E2%9C%93&q=WebKitTestRunner&type=
https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Tools/WebKitTestRunner/TestController.cpp
https://github.com/WebKit/webkit/tree/89c28d471fae35f1788a0f857067896a10af8974/Tools/WebKitTestRunner
https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Tools/WebKitTestRunner/TestController.cpp
https://github.com/WebKit/webkit/search?q=platformrunUntil&unscoped_q=platformrunUntil
https://github.com/WebKit/webkit/blob/a6ea03d7ff7d26087b291e2ce5e9857d5903fb0f/Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp
https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Tools/WebKitTestRunner/TestInvocation.cpp
https://github.com/WebKit/webkit/search?utf8=%E2%9C%93&q=WKPagePostMessageToInjectedBundle&type=
https://github.com/WebKit/webkit/blob/master/Source/WebKit/UIProcess/API/C/WKPage.cpp
https://github.com/WebKit/webkit/search?utf8=%E2%9C%93&q=postMessageToInjectedBundle&type=
https://github.com/WebKit/webkit/blob/2df33d3721be95634af5852a635fee3711db5c4a/Source/WebKit/UIProcess/WebProcessPool.cpp
https://github.com/WebKit/webkit/blob/9029c43e695bf886fffb15eec951f0605e34509b/Source/WebKit/UIProcess/WebPageProxy.cpp
https://github.com/WebKit/webkit/search?utf8=%E2%9C%93&q=PostInjectedBundleMessage&type=
https://github.com/WebKit/webkit/blob/ce279990f85656893c57decbffe2b9067176d02e/Source/WebKit/WebProcess/WebPage/WebPage.cpp
https://github.com/WebKit/webkit/search?p=2&q=didReceiveMessageToPage&type=&utf8=%E2%9C%93
https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Source/WebKit/WebProcess/InjectedBundle/InjectedBundleClient.h
https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Tools/TestWebKitAPI/InjectedBundleController.cpp#L111
https://github.com/WebKit/webkit/blob/1b5109a8ae12c0484f3104c5c7b3c181b44ebb06/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
https://github.com/WebKit/webkit/search?utf8=%E2%9C%93&q=WKBundlePagePostMessage&type=
https://github.com/WebKit/webkit/blob/1b5109a8ae12c0484f3104c5c7b3c181b44ebb06/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
https://github.com/WebKit/webkit/search?l=C%2B%2B&p=3&q=postMessage+Page
https://github.com/WebKit/webkit/blob/89c28d471fae35f1788a0f857067896a10af8974/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp
https://github.com/WebKit/webkit/blob/ce279990f85656893c57decbffe2b9067176d02e/Source/WebKit/WebProcess/WebPage/WebPage.cpp
https://github.com/WebKit/webkit/search?l=C%2B%2B&p=2&q=HandleMessage&type=
https://github.com/WebKit/webkit/blob/9029c43e695bf886fffb15eec951f0605e34509b/Source/WebKit/UIProcess/WebPageProxy.cpp
https://github.com/WebKit/webkit/search?p=2&q=didReceiveMessageFromInjectedBundle&type=&utf8=%E2%9C%93



I must have missed something, but I figure you can save me days of investigating this.
Perhaps this is just a matter of emptying the beforeunload listeners before starting a test? Or maybe ignoring previous test output before the test has started loading/parsing its case?
Either way, I am not sure where to begin.

I guess the resetting should run in the InjectedBundle::beginTesting method -
https://github.com/WebKit/webkit/blob/1b5109a8ae12c0484f3104c5c7b3c181b44ebb06/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp#L460

I am not sure what is the correct approach. Please, advise.


Looks like this is getting way bigger than I anticipated. :(

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180922/9d2dbdb2/attachment.html>


More information about the webkit-unassigned mailing list