Bug 187789

Summary: Add an SPI policy action to allow clients to explicitly ask for a new process on a navigation
Product: WebKit Reporter: Brady Eidson <beidson>
Component: WebKit2Assignee: Brady Eidson <beidson>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, aestes, cdumez, commit-queue, ews-watchlist, 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=189168
Attachments:
Description Flags
Patch
none
Archive of layout-test-results from ews205 for win-future
none
Patch none

Description Brady Eidson 2018-07-18 15:46:30 PDT
Add an SPI policy action to allow clients to explicitly ask for a new process on a navigation
Comment 1 Brady Eidson 2018-07-18 15:51:42 PDT
Created attachment 345298 [details]
Patch
Comment 2 EWS Watchlist 2018-07-19 01:22:57 PDT
Comment on attachment 345298 [details]
Patch

Attachment 345298 [details] did not pass win-ews (win):
Output: https://webkit-queues.webkit.org/results/8584247

New failing tests:
http/tests/security/canvas-remote-read-remote-video-localhost.html
Comment 3 EWS Watchlist 2018-07-19 01:23:09 PDT
Created attachment 345337 [details]
Archive of layout-test-results from ews205 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews205  Port: win-future  Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Comment 4 Brady Eidson 2018-07-19 09:04:29 PDT
(In reply to Build Bot from comment #2)
> Comment on attachment 345298 [details]
> Patch
> 
> Attachment 345298 [details] did not pass win-ews (win):
> Output: https://webkit-queues.webkit.org/results/8584247
> 
> New failing tests:
> http/tests/security/canvas-remote-read-remote-video-localhost.html

This failure is not due to this change.
Comment 5 Andy Estes 2018-07-19 09:08:40 PDT
Comment on attachment 345298 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=345298&action=review

> Source/WebKit/UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:60
> +static const WKNavigationActionPolicy WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA))_WKNavigationActionPolicyAllowInNewProcess = (WKNavigationActionPolicy)(_WKNavigationActionPolicyAllowWithoutTryingAppLink + 1);

Missing a space between the availability macro and the name.
Comment 6 Brady Eidson 2018-07-19 09:16:27 PDT
Created attachment 345349 [details]
Patch
Comment 7 WebKit Commit Bot 2018-07-19 09:57:05 PDT
Comment on attachment 345349 [details]
Patch

Clearing flags on attachment: 345349

Committed r233986: <https://trac.webkit.org/changeset/233986>
Comment 8 WebKit Commit Bot 2018-07-19 09:57:06 PDT
All reviewed patches have been landed.  Closing bug.
Comment 9 Radar WebKit Bug Importer 2018-07-19 09:59:09 PDT
<rdar://problem/42387710>
Comment 10 Alex Christensen 2018-07-19 15:48:27 PDT
Comment on attachment 345349 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=345349&action=review

> Source/WebKit/UIProcess/API/C/WKFramePolicyListener.cpp:51
> +    toImpl(policyListenerRef)->setApplyPolicyInNewProcessIfPossible(true);
> +    toImpl(policyListenerRef)->use(std::nullopt);

I think this should've been another parameter rather than setting a bool on the listener.  Don't worry, I'll make it more elegant later.