RFR: 8211308: Support HTTP/2 in WebView
Arunprasad Rajkumar
arajkumar at openjdk.org
Fri Oct 11 06:18:38 UTC 2019
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.
PR: https://git.openjdk.java.net/jfx/pull/14
More information about the openjfx-dev
mailing list