Saturday, August 19, 2006

NetBeans Platform: Who needs the Web Browser ?

During my lobby period for the NetBeans Platform at my workplace I did
with a coleague a quick port to the NetBeans Platform of a Swing application.
Of course, nothing too Platform-dependent, just module with
TopComponents instead of JFrames, library wrappers, etc.

Now, one of the complaints was: "hell, in another tab I had a *web browser* !"

Tonight I was looking at the new NetBeans 6.0 M2 Platform and it hit
me: the View->Web Browser is there ! It's there in 5.5 too.

Now, why would my standalone application need it ? It's not like
people use some other "internal" broser that each application has, so
why is it there? Or at least -- why the menu item ?

There was a comment in a blog at some point with something like "we
like Eclipse RPC because there we have to put things in, on the
NetBeans Platform we have to take things out first" which kinda made
sense (although I haven't used the Eclipse RCP, only the IDE).

I've dugg into the sources and it seems the Web Browser is used by the
*autoupdate* module. But even if I don't use the autoupdate module,
it's still there. Ok you'll say: "there is a trick! You never actually
remove autoupdate entirely", which is true. Autoupdate also has the
little update piece generated from libsrc/ that has low-level module
update/install code.

But the Web Browser usage in autoupdate isn't in the *libsrc/* part,
it's in the module, that you can disable.

Also, in Tools->Options->Advanced Options->System there is a Web
Browser option (with Swing Browser as the default). And that is needed
... why ?

Of course, one can always set a _hidden in tha layer for the folder or file and thus hide the Web Browser menu item or the whole View menu but this seems indeed a little odd. In the end -- what is the purpouse of the Web Browser that makes it so hard to remove altogether ?

If this was helpful for you then maybe you'll like reading the other NetBeans Platform-related posts.

Emilian Bold
Java-loving consulting services from Timisoara, Romania.


Timothy said...

I am starting to play around with Netbeans 5.5 platform and was wondering if you had any luck solving this issue? I'm working on porting a swing app over to Netbeans and I just don't feel right leaving a Web Browser built into an app. It may not be a security hole ... but it just seems dumb. Thanks.

Emilian Bold said...


My solution was just to hide the menuitem responsible for this.

I still don't know what was that all about, I assume they need the rendering engine for JavaHelp and other HTML JEditorPanes (like the HTML used for the node properties for example).

I guess the webbrowser is just a showcase of their rendering engine.

I recommend you post a message on the mailing list, eventually checkout issuezilla if someone posted something about this.