This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 217171 - API enhancements for embedded browser.
Summary: API enhancements for embedded browser.
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Embedded Browser (show other bugs)
Version: 7.3
Hardware: All All
: P2 normal (vote)
Assignee: Stanislav Aubrecht
URL:
Keywords: API, API_REVIEW_FAST
Depends on:
Blocks:
 
Reported: 2012-08-21 15:25 UTC by Stanislav Aubrecht
Modified: 2012-09-02 01:27 UTC (History)
1 user (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
proposed API changes (9.88 KB, patch)
2012-08-21 15:39 UTC, Stanislav Aubrecht
Details | Diff
proposed API changes (9.60 KB, patch)
2012-08-27 14:22 UTC, Stanislav Aubrecht
Details | Diff
proposed API changes (15.12 KB, patch)
2012-08-28 14:17 UTC, Stanislav Aubrecht
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stanislav Aubrecht 2012-08-21 15:25:45 UTC
org.openide.awt.HtmlBrowser class needs some minor API enhacements to allow better integration of various embedded browsers.
Comment 1 Stanislav Aubrecht 2012-08-21 15:39:40 UTC
Created attachment 123355 [details]
proposed API changes
Comment 2 Jaroslav Tulach 2012-08-23 09:00:35 UTC
Y01 At least the behavior of Lookup and possibly also the property change should be testable in a unit test.

Y02 I am surprised the HtmlBrowser is not final (but we were probably young), but so far it has not been designed for subclassing. If I properly understand your proposal, you want to change that. That will mix the API for clients and providers (getLookup, isRunning) which is no good. As far as I can tell the lookup could be provided in constructor of HtmlBrowser. isRunning is imho more state of the Factory/Impl than something that should be overriden by subclasses of HtmlBrowser.
Comment 3 Stanislav Aubrecht 2012-08-23 12:41:23 UTC
I will move the Lookup to c'tor however David added isRunning() method so I'll leave it to him to defend that API change:)
Comment 4 David Konecny 2012-08-24 00:13:50 UTC
Re. "I am surprised the HtmlBrowser is not final (but we were probably young), but so far it has not been designed for subclassing." - HtmlBrowser.Impl was designed for subclassing. I agree that it is an old API and lacks separation of SPI and API is therefore hard to enhance. getLookup fits into it nicely though. isRunning, PROP_RUNNING and PROP_LOADING can be deleted as they are not needed anymore
Comment 5 Stanislav Aubrecht 2012-08-27 14:22:29 UTC
Created attachment 123618 [details]
proposed API changes

I've removed isRunning() method and made HtmlBrowser.Impl.getLookup() method final.
Comment 6 Jaroslav Tulach 2012-08-28 09:01:48 UTC
Re. Y02 - I've realized I my oversight. The new getLookup() method was never intended to be part of HtmlBrowser, but always HtmlBrowser.Impl. In such case the argumentation in Y02 was not valid. HtmlBrowser.Impl was always supposed to be subclassed. As such I have nothing against getLookup() method to be non-final and overidden by subclasses. I beg your pardon.
Comment 7 Stanislav Aubrecht 2012-08-28 14:17:52 UTC
Created attachment 123662 [details]
proposed API changes
Comment 8 Stanislav Aubrecht 2012-08-28 14:18:24 UTC
The new patch removes isRunning() and adds a test for HtmlBrowser.Impl.getLookup()
Comment 9 Stanislav Aubrecht 2012-08-30 13:03:23 UTC
If there are no more comments, I'll integrate the changes tomorrow.
Comment 10 Stanislav Aubrecht 2012-08-31 11:09:19 UTC
core-main f51699bf491c
Comment 11 Quality Engineering 2012-09-02 01:27:23 UTC
Integrated into 'main-golden', will be available in build *201209020001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/f51699bf491c
User: S. Aubrecht <saubrecht@netbeans.org>
Log: #217171 - API enhancements for embedded browser