cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

NetBeansWebkitIntegrationRequirements

NetBeans Webkit Integration Requirements

This document describes requirements on Webkit integration project, in order to integrate its functionality into NetBeans IDE.

General Requirements

Requirement Description
Control over library loading In order easier to integrate, it would be nice to have a full control over the library loading used by Webkit. Currently the library loading is hardcoded into Webkit, and it forces dumping the libraries into java.library.path, which NetBeans currently doesn't provide nice management of.
Support of NetBeans target platforms It is listed, just making sure. We need support for Windows, Linux, Solaris and Mac.
Fixing small issues on demand There is needed some cooperation with Webkit team in order to fix issues breaking the integration in timely fashion.


API Requirements

This part has 3 independent stages. Depending on which we need to get support of, that one needs to be provided.

Browser Functionality

This would be provided via URLDisplayer service.
\ Currently it is used for javadoc browsing, browser preview etc.
No additional API is required! The API needed for browsing functionality is there already.

API Requirement Description


Browser Preview Functionality

Currently it is provided also via URLDisplayer service, but could be improved if this API is provided. This would allow to browse preview without copying the model into file representation.
In addition to the previous API following is needed:

API Requirement Description
Loading from InputStream (or alike) To better use preview capability it would be nice to have a possibility to load the HTML document from stream, since during the development the model might exist in memory only (no disc representation is needed).


Designer Functionality

This would be needed in order to implement designer functionality (like it is currently in VisualWeb).
In addition to the previous API following is needed:

API Requirement Description
Access to mutable DOM We need to be able to manipulate the DOM programatically.
Control over user interaction We need to be able to control the user interaction in order to provide expected feedback (selection), and also advanced design capabilities (DnD, move, etc.).
View to Model & Model to View mapping We need to be able to detect DOM node based on location from the pane, and vice versa.
Ability to draw over the component I suppose this is granted since the component is lightweight. Listing it just to make sure. It is needed for providing additional design feedback (drawing selection, move feedback, DnD feedback etc.).