[9] Review request: 8139842: NullPointerException in WCPageBackBufferImpl when a WebView is too large
Jim Graham
james.graham at oracle.com
Wed Dec 16 20:38:54 UTC 2015
A formatting nit - "if" is not a function, it is a control statement and
so there should always be a space between it and the condition being tested:
"if(foo)" => "if (foo)"
Just to make sure we are on the same page,
ResourceFactory.getMaxTextureSize() is clamped by an arbitrary limit we
use for tiling ImageView images. It's not actually the limit enforced
by hardware and can be less than that.
As to the correctness of the fix - if w,h are clipped to the maximum
texture size, where is the code that then tiles the content of the page
so that it doesn't get clipped out? I experimented with a very large
web page (I just cut and pasted 20 paragraphs of "Lorem ipsum dolor"
text created by a generator into an HTML file and loaded it into the
WebView's engine) and it seems that what happens is that your clipping
of the WebPage makes it smaller than the indicated size and the WebView
rendering somehow then manages to tile that image into the requested
space. In other words, you get multiple horizontal copies of the page
to fill out the horizontal space. This doesn't "fix" the problem, it
simply avoids an exception. To adequately fix the problem we'd have to
detect that the corresponding WebPage object was created smaller than
the indicated size and tile the content into multiple WebPage objects -
but WebPage is not set up for that.
There is tiling support for the page itself at a lower level - we should
rework WebPage so that instead of creating a single texture for all of
the webkit tiles, it creates one per webkit tile and so ties naturally
into the existing tiling at the lower levels of webkit...
...jim
On 12/15/15 3:38 PM, Guru Hb wrote:
> Hi Kevin, Jim, Alexander
>
> Please provide your review comments for
>
> JBS : https://bugs.openjdk.java.net/browse/JDK-8139842
>
> Webrev : http://cr.openjdk.java.net/~ghb/8139842/webrev.00/
>
> Tested on Windows , Linux and Mac.
>
> Thanks,
>
> Guru
>
More information about the openjfx-dev
mailing list