EmbeddedBrowserInCompetitiveIDEs
Comparison of Embedded browser integration in competitive IDEs
Eclipse Ganymede
Works out of the box, no download. User can select 'Open with' in context menu for the file. User can enter custom URL in address field of the browser window. Window is opened as other tab in editor area. For each preview it opens new browser window in text editor area as a new tab. It always reuses already opened tab for given file. It's possible to split editor area either vertically or horizontally to view source and preview together. User can use address field to navigate to arbitrary URL. There seems to be no limitation on where user navigates. There are actions Back, Forward, Refresh and Stop loading.
MacOSX, JDK 1.5
BROWSER INFO: userAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/525.28.3 (KHTML, like Gecko) Safari/412.0 appCodeName: Mozilla name: Netscape version: 5
userAgent string for system installation of Safari browser:
userAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/525.28.3 (KHTML, like Gecko) Version/3.2.3 Safari/525.28.3
Rendering:
- HTML rendering without problems
- menus and pop-up menus rendering OK
- sliding windows rendering doesn't draw over browser window (screenshots)
Linux Ubuntu, JDK 1.6.0_13
BROWSER INFO: userAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.10) Gecko appCodeName: Mozilla name: Netscape version: 5
userAgent string for system installation of Firefox browser:
userAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10
Rendering:
- HTML rendering without problems
- menus and pop-up menus rendering OK
- sliding windows rendering OK
__After uninstalling firefox and xulrunner from system, Eclipse is not able to render html preview (it opens external text editor)__
Linux Ubuntu, JDK 1.5.0_19
BROWSER INFO: the same as previous
Rendering:
- HTML rendering OK
- menus and pop-up menus rendering OK
- sliding windows rendering OK
Windows XP, JDK 1.6.0_12
BROWSER INFO: userAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1) appCodeName: Mozilla name: Microsoft Internet Explorer version: 4
userAgent string for system wide installation of MSIE:
userAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
Rendering:
- HTML rendering OK
- menus and pop-up menus rendering OK
- sliding windows rendering OK
Windows XP, JDK 1.5.0_17
BROWSER INFO: the same as previous
Rendering:
- HTML rendering OK
- menus and pop-up menus rendering OK
- sliding windows rendering OK
IDEA 8.1.2
HTML code in editor, shortcut Alt+F2 allows to selects preview in:
- Web Preview (internal)
- Firefox
- Safari
- Opera
- Chrome
When selecting Firefox, Safari or Opera preview is opened in external browser.
After selecting 'Web Preview' following page is shown (screenshot) and user is offered to download platform specific plugin part. After selecting 'Download' then Mozilla with XULRunner is installed and after installation the preview is opened. Preview is life - editing in editor is immediately shown in preview. User cannot enter custom address. Preview is opened in Output window area. There is only one preview window opened, every file that can be previewed and is made focused is previewed in the browser. Browser window can be undocked and slit down. User can use address field to navigate to arbitrary URL. There seems to be no limitation on where user navigates. There are actions Back, Forward, Refresh and Stop loading.
Installation:
Path to htmlbrowser common libraries under idea installation is:
{install_dir}/plugins/htmlbrowser/lib
Implementation:
There is some cooperation with JxBrowser (http://www.teamdev.com/jxbrowser/), it manages cookies,
permissions and probably other browser specific functionality.
There are some patches of JavaXPCOM interfaces.
There is native library for embedding on MacOSX.
MacOSX, JDK 1.5
BROWSER INFO: userAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9pre) Gecko appCodeName: Mozilla name: Netscape version: 5
Rendering:
- HTML rendering OK (probably, it's not possible to enter own URL)
- menus and pop-up menus rendering OK
- sliding windows rendering doesn't draw over browser window (screenshots)
Platform specific part is downloaded to userdir:
~/Library/Caches/IntelliJIdea8x/HtmlPreview_1.1.1
and after insallation in occupies 44MB
Linux Ubuntu, JDK 1.6.0_13
BROWSER INFO: userAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko appCodeName: Mozilla name: Netscape version: 5
Rendering:
- HTML rendering OK
- menus and pop-up menus rendering OK
- sliding windows rendering OK
Platform specific part is downloaded to userdir:
~/.IntelliJIdea8x/system/HtmlPreview_1.1.1
and after installation it occupies 23MB.
HTML preview functionality works OK even after uninstallation of firefox and xulrunner.
Linux Ubuntu, JDK 1.5.0_19
Idea 8.1.2 doesn't run on JDK 1.5 on linux
Windows XP, JDK 1.6.0_12
BROWSER INFO: userAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9pre) Gecko appCodeName: Mozilla name: Netscape version: 5
Rendering:
- HTML rendering OK
- menus and pop-up menus rendering OK
- sliding windows rendering OK
Platform specific part is downloaded to userdir:
~/.IntelliJIdea8x/system/HtmlPreview_1.1.1
and after installation it occupies 22MB.
Aptana 1.2.7
When editing e.g. HTML file then each panel/tab in editor has other subtabs with names 'Source', 'Safari' and 'Firefox' that shows the edited page in given browser automatically. During the switch to preview the file is saved (it's configurable). The edited file can be also opened in Web Editor via context menu, in such case Safari browser is used.
It seems that Aptana uses html pages shown in browser as part of IDE GUI control. Page called My Aptana contains links e.g. to create various projects or open recent file, BUT clicking some links in this page goes to external browser. Other page called My Cloud shows Aptana cloud related stuff that user can control, but again clicking some links means opening external browser.
Both those pages (My Aptana and My Cloud) are in Editor area.
Safari:
BROWSER INFO: userAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/525.28.3 (KHTML, like Gecko) appCodeName: Mozilla name: Netscape version: 5
Firefox:
BROWSER INFO: userAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS; en-us; rv:1.8.1.3) Gecko/20070322 appCodeName: Mozilla name: Netscape version: 5

