forRemoval=true indicates that the API will be removed in a future release and 
does not mean it will be removed in N+1.

Hope this clears the confusion. 

Mandy

> On Jun 13, 2016, at 9:17 AM, David DeHaven <david.deha...@oracle.com> wrote:
> 
> [removed bad email address..]
> 
> Ok, my understanding was that forRemoval was intended for the next release, 
> so setting it to true meant we were saying "removing in JDK 10." If that's 
> NOT the case then we should set it to true for this particular case since 
> this method is tied specifically to the plugin and not Applet.
> 
> I just don't want to hear any whining when it comes around to JDK 11 and it 
> hasn't been removed yet ;)
> 
> I still don't know about Applet as anyone using it outside of plugin has been 
> very quiet and I suspect we WON'T hear anything until JDK 9 gets released and 
> developers start using it, it seems safer to leave it false for now and 
> revisit marking for removal in 10 when hopefully we've had some feedback.
> 
> -DrD-
> 
>> Yes, ultimately the decision is up to Kevin and Dave (or whoever is in 
>> charge of technical decision-making in this area).
>> 
>> I wanted to provide some clarity on the use of forRemoval=true.
>> 
>> The specification is fairly neutral, saying only that there is "intent to 
>> remove" the API "in a future version."
>> 
>> In practice, for the JDK, I'm trying to make sure we set forRemoval=true 
>> only when there are definite plans for removal in the near future, for 
>> example, in the following release. I want to avoid a situation where there 
>> are a bunch of APIs in the JDK that have forRemoval=true but that are 
>> hanging around for several releases before they are eventually removed. (Or 
>> not.)
>> 
>> When I discussed this issue with the team with respect to the Applet API, I 
>> asked whether Applets would be removed in the next release (after JDK 9). 
>> There was some hemming and hawing, and eventually it emerged that there were 
>> still some narrow use cases that would probably still need to be supported 
>> even in the next release, and they weren't entirely sure when Applet could 
>> actually be removed. Based on that discussion we deprecated Applet with 
>> forRemoval=false in JDK 9, and we'll revisit this in the future when plans 
>> are more definite.
>> 
>> I had thought that the plugin and Applets were closely related enough so 
>> that they ought to be treated the same. This would argue that this API 
>> should also be deprecated in JDK 9 with forRemoval=false, and revisited at 
>> the same time as Applet. But I could be mistaken, and it might make sense to 
>> treat the plugin separately from Applet.
>> 
>> s'marks
>> 
>> On 6/10/16 11:30 AM, Mandy Chung wrote:
>>> This method is about the fate of plugin support in a future regardless of 
>>> the presence of java.applet.Applet API. The @deprecated note may cause the 
>>> confusion.
>>> 
>>> What I understand from the past discussion with Kevin and Dave, we want 
>>> this method to be removed in a future release - the earliest possible 
>>> release would be N+1 when it’s deprecated for removal in JDK N.
>>> 
>>> I’ll let Kevin and Dave to clear this up and make the final call.
>>> 
>>> Mandy
>>> 
>>>> On Jun 10, 2016, at 9:58 AM, Stuart Marks <stuart.ma...@oracle.com> wrote:
>>>> 
>>>> Hi, sorry I had missed this earlier.
>>>> 
>>>> It's surprising if forRemoval=true were to be added to this API when the 
>>>> rest of the Applet API has forRemoval=false. Is it the intent, for 
>>>> example, to have JSObject.getWindow() removed from JDK 10 but to have the 
>>>> rest of the Applet API remain?
>>>> 
>>>> My understanding of the plan was to deprecate the Applet API in JDK 9 with 
>>>> forRemoval=false. Then, in a future release, when removal plans become 
>>>> more definite, to change forRemoval to true, and in a subsequent release, 
>>>> to remove the Applet APIs. I'd think that plan would apply here as well.
>>>> 
>>>> Put another way, I'd recommend that we set forRemoval=true only when the 
>>>> plan is more definite than "we plan to remove this in some future, as yet 
>>>> unspecified release."
>>>> 
>>>> s'marks
>>>> 
>>>> 
>>>> On 6/8/16 5:34 PM, Daniil Titov wrote:
>>>>> Hello,
>>>>> 
>>>>> Please review the new version of the fix for JDK9.
>>>>> 
>>>>> 1. "forRemoval = true" is added to @Deprecated annotation for 
>>>>> JSObject.getWindow(Applet) method.
>>>>> 2.  A new doc bundle for JSObject documentation is added in the docs 
>>>>> build.
>>>>> 
>>>>> Webrev: http://cr.openjdk.java.net/~dtitov/8156960/jdk/webrev.01
>>>>>      http://cr.openjdk.java.net/~dtitov/8156960/webrev.01
>>>>> 
>>>>> 
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8156960
>>>>> 
>>>>> Thank you!
>>>>> 
>>>>> Best regards,
>>>>> Daniil
>>>>> 
>>>>> -----Original Message-----
>>>>> From: Mandy Chung
>>>>> Sent: Wednesday, June 08, 2016 3:09 PM
>>>>> To: Daniil Titov
>>>>> Cc: David Dehaven; Stuart Marks; Erik Joelsson; build-dev; 
>>>>> build-infa-...@openjdk.java.net; awt-dev; Kevin Rushforth
>>>>> Subject: Re: Review Request: 8156960 Deprecate JSObject.getWindow(Applet) 
>>>>> method
>>>>> 
>>>>> That’s right.  It requires to add a new doc bundle in the docs build.  
>>>>> What you did was the right direction.  Can you update the webrev?
>>>>> 
>>>>> FYI.  There is an effort under discussion to revisit the number of docs 
>>>>> bundle generated and clean up the docs build.
>>>>> 
>>>>> Mandy
>>>>> 
>>>>>> On Jun 8, 2016, at 2:48 PM, Daniil Titov <daniil.x.ti...@oracle.com> 
>>>>>> wrote:
>>>>>> 
>>>>>> NON_CORE_PKGS variable is not used in make/Javadoc.gmk, so just adding a 
>>>>>> new package in this variable will not make this package included in any 
>>>>>> docs. We will need to create a new javadoc target for JSObject 
>>>>>> documentation ( or add it to some existing target, but it doesn't look 
>>>>>> like there is one that fits it). For example:
>>>>>> 
>>>>>> 
>>>>>> diff -r 389c2d2842a5 make/Javadoc.gmk
>>>>>> --- a/make/Javadoc.gmk   Wed May 25 12:53:26 2016 +0200
>>>>>> +++ b/make/Javadoc.gmk   Thu Jun 02 16:20:35 2016 -0700
>>>>>> @@ -82,7 +82,7 @@
>>>>>> PLUGIN2_FIRST_COPYRIGHT_YEAR = 2007
>>>>>> JDKNET_FIRST_COPYRIGHT_YEAR = 2014
>>>>>> JACCESSAPI_FIRST_COPYRIGHT_YEAR = 2002
>>>>>> -
>>>>>> +JSOBJECT_FIRST_COPYRIGHT_YEAR = 1993
>>>>>> 
>>>>>> # Oracle name
>>>>>> FULL_COMPANY_NAME = Oracle and/or its affiliates @@ -1031,6 +1031,64
>>>>>> @@
>>>>>> 
>>>>>> #############################################################
>>>>>> #
>>>>>> +# jsobjectdocs
>>>>>> +#
>>>>>> +
>>>>>> +ALL_OTHER_TARGETS += jsobjectdoc
>>>>>> +
>>>>>> +JSOBJECT_DOCDIR := $(JRE_API_DOCSDIR)/plugin/jsobject
>>>>>> +JSOBJECT2COREAPI := ../../../$(JDKJRE2COREAPI) JSOBJECT_DOCTITLE :=
>>>>>> +Java$(TRADEMARK) JSObject Doc JSOBJECT_WINDOWTITLE := Java JSObect
>>>>>> +Doc JSOBJECT_HEADER := <strong>Java JSObject Doc</strong>
>>>>>> +JSOBJECT_BOTTOM := $(call
>>>>>> +CommonBottom,$(JSOBJECT_FIRST_COPYRIGHT_YEAR))
>>>>>> +# JSOBJECT_PKGS is located in NON_CORE_PKGS.gmk
>>>>>> +
>>>>>> +JSOBJECT_INDEX_HTML = $(JSOBJECT_DOCDIR)/index.html
>>>>>> +JSOBJECT_OPTIONS_FILE = $(DOCSTMPDIR)/jsobject.options
>>>>>> +JSOBJECT_PACKAGES_FILE = $(DOCSTMPDIR)/jsobject.packages
>>>>>> +
>>>>>> +# The modules required to be documented JSOBJECT_MODULES =
>>>>>> +jdk.jsobject
>>>>>> +
>>>>>> +jsobjectdocs: $(JSOBJECT_INDEX_HTML)
>>>>>> +
>>>>>> +# Set relative location to core api document root
>>>>>> +$(JSOBJECT_INDEX_HTML): GET2DOCSDIR=$(JSOBJECT2COREAPI)/..
>>>>>> +
>>>>>> +# Run javadoc if the index file is out of date or missing
>>>>>> +$(JSOBJECT_INDEX_HTML): $(JSOBJECT_OPTIONS_FILE) 
>>>>>> $(JSOBJECT_PACKAGES_FILE) $(COREAPI_INDEX_FILE)
>>>>>> +        $(prep-javadoc)
>>>>>> +        $(call 
>>>>>> JavadocSummary,$(JSOBJECT_OPTIONS_FILE),$(JSOBJECT_PACKAGES_FILE))
>>>>>> +        $(JAVADOC_CMD_SMALL) -d $(@D) \
>>>>>> +            @$(JSOBJECT_OPTIONS_FILE) @$(JSOBJECT_PACKAGES_FILE)
>>>>>> +
>>>>>> +# Create file with javadoc options in it
>>>>>> +$(JSOBJECT_OPTIONS_FILE):
>>>>>> +        $(prep-target)
>>>>>> +        @($(call COMMON_JAVADOCFLAGS) ; \
>>>>>> +          $(call COMMON_JAVADOCTAGS) ; \
>>>>>> +          $(call OptionOnly,-Xdoclint:none) ; \
>>>>>> +          $(call OptionPair,-system,none) ; \
>>>>>> +          $(call 
>>>>>> OptionPair,-modulesourcepath,$(RELEASEDOCS_MODULESOURCEPATH)) ; \
>>>>>> +          $(call OptionPair,-addmods,$(JSOBJECT_MODULES)) ; \
>>>>>> +          $(call OptionPair,-encoding,ascii) ; \
>>>>>> +          $(call OptionOnly,-nodeprecatedlist) ; \
>>>>>> +          $(call OptionPair,-doctitle,$(JSOBJECT_DOCTITLE)) ; \
>>>>>> +          $(call OptionPair,-windowtitle,$(JSOBJECT_WINDOWTITLE) 
>>>>>> $(DRAFT_WINTITLE)); \
>>>>>> +          $(call OptionPair,-header,$(JSOBJECT_HEADER)$(DRAFT_HEADER)); 
>>>>>> \
>>>>>> +          $(call OptionPair,-bottom,$(JSOBJECT_BOTTOM)$(DRAFT_BOTTOM)); 
>>>>>> \
>>>>>> +          $(call 
>>>>>> OptionTrip,-linkoffline,$(JSOBJECT2COREAPI),$(COREAPI_DOCSDIR)/); \
>>>>>> +        ) >> $@
>>>>>> +
>>>>>> +# Create a file with the package names in it
>>>>>> +$(JSOBJECT_PACKAGES_FILE): $(call PackageDependencies,$(JSOBJECT_PKGS))
>>>>>> +        $(prep-target)
>>>>>> +        $(call PackageFilter,$(JSOBJECT_PKGS))
>>>>>> +
>>>>>> +
>>>>>> +#############################################################
>>>>>> +#
>>>>>> # mgmtdocs
>>>>>> #
>>>>>> 
>>>>>> 
>>>>>> Best regards,
>>>>>> Daniil
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: David DeHaven
>>>>>> Sent: Wednesday, June 08, 2016 1:23 PM
>>>>>> To: Mandy Chung
>>>>>> Cc: Daniil Titov; Stuart Marks; Erik Joelsson; build-dev;
>>>>>> build-infa-...@openjdk.java.net; awt-dev; Kevin Rushforth
>>>>>> Subject: Re: Review Request: 8156960 Deprecate
>>>>>> JSObject.getWindow(Applet) method
>>>>>> 
>>>>>> 
>>>>>> How about NON_CORE_PKGS.gmk for javadoc?
>>>>>> 
>>>>>> Something like:
>>>>>> 
>>>>>> diff --git a/make/common/NON_CORE_PKGS.gmk
>>>>>> b/make/common/NON_CORE_PKGS.gmk
>>>>>> --- a/make/common/NON_CORE_PKGS.gmk
>>>>>> +++ b/make/common/NON_CORE_PKGS.gmk
>>>>>> @@ -44,6 +44,8 @@
>>>>>>  org.w3c.dom.events \
>>>>>>  org.w3c.dom.views
>>>>>> 
>>>>>> +JSOBJECT_PKGS = netscape.javascript
>>>>>> +
>>>>>> JDI_PKGS = com.sun.jdi \
>>>>>>  com.sun.jdi.event \
>>>>>>  com.sun.jdi.request \
>>>>>> @@ -113,6 +115,7 @@
>>>>>> 
>>>>>> # non-core packages in rt.jar
>>>>>> NON_CORE_PKGS = $(DOMAPI_PKGS) \
>>>>>> +    $(JSOBJECT_PKGS) \
>>>>>>  $(MGMT_PKGS) \
>>>>>>  $(JAAS_PKGS) \
>>>>>>  $(JGSS_PKGS) \
>>>>>> 
>>>>>> -DrD-
>>>>>> 
>>>>>>> The client team owns jdk.jsobject module and so I add awt-dev to this 
>>>>>>> thread.  And bcc jdk9-dev.
>>>>>>> 
>>>>>>> It is not Java SE API and it should not add to CORE-PKGS.gmk.  As for 
>>>>>>> @Deprecated, I believe the plan is to remove the getWindows method in a 
>>>>>>> future release. Kevin and Dave can confirm.
>>>>>>> 
>>>>>>> Mandy
>>>>>>> 
>>>>>>>> On Jun 8, 2016, at 12:33 PM, Daniil Titov <daniil.x.ti...@oracle.com> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> Hello,
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Please review the fix for JDK 9.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> The fix adds @Deprecated annotation to 
>>>>>>>> netscape.javascript.JSObject.getWindow(Applet) method and ensures that 
>>>>>>>> netscape.javascript package is included in the generated docs.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8156960
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Webrev:   http://cr.openjdk.java.net/~dtitov/8156960/jdk/webrev.00/
>>>>>>>> 
>>>>>>>>     http://cr.openjdk.java.net/~dtitov/8156960/webrev.00/
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Best regards,
>>>>>>>> 
>>>>>>>> Daniil
>>>>>>> 
>>>>>> 
>>>>> 
>>> 
> 

Reply via email to