<AWT Dev> [9] Review Request: 6815345 java.awt.Component.createImage(int width, int height) should remove behavioral optionality
Semyon Sadetsky
semyon.sadetsky at oracle.com
Thu Sep 24 15:38:35 UTC 2015
On 9/24/2015 4:58 PM, Sergey Bylokhov wrote:
> The new version of the fix:
> http://cr.openjdk.java.net/~serb/6815345/webrev.05
You assumption can be broken with the next
AWTAccessor.getComponentAccessor().setPeer(jbutton1,
new ButtonPeer() {
...
@Override
public Image createImage(int width, int height) {
return new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
}
...
});
Maybe it would be better to write about peer=null in the method spec? Or
not to be that direct and leave the initial phrase mentioning isHeadless()?
>
> The headless case is covered, heavyweight components cannot be created
> in such mode, so only lightweight buttons are checked.
>
> On 24.09.15 15:58, Semyon Sadetsky wrote:
>>
>>
>> On 9/24/2015 3:25 PM, Sergey Bylokhov wrote:
>>> On 24.09.15 11:36, Semyon Sadetsky wrote:
>>>> Hi Sergey,
>>>>
>>>> isHeadless()=true must return null. If so please add the
>>>> corresponding
>>>> test case. It is not not obvious from the code.
>>>
>>> isHeadless()=true is headless mode where the frames are always not
>>> displayable, so everything is similar to the current test except that
>>> in headless the pack() will be throw an exception and second part of
>>> the test in this mode is unnecessary.
>> Then maybe simply do not call pack() for the headless test?
>> Okay, let me rephrase what I meant. Since isHeadless()=true case is
>> mentioned in those 3 specs so explicitly it must be guarantied that the
>> specified behavior works for the case as described. I cannot trace the
>> result by reading the code of the createImage(), isHeadless() method is
>> not even called there. So the test case should be added. Or you could
>> remove isHeadless() references from the specs. Or write something like
>> "the result is non-deterministic if isHeadless() is not false..."
>>>
>>>>
>>>> --Semyon
>>>>
>>>> On 9/23/2015 9:14 PM, Sergey Bylokhov wrote:
>>>>> Hello.
>>>>> Please review the fix for jdk9.
>>>>> The specification is updated as suggested in JDK-6186530 and
>>>>> JDK-6815345. The test is added to prove that we always return null
>>>>> when the component is not displayable.
>>>>>
>>>>> ccc request will be created after the technical review. One
>>>>> additional
>>>>> bug filed https://bugs.openjdk.java.net/browse/JDK-8137047
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-6815345
>>>>> Webrev can be found at:
>>>>> http://cr.openjdk.java.net/~serb/6815345/webrev.04
>>>>>
>>>>
>>>
>>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20150924/9198ca0e/attachment-0001.html>
More information about the awt-dev
mailing list