RFR: 8211308: Support HTTP/2 in WebView
Kevin Rushforth
kcr at openjdk.java.net
Wed Nov 27 14:23:21 UTC 2019
On Wed, 16 Oct 2019 21:43:15 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
> On Wed, 16 Oct 2019 18:10:00 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>
>> On Wed, 16 Oct 2019 17:58:32 GMT, Arunprasad Rajkumar <arajkumar at openjdk.org> wrote:
>>
>>> On Fri, 11 Oct 2019 11:21:08 GMT, Robin Westberg <rwestberg at openjdk.org> wrote:
>>>
>>>> On Fri, 11 Oct 2019 07:01:48 GMT, Arunprasad Rajkumar <arajkumar at openjdk.org> wrote:
>>>>
>>>>> On Fri, 11 Oct 2019 06:44:09 GMT, Johan Vos <jvos at openjdk.org> wrote:
>>>>>
>>>>>> On Fri, 11 Oct 2019 06:18:38 GMT, Arunprasad Rajkumar <arajkumar at openjdk.org> wrote:
>>>>>>
>>>>>>> On Fri, 11 Oct 2019 06:07:14 GMT, Arunprasad Rajkumar <arajkumar at openjdk.org> wrote:
>>>>>>>
>>>>>>>> The goal of this enhancement is to use new [HttpClient APIs](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html) available from JDK 11.
>>>>>>>>
>>>>>>>> Reference:
>>>>>>>> [1] https://openjdk.java.net/groups/net/httpclient/intro.html
>>>>>>>> [2] https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpClient.html
>>>>>>>>
>>>>>>>> Though this uses JDK 11 HttpClient APIs, it needs latest JDK 12 to work correctly due to the dependency on following issues,
>>>>>>>>
>>>>>>>> [JDK-8218546](https://bugs.openjdk.java.net/browse/JDK-8218546) Unable to connect to https://google.com using java.net.HttpClient
>>>>>>>> [JDK-8218662](https://bugs.openjdk.java.net/browse/JDK-8218662) Allow 204 responses with Content-Length:0
>>>>>>>> [JDK-8203850](https://bugs.openjdk.java.net/browse/JDK-8203850) java.net.http HTTP client should allow specifying Origin and Referer headers
>>>>>>>>
>>>>>>>> #### Task List
>>>>>>>> - [x] simple GET requests
>>>>>>>> - [x] Runtime setting to fallback to legacy client
>>>>>>>> - [ ] Runtime settings to use *only* HTTP/1.1
>>>>>>>> - [x] sync requests
>>>>>>>> - [x] Error Handling & Propagation
>>>>>>>> - [x] POST with form data
>>>>>>>> - [x] AccessController association for HttpClient.sendAsync / send
>>>>>>>> - [x] Redirection
>>>>>>>> - [ ] Check for possibilities to write unit tests
>>>>>>>> - [ ] Sync request handling from WebCore java platform layer
>>>>>>>> - [x] Make use of singleton instance of direct ByteBuffer instead of using allocator pool
>>>>>>>> - [x] gzip, deflate encoding support
>>>>>>>>
>>>>>>>> #### HTTP/2 Test pages
>>>>>>>> - http://www.http2demo.io
>>>>>>>> - https://http2.akamai.com/demo
>>>>>>>> - https://http2.golang.org
>>>>>>>> - https://google.com
>>>>>>>>
>>>>>>>> #### Redirection Test
>>>>>>>> - https://www.httpwatch.com/httpgallery/redirection/#showExample7
>>>>>>>>
>>>>>>>> More details are available at https://github.com/javafxports/openjdk-jfx/pull/247.
>>>>>>>>
>>>>>>>> ----------------
>>>>>>>>
>>>>>>>> Commits:
>>>>>>>> - 1798a661: 8211308: Support HTTP/2 in WebView
>>>>>>>>
>>>>>>>> Changes: https://git.openjdk.java.net/jfx/pull/14/files
>>>>>>>> Webrev: https://webrevs.openjdk.java.net/jfx/14/webrev.00
>>>>>>>> Issue: https://bugs.openjdk.java.net/browse/JDK-8211308
>>>>>>>> Stats: 1161 lines in 14 files changed: 876 ins; 217 del; 68 mod
>>>>>>>> Patch: https://git.openjdk.java.net/jfx/pull/14.diff
>>>>>>>> Fetch: git fetch https://git.openjdk.java.net/jfx pull/14/head:pull/14
>>>>>>>
>>>>>>> Still few changes need to be done as [suggested by](https://github.com/javafxports/openjdk-jfx/pull/247#pullrequestreview-283699613) @kevinrushforth.
>>>>>>
>>>>>> Good work. Should the title be prefixed with WIP until it's ready for review, so that Skara will send the RFR when it is ready for review?
>>>>>
>>>>> I was wondering why @skara had sent the RFR when the PR is still in draft stage. Actually @skara should consider the "Draft" attribute associated with the PR.
>>>>
>>>> Good point, I've created https://bugs.openjdk.java.net/browse/SKARA-129 to track this.
>>>
>>> @jfx team, now it is ready for a fresh review :)
>>
>> @guruhb please also review this.
>
> I note that this change needs two reviewers (so should not be integrated until there are two approved reviews).
I did a fair bit of testing yesterday on all three platforms, and it all looks good to me. I verified the behavior on JDK 11 LTS (not enabled by default) and on JDK 13 (is enabled by default). I have one more things to check next week.
@guruhb can you also review?
PR: https://git.openjdk.java.net/jfx/pull/14
More information about the openjfx-dev
mailing list