Thread Tools
Posts: 391 | Thanked: 1,500 times | Joined on Dec 2013
Just like promised the last week I spend some time coding a webbrowser for Sailfish which supports landscape and supports tabbing.
I based my work on the tinywebbrowser project by Mike7b4. So thanks for the initial code and inspiration.

The current features of the browser so far:
  • Landscape support
  • Tabbing support (real without reloading of tabs)
  • Bookmark support
  • Setting browser user agent
  • Setting default font sizes
  • Opening up links in new tab (by long press and hold on link)
  • Copy links (by long press and hold on link)
  • Open rtsp, rtmp and mms links with external viewer (e.g. LLs VideoPlayer)
  • Setting DNS Prefetch
  • Setting Offline WebApplication Cache
  • Manually add bookmark with specific user agent
  • Fast scroll to top or bottom of page
  • Watch Youtube with internal or external player (e.g. LLs VideoPlayer) with direct link
  • Download Youtube videos
  • Private Browsing
  • Clear Cache, Cookies, History
  • ReaderMode (with NightMode)
  • Copy text from website
  • Search text in website
  • Keyboard hotkeys
  • Session support
  • HTML5 Video Tag detection
  • Embeded Youtube detection
  • Integrated file manager
  • Integrated Download Manager
  • Keyboard Hotkeys (for TOHKBD or bluetooth keyboards)
  • Set as default browser
  • Backup Manager (Import/Export Bookmarks,Cookies,History,Settings)
  • Proxy Support
  • Fast Tab Switching
  • Create Website Launchers
  • Cookie Manager

You can find the code here:
RPM here:
Tablet (i486) RPM:

It is recommend to use QtWebkit 5.212 from Version 2.9.7 onwards.
You can currently find RPMs here:

Version 2.9.8
  • Detect HTML5 Media elements and embedded youtube videos after website completely loaded
  • Cleaned up Mediadetect.js (make mediadetect rerun html5 a+v & yt embed detect on touchend)
  • Some cleanup (make toolbar browserComponent and separate it from firstPage)
  • Fixed show sun/moon icon when in readermode and toolbar is expanded again
  • Some cleanup (make extraToolbar browserComponent and separate it from firstPage)
  • Fixed some errors in TabList
  • Updated translations
  • Give visual feedback when started in private mode (Closes #59)
  • Sync fmhelper changes with (LLs video Player) -> Copy/Move process in background
  • Get rid of warnings during compile
  • Make MediaDownloadRec browserComponent and separate it from firstPage
  • Fixed mixed content media site (HTML5 + YT) download button
  • Added Sailfish-Browser to share menu
  • Use slightly different approach for devicepixelratio hack that visually looks more pleasing
  • Prevent worker thread of FolderListModel from starting immediately
    de-duplicate some expensive calls
  • Set contextProperties up before loading qml to avoid error messages
  • Enable certain features only on newer qtwebkit versions if available (MediaSource Support, Autoplay Blockage)
  • Added workaround for taphighlight not working on qtwebkit 5.212

Version 2.9.7
  • Long press on close button in tabview closes all tabs
  • Hide bookmarkbutton by default only show when urlbar is focussed
  • Replace reload button in extraToolbar with closeTabButton
  • Reduce spacing between BackIcon and ForwardIcon in toolbar
  • Split Bookmarkspage in 2 columns with bookmarks on the left and tabs on the right if in landscape
  • Added optional input method by long pressing on input box (opens a native input editing dialog)
  • Updated devicePixelRatioHack
  • Enable experimental.overview to better work with devicePixelRatioHack
  • Deactivated pollyfills that aren't necessary anymore (new qtwebkit 5.212 takes care of it upgrade to it if you need svg and full es6 support)
  • Save if media in MediaList is ytMedia
  • Disable HTML5 Audio & Video workarounds (qtwebkit 5.212 takes care of html5 audio + video)
  • Enable HTML5 Audio Tag detection and add to MediaList
  • Slight update of the default user agent
  • Handle onEnterFullScreen and onExitFullScreen
  • Fix Restore Backup functionality
  • Replaced old Adblocker rules with something more recent
  • Attach to window.onload instead of overwriting it (fixes some sites like acid3 test or css3 test not loading)
  • Some DevicePixelRatioHack.js optimizations
  • Added alternative webkit user agent *(used by Sailfish Browser for youtube)
  • Updated Jolla Sailfish Browser user agent

Version 2.9
  • Set InfoBanner parent on every call (Fixes InfoBanner showing in wrong position when in landscape)
  • BackupPage Flickables ContentHeight set to column
  • Massive update for translations (more strings are translatable/translated)
  • Ignore magnet links and try to open them externally (you need an application which handles magnet links)
  • Handle webkit crashes by trying to reload the page 3 times (4th time it shows an error message instead)
  • Wrap and realign sectionheaders text on BackupPage
  • Added to devicePixelRatio blacklist (avoid crashes)
  • Better devicePixelRatio Hack by also setting experimental.customLayoutWidth which loads mobile page more often directly instead of desktop page (blacklisting again for this)
  • Fix only allow closing of tabs if close button is visible
  • Show webtitle when page loaded above urltext

Version 2.8
  • Fixed OpenDialog wrong links to Android SD Card and SD Card
  • Revamped Tabbar (vertical list instead of horizontal)
  • Added MenuPopup for starting stuff from new Tabbar header (File
  • Manager,Backup Manager, Video Player, Download Manager)
  • Added new "about:" uris for Backup Manager, Video Player & Download Manager
  • Added Pulley Menu for VideoPlayer Page to OpenFiles and Streams
  • Hide Download Manager from Pulley (we don't need duplicates)
  • Allow showing html code for selected text (scroll down to see html button)
  • Added ViewPlaceholder for VideoPlayer if no media is loaded
  • Save backups to the Documents folder by default (new harbour rule)
  • Changed text of BackupPage to indicate changed saving path for backups
  • Fixed Youtube Get Stream URLs (should reliably get 240p,360p & 720p mp4 streams excluding ciphered ones like vevo)
  • Fixed ContextMenuOverlay blocking touch events on ytQualChooser close
  • Added DefaultCoverActionGroup setting
  • Added CookieManager (allows searching and removing of single cookies)

You can get the app in the warehouse and jolla store aswell and rate it there

0.9-1 Videodemo:
0.9.6 Videodemo:
1.9.9 Videodemo:
2.0.9 Videodemo:
2.1.0 Videodemo Backupmanager:
2.2.0 Videodemo Fast Tab Switching:
2.3 Videodemo:
Donation for my sailfish apps via PayPal

Donate using Liberapay

Last edited by llelectronics; 2018-04-29 at 11:51.

The Following 66 Users Say Thank You to llelectronics For This Useful Post:
TMavica's Avatar
Posts: 2,003 | Thanked: 1,005 times | Joined on Apr 2010 @ Hong Kong
nothing can see after install when I start it
The Glorious Lady T.Mavica
Posts: 45 | Thanked: 76 times | Joined on Dec 2013 @ Bruxelles
Thanks for your work. But I have two problems:
1)doesn't work installed by Warehouse(i have installed manually) 2) When you launch the application there is a blank page
Attached Images
Posts: 391 | Thanked: 1,500 times | Joined on Dec 2013
Hmm... need to debug it. Just a sec.
Donation for my sailfish apps via PayPal

Donate using Liberapay
Posts: 750 | Thanked: 2,789 times | Joined on Jan 2011 @ Czech Republic
I have also experienced these two errors (not being able to install through Warehouse and the blank screen).

The error code of the former is:
[W] unknown:11 - file:///usr/share/harbour-webcat/qml/pages/helper/db.js:11: Error: no such column: agent Unable to execute statement
[W] unknown:107 - file:///usr/share/harbour-webcat/qml/pages/helper/db.js:107: Error: no such table: settings Unable to execute statement
I know it's hard to debug such things when databases persist in the SDK

EDIT: Nevermind, that was not the right advice. But the error lies there.

Last edited by nodevel; 2014-01-11 at 15:45.
Posts: 391 | Thanked: 1,500 times | Joined on Dec 2013
For the white screen please make sure to have qt5-qtgraphicaleffects installed.
I will upload a new package with this as dependency when I figured out the db.js problem.
Thx for your help and patience.
Donation for my sailfish apps via PayPal

Donate using Liberapay

The Following 2 Users Say Thank You to llelectronics For This Useful Post:
Posts: 391 | Thanked: 1,500 times | Joined on Dec 2013
Update: I think I fixed it:
Donation for my sailfish apps via PayPal

Donate using Liberapay

The Following 5 Users Say Thank You to llelectronics For This Useful Post:
Morpog's Avatar
Posts: 956 | Thanked: 2,628 times | Joined on Nov 2011
llelectronics you won't make it to harbour with gt5-qtgraphicaleffects
Posts: 391 | Thanked: 1,500 times | Joined on Dec 2013
Really ? Hmm... then I need to think about something else to make it to harbour.
Donation for my sailfish apps via PayPal

Donate using Liberapay
Posts: 750 | Thanked: 2,789 times | Joined on Jan 2011 @ Czech Republic
Thanks! Looks great!

Just few issues I noticed:
  • The URL bar covers a small part of the page - on one website I visit, there a link to switch to mobile version, which is currently hidden behind the bar (I just noticed that the bar becomes thinner after scrolling, but only on longer pages).
  • The tab bar is visually bit confusing - not really sure what is current tab... You could remove the 'New tab' and 'Close' buttons as they're accessible through the pulley menu
  • Would you consider adding bookmark editing function? It is quite easy to edit bookmarks in the default browser (through a config file), but since here it's in a database... It is difficult to make a bookmark pointing to
  • Switching to landcape and then back to portrait zooms the page in
  • Rotation animation is not very smooth

These are just minor issues - I am very impressed by your work. I wouldn't have imagined something would replace the default browser in its initial version. Simply amazing.

browser, webbrowser

Thread Tools

Forum Jump

All times are GMT. The time now is 02:55.