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.

Falkon_Preference

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 :)