Easy solution
Close all Firefox windows (also this one!). Run firefox -ProfileManager and ad a new profile for your web application. You can than remove the tab bar in the preferences and all other disturbing GUI elements. Close everthing and run aigain the profile manager to select your default profile again (then firefox should start your default profile).
Then create a file my_webapplication.desktop and create a launcher. This is an example for the Google calendar:
[Desktop Entry]
Name=Google Calendar
Exec=firefox -P gcalendar -no-remote
Terminal=false
Type=Application
Icon=firefox
The icon should be better not firefox, but a path to a icon of your choice. gcalendar is the profile name I chose before.
Improvement
If your application is already open, opening this launcher again will result in an error. You can install wmctrl and use this small script to run your web application:
# Is there any window with Google Calendar in the title?
if [ -z "`wmctrl -l|grep 'Google Calendar'`" ]; then
# No --> run it
firefox -P gcalendar -no-remote;
else
# Yes --> change focus to this window
wmctrl -a 'Google Calendar';
fi
Use Chromium
Well... I ḱind of gave up. Chromium is the easiest solution. Just click "Create applicaton shortcut..." (in "Tools") and your done. You'll find a *.desktop file in ~/.local/share/applications which can be costumized.
You might want to customize the *.desktop file. E.g. docky does not recognize a Chromium web application as different application, so the chromium icon is displayed instead. You can change this behaviour using the WMClass as described here. But you will have to add also a parameter --class=MyArbitraryChromuimAppname as discussed in this bug report. If you want to run Google Calender your *.desktop file in .local/share/applications/ should look like this:
[Desktop Entry]
Version=1.0
Name=Google Calendar
Exec=/usr/bin/chromium-browser "--app=https://www.google.com/calendar/render?gsessionid=HERE_GOES_THE_SESSION_ID_CREATED_AUTOMATICALLY" --class=gcal
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/peter/.icons/google_calendar.png
Categories=Network;WebBrowser;
StartupNotify=true
StartupWMClass=gcal
Note: you have to add --class=gcal and set the property StartupWMClass=gcal (you can choose any name instead of gcal).