Bug 188133

Summary: Check with SafeBrowsing during navigation in WKWebView
Product: WebKit Reporter: Alex Christensen <achristensen>
Component: New BugsAssignee: Alex Christensen <achristensen>
Status: RESOLVED FIXED    
Severity: Normal CC: a.tion.surf, cdumez, commit-queue, ews-watchlist, ryanhaddad, tsavell, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=188453
Attachments:
Description Flags
Patch
none
Patch
none
Archive of layout-test-results from ews200 for win-future
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Alex Christensen
Reported 2018-07-27 16:53:06 PDT
Implement safe browsing in WKWebView
Attachments
Patch (26.61 KB, patch)
2018-07-27 16:58 PDT, Alex Christensen
no flags
Patch (27.23 KB, patch)
2018-07-27 17:09 PDT, Alex Christensen
no flags
Archive of layout-test-results from ews200 for win-future (12.99 MB, application/zip)
2018-07-28 15:32 PDT, EWS Watchlist
no flags
Patch (28.75 KB, patch)
2018-08-01 14:18 PDT, Alex Christensen
no flags
Patch (28.77 KB, patch)
2018-08-01 14:26 PDT, Alex Christensen
no flags
Patch (28.85 KB, patch)
2018-08-01 14:37 PDT, Alex Christensen
no flags
Patch (28.85 KB, patch)
2018-08-01 15:01 PDT, Alex Christensen
no flags
Patch (28.85 KB, patch)
2018-08-01 16:02 PDT, Alex Christensen
no flags
Patch (29.89 KB, patch)
2018-08-02 09:59 PDT, Alex Christensen
no flags
Patch (30.43 KB, patch)
2018-08-02 11:36 PDT, Alex Christensen
no flags
Patch (37.54 KB, patch)
2018-08-06 17:32 PDT, Alex Christensen
no flags
Alex Christensen
Comment 1 2018-07-27 16:58:09 PDT
Alex Christensen
Comment 2 2018-07-27 17:09:29 PDT
EWS Watchlist
Comment 3 2018-07-28 15:32:30 PDT
Comment on attachment 345976 [details] Patch Attachment 345976 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/8685614 New failing tests: http/tests/security/local-video-source-from-remote.html
EWS Watchlist
Comment 4 2018-07-28 15:32:41 PDT
Created attachment 346003 [details] Archive of layout-test-results from ews200 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews200 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Alex Christensen
Comment 5 2018-08-01 14:18:40 PDT
Alex Christensen
Comment 6 2018-08-01 14:26:38 PDT
Alex Christensen
Comment 7 2018-08-01 14:37:16 PDT
Alex Christensen
Comment 8 2018-08-01 15:01:35 PDT
Alex Christensen
Comment 9 2018-08-01 16:02:44 PDT
Alex Christensen
Comment 10 2018-08-02 09:59:33 PDT
Chris Dumez
Comment 11 2018-08-02 10:54:42 PDT
Comment on attachment 346388 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=346388&action=review r=me with suggestion. > Source/WebKit/UIProcess/WebPageProxy.cpp:4152 > + listener->didReceiveSafeBrowsingResults({ }); This looks hackish/fragile. Is this temporary? I think I'd much prefer we pass a ShouldExpectSafeBrowsingResult { No, Yes } parameter. > Source/WebKit/UIProcess/WebPageProxy.cpp:4189 > + listener->didReceiveSafeBrowsingResults({ }); ditto.
Alex Christensen
Comment 12 2018-08-02 11:36:34 PDT
Alex Christensen
Comment 13 2018-08-02 13:13:20 PDT
Radar WebKit Bug Importer
Comment 14 2018-08-02 13:15:25 PDT
Ryan Haddad
Comment 15 2018-08-02 17:33:25 PDT
14 API tests are failing the assert(s) added with this change: https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20WK2%20%28Tests%29/builds/4338/steps/run-api-tests/logs/stdio TestWebKitAPI.WebKit.DecidePolicyForNavigationActionForPOSTFormSubmissionThatRedirectsToPOST ASSERTION FAILED: !m_policyResult /Volumes/Data/slave/highsierra-debug/build/Source/WebKit/UIProcess/WebFramePolicyListenerProxy.cpp(77) : void WebKit::WebFramePolicyListenerProxy::ignore() 1 0x106c661f9 WTFCrash 2 0x10b74632b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x10c1cfd47 WebKit::WebFramePolicyListenerProxy::ignore() 4 0x10c1d13f4 WebKit::WebFrameProxy::webProcessWillShutDown() 5 0x10c6448fd WebKit::WebProcessProxy::disconnectFramesFromPage(WebKit::WebPageProxy*) 6 0x10c3b1a30 WebKit::WebPageProxy::close() 7 0x10c90f0ea -[WKWebView dealloc] 8 0x7fff6bf6b042 (anonymous namespace)::AutoreleasePoolPage::pop(void*) 9 0x7fff447a88e6 _CFAutoreleasePoolPop 10 0x7fff468e68ad -[NSAutoreleasePool drain] 11 0x1061d9cd7 main 12 0x7fff6cb8c015 start
Ryan Haddad
Comment 16 2018-08-03 08:26:19 PDT
Reverted r234513 for reason: 14 API tests fail the assertions added in this change. Committed r234545: <https://trac.webkit.org/changeset/234545>
Ryan Haddad
Comment 17 2018-08-03 08:35:48 PDT
Assertion failures were also seen with the following tests on High Sierra: fast/events/open-window-from-another-frame.html fast/events/popup-blocked-from-fake-user-gesture.html http/tests/xmlhttprequest/access-control-response-with-body-sync.html This test started failing: http/tests/navigation/keyboard-events-during-provisional-navigation.html https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r234541%20(4349)/results.html
Alex Christensen
Comment 18 2018-08-03 10:58:32 PDT
Recommitted without those assertions in http://trac.webkit.org/r234552 The assertions are not valid because ignore is called during teardown even if the listener has already been used. See r234462 for a change motivated by the same reason.
Ryan Haddad
Comment 19 2018-08-03 16:00:37 PDT
(In reply to Alex Christensen from comment #18) > Recommitted without those assertions in http://trac.webkit.org/r234552 http/tests/navigation/keyboard-events-during-provisional-navigation.html is failing again after the commit. It is not clear to me if the new console output is expected or not. --- /Volumes/Data/slave/highsierra-release-tests-wk2/build/layout-test-results/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt +++ /Volumes/Data/slave/highsierra-release-tests-wk2/build/layout-test-results/http/tests/navigation/keyboard-events-during-provisional-navigation-actual.txt @@ -10,6 +10,8 @@ CONSOLE MESSAGE: line 55: Pasting text "d". CONSOLE MESSAGE: line 58: Input element value after text input events: "". CONSOLE MESSAGE: line 20: Pressing "z" with access key modifiers should navigate to resources/keyboard-events-after-navigation.html. +CONSOLE MESSAGE: line 18: keydownevent dispatched (isTrusted: true). +CONSOLE MESSAGE: line 18: keyupevent dispatched (isTrusted: true). https://build.webkit.org/results/Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r234559%20(5991)/results.html
Truitt Savell
Comment 20 2018-08-06 09:47:12 PDT
(In reply to Ryan Haddad from comment #19) > (In reply to Alex Christensen from comment #18) > > Recommitted without those assertions in http://trac.webkit.org/r234552 > > http/tests/navigation/keyboard-events-during-provisional-navigation.html is > failing again after the commit. It is not clear to me if the new console > output is expected or not. > > --- > /Volumes/Data/slave/highsierra-release-tests-wk2/build/layout-test-results/ > http/tests/navigation/keyboard-events-during-provisional-navigation-expected. > txt > +++ > /Volumes/Data/slave/highsierra-release-tests-wk2/build/layout-test-results/ > http/tests/navigation/keyboard-events-during-provisional-navigation-actual. > txt > @@ -10,6 +10,8 @@ > CONSOLE MESSAGE: line 55: Pasting text "d". > CONSOLE MESSAGE: line 58: Input element value after text input events: "". > CONSOLE MESSAGE: line 20: Pressing "z" with access key modifiers should > navigate to resources/keyboard-events-after-navigation.html. > +CONSOLE MESSAGE: line 18: keydownevent dispatched (isTrusted: true). > +CONSOLE MESSAGE: line 18: keyupevent dispatched (isTrusted: true). > > https://build.webkit.org/results/ > Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r234559%20(5991)/results.html svg/custom/anchor-on-use.svg Is also failing after this revision with the failure first happening after https://trac.webkit.org/changeset/234513/webkit. Image Diff: https://build.webkit.org/results/Apple%20High%20Sierra%20Debug%20WK2%20(Tests)/r234600%20(4376)/svg/custom/anchor-on-use-diffs.html
Ryan Haddad
Comment 21 2018-08-06 13:17:11 PDT
Reverted r234552 for reason: Introduced 2 layout test failures on High Sierra. Committed r234615: <https://trac.webkit.org/changeset/234615>
Alex Christensen
Comment 22 2018-08-06 17:32:53 PDT
WebKit Commit Bot
Comment 23 2018-08-06 18:13:45 PDT
Comment on attachment 346669 [details] Patch Clearing flags on attachment: 346669 Committed r234640: <https://trac.webkit.org/changeset/234640>
WebKit Commit Bot
Comment 24 2018-08-06 18:13:47 PDT
All reviewed patches have been landed. Closing bug.
Truitt Savell
Comment 25 2018-08-07 09:22:38 PDT
After <https://trac.webkit.org/changeset/234640> We have API assertion failures again. API failure: https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20WK1%20%28Tests%29/builds/5055/steps/run-api-tests/logs/stdio Looks like those were not omitted in this patch. additionally after the rebaselining of http/tests/navigation/keyboard-events-during-provisional-navigation.htmlthe test is failing in Sierra WK2. Looks like it just needs to be baselined on that build as well. Test History: https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=http%2Ftests%2Fnavigation%2Fkeyboard-events-during-provisional-navigation.html As well as an internal build is broken.
Alex Christensen
Comment 26 2018-08-07 10:37:03 PDT
http://trac.webkit.org/r234658 should make everything good.
Note You need to log in before you can comment on or make changes to this bug.