RESOLVED FIXED 196588
The page's focusedFrame / frameSetLargestFrame do not get cleared on process swap or crash
https://bugs.webkit.org/show_bug.cgi?id=196588
Summary The page's focusedFrame / frameSetLargestFrame do not get cleared on process ...
Chris Dumez
Reported 2019-04-03 19:18:37 PDT
The page's focusedFrame / frameSetLargestFrame do not get cleared on process swap or crash.
Attachments
Patch (5.87 KB, patch)
2019-04-03 19:22 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2019-04-03 19:19:27 PDT
Chris Dumez
Comment 2 2019-04-03 19:22:11 PDT
Simon Fraser (smfr)
Comment 3 2019-04-03 20:08:46 PDT
Comment on attachment 366693 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=366693&action=review > Source/WebKit/UIProcess/WebPageProxy.cpp:6779 > m_mainFrame = nullptr; > + m_focusedFrame = nullptr; > + m_frameSetLargestFrame = nullptr; It would be nice to move all the data members which come from a specific web process into a struct, and clear the struct rather than doing it this more fragile way.
WebKit Commit Bot
Comment 4 2019-04-03 20:09:54 PDT
Comment on attachment 366693 [details] Patch Clearing flags on attachment: 366693 Committed r243848: <https://trac.webkit.org/changeset/243848>
WebKit Commit Bot
Comment 5 2019-04-03 20:09:56 PDT
All reviewed patches have been landed. Closing bug.
Darin Adler
Comment 6 2019-04-03 20:17:35 PDT
Comment on attachment 366693 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=366693&action=review > Tools/TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:141 > +TEST(WebKit, FrameSetLargestFramAfterCrash) Fram
Chris Dumez
Comment 7 2019-04-03 20:23:34 PDT
(In reply to Darin Adler from comment #6) > Comment on attachment 366693 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=366693&action=review > > > Tools/TestWebKitAPI/Tests/WebKit/ReloadPageAfterCrash.cpp:141 > > +TEST(WebKit, FrameSetLargestFramAfterCrash) > > Fram Fixed in <https://trac.webkit.org/changeset/243849>, thank you.
Fujii Hironori
Comment 8 2019-04-03 22:19:36 PDT
Windows port can't compile. > ..\..\Tools\TestWebKitAPI\Tests\WebKit\ReloadPageAfterCrash.cpp(136): error C3861: 'kill': identifier not found Should I replace 'kill' with WKPageTerminate?
Ryosuke Niwa
Comment 9 2019-04-03 22:38:44 PDT
(In reply to Fujii Hironori from comment #8) > Windows port can't compile. > > > ..\..\Tools\TestWebKitAPI\Tests\WebKit\ReloadPageAfterCrash.cpp(136): error C3861: 'kill': identifier not found > > Should I replace 'kill' with WKPageTerminate? Yes!
Fujii Hironori
Comment 10 2019-04-03 22:45:15 PDT
Chris Dumez
Comment 11 2019-04-04 06:57:28 PDT
(In reply to Fujii Hironori from comment #8) > Windows port can't compile. > > > ..\..\Tools\TestWebKitAPI\Tests\WebKit\ReloadPageAfterCrash.cpp(136): error C3861: 'kill': identifier not found > > Should I replace 'kill' with WKPageTerminate? I seem to remember the crash handler was not called with wkpageterminate and the test would time out, which is why I used kill.
Chris Dumez
Comment 12 2019-04-04 07:05:05 PDT
(In reply to Chris Dumez from comment #11) > (In reply to Fujii Hironori from comment #8) > > Windows port can't compile. > > > > > ..\..\Tools\TestWebKitAPI\Tests\WebKit\ReloadPageAfterCrash.cpp(136): error C3861: 'kill': identifier not found > > > > Should I replace 'kill' with WKPageTerminate? > > I seem to remember the crash handler was not called with wkpageterminate and > the test would time out, which is why I used kill. Look at the bots, your follow up change made the tests time out on all platforms... please fix.
Chris Dumez
Comment 13 2019-04-04 07:05:28 PDT
(In reply to Ryosuke Niwa from comment #9) > (In reply to Fujii Hironori from comment #8) > > Windows port can't compile. > > > > > ..\..\Tools\TestWebKitAPI\Tests\WebKit\ReloadPageAfterCrash.cpp(136): error C3861: 'kill': identifier not found > > > > Should I replace 'kill' with WKPageTerminate? > > Yes! No :’(
Chris Dumez
Comment 14 2019-04-04 08:45:34 PDT
Rolled out Fujii's r243858 in <https://trac.webkit.org/changeset/243870> and disabled the new tests on Windows instead for now.
Note You need to log in before you can comment on or make changes to this bug.