First week of coding phase, GSoC'18
This week was mainly focused on three things
- Enable loading/unloading of QML plugins in Falkon
- Adding permission to existing plugin infrastructure for allowing plugin in incognito
- Developing QML Bookmarks API similar to WebExtension API
Enable loading/unloading of QML plugins in Falkon
QML plugins will now be loaded into Falkon from the subdirectory qml in the standard plugin paths, similar to Python plugins. Also in metadata.desktop file for plugin, the main entry file (QML) can be specified so that the plugin named X can have the entry file Y.qml.
Adding permission to existing plugin infrastructure for allowing plugin in incognito
Plugins will now support permission to allow them in incognito mode. Also the information for plugins is moved from ini files to sql database.
Developing QML Bookmarks API similar to WebExtension API
The following table demonstrates the browser compatibility of WebExtension API for Falkon compared with other browsers.
Falkon | Chrome | Edge | Mozilla | |
---|---|---|---|---|
BookmarkTreeNode | ✓ | ✓ | ❌ | ✓ |
BookmarkTreeNodeType | ❌* | ❌ | ❌ | ✓ |
BookmarkTreeNodeUnmodifiable | ❌* | ✓ | ❌ | ✓ |
CreateDetails | ❌* | ✓ | ❌ | ✓ |
create | ✓ | ✓ | ✓ | ✓ |
get | ✓ | ✓ | ❌ | ✓ |
getChildren | ✓ | ✓ | ❌ | ✓ |
getRecent | ❌ | ✓ | ❌ | ✓ |
getSubTree | ❌* | ✓ | ❌ | ✓ |
getTree | ❌* | ✓ | ✓ | ✓ |
move | ❌ | ✓ | ✓ | ✓ |
onChange | ✓ | ✓ | ❌ | ✓ |
onChildrenReordered | ❌* | ✓ | ❌ | ❌ |
onCreated | ✓ | ✓ | ❌ | ✓ |
onImportBegan | ❌ | ✓ | ❌ | ❌ |
onImportEnded | ❌ | ✓ | ❌ | ❌ |
onMoved | ❌ | ✓ | ❌ | ✓ |
onRemoved | ✓ | ✓ | ❌ | ✓ |
remove | ✓ | ✓ | ❌ | ✓ |
search | ✓ | ✓ | ❌ | ✓ |
update | ✓ | ✓ | ❌ | ✓ |
To enable the support of API's marked with ❌*, the additional API includes:
- BookmarkTreeNode.type
- BookmarkTreeNode.parent
- Bookmarks.rootItem, Bookmarks.toolbarFolder, Bookmarks.menuFolder, Bookmarks.unsortedFolder
- Bookmarks.lastUsedFolder
- Bookmarks.isBookmarked
Currently I am, with a great help from my mentor David Rosca, working on developing autotests for the Bookmarks API.
Happy Summers :)