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