Bug 190806 - [PSON] Add support for cross-site client-side redirects
Summary: [PSON] Add support for cross-site client-side redirects
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2018-10-22 14:28 PDT by Chris Dumez
Modified: 2018-10-23 10:54 PDT (History)
10 users (show)

See Also:


Attachments
WIP Patch (38.22 KB, patch)
2018-10-22 16:42 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (46.40 KB, patch)
2018-10-22 16:57 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2018-10-22 14:28:35 PDT
Add support for cross-site client-side redirects so that it swaps process and so that the back forward list looks as expected.
Comment 1 Chris Dumez 2018-10-22 14:28:56 PDT
<rdar://problem/45047344>
Comment 2 Chris Dumez 2018-10-22 16:42:12 PDT
Created attachment 352923 [details]
WIP Patch
Comment 3 EWS Watchlist 2018-10-22 16:44:01 PDT
Attachment 352923 [details] did not pass style-queue:


ERROR: Source/WebKit/Shared/NavigationActionData.cpp:145:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:267:  Multi-line string ("...") found.  This lint script doesn't do well with such strings, and may give bogus warnings.  They're ugly and unnecessary, and you should use concatenation instead".  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:269:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:271:  Multi-line string ("...") found.  This lint script doesn't do well with such strings, and may give bogus warnings.  They're ugly and unnecessary, and you should use concatenation instead".  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:273:  Multi-line string ("...") found.  This lint script doesn't do well with such strings, and may give bogus warnings.  They're ugly and unnecessary, and you should use concatenation instead".  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:277:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:281:  Multi-line string ("...") found.  This lint script doesn't do well with such strings, and may give bogus warnings.  They're ugly and unnecessary, and you should use concatenation instead".  [readability/multiline_string] [5]
Total errors found: 7 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Chris Dumez 2018-10-22 16:57:46 PDT
Created attachment 352927 [details]
Patch
Comment 5 EWS Watchlist 2018-10-22 17:01:03 PDT
Attachment 352927 [details] did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:267:  Multi-line string ("...") found.  This lint script doesn't do well with such strings, and may give bogus warnings.  They're ugly and unnecessary, and you should use concatenation instead".  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:269:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:271:  Multi-line string ("...") found.  This lint script doesn't do well with such strings, and may give bogus warnings.  They're ugly and unnecessary, and you should use concatenation instead".  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:273:  Multi-line string ("...") found.  This lint script doesn't do well with such strings, and may give bogus warnings.  They're ugly and unnecessary, and you should use concatenation instead".  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:277:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:281:  Multi-line string ("...") found.  This lint script doesn't do well with such strings, and may give bogus warnings.  They're ugly and unnecessary, and you should use concatenation instead".  [readability/multiline_string] [5]
Total errors found: 6 in 24 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 6 Geoffrey Garen 2018-10-23 10:10:16 PDT
Comment on attachment 352927 [details]
Patch

r=me
Comment 7 Geoffrey Garen 2018-10-23 10:11:36 PDT
From our in-person conversation, it seems like the design we want, in the long term, is for history and back-forward to live in the UI process. That way, there would be no need to transfer client redirect state between web processes. Rather, the UI process would just know that it was doing a client redirect, and it would do the right thing with history.

Still, I think this is a reasonable solution within our current design.
Comment 8 Chris Dumez 2018-10-23 10:54:39 PDT
Comment on attachment 352927 [details]
Patch

Clearing flags on attachment: 352927

Committed r237355: <https://trac.webkit.org/changeset/237355>
Comment 9 Chris Dumez 2018-10-23 10:54:41 PDT
All reviewed patches have been landed.  Closing bug.