Tarptaeya's Blog

Third week of coding phase, GSoC'18

1 min read

Published: 2018-06-04 08:15:00

By Anmol Gautam

Tags: GSoC Falkon KDE


The week was totally involved in developing QML APIs which are not similar to WebExtension APIs. The follwoing APIs are developed:

Clipboard API

This is a very short API - just with one method copy, enabling copying to clipboard by passing a JavaScript object containg text to Falkon.Clipboard.copy.

Notifications API

This is also a very short API - just with one method create, enabling creation of desktop notifications by passing a JavaScript object containg icon(url), heading and message of the notification to Falkon.Notifications.create.

Tabs API

API consumed a humongous time of both me and my mentor David. This exposes the Falkon c++ methods of TabWidget class as singleton Falkon.Tabs and methods of WebTab class as uncreatable type Falkon.Tab.

No compatibility table this time

This time I am not including the WebExtension compatibility table as the APIs developed are not similar to the WebExtension APIs. Also, I am very thankful to my mentor David Rosca for always helping me.

Happy Summers!


Leave a response

View all responses (0)

Second week of coding phase, GSoC'18

2 min read

Published: 2018-05-28 00:07:00

By Anmol Gautam

Tags: GSoC Falkon KDE


The week was totally involved in developing QML APIs similar to WebExtension APIs. The follwoing APIs are developed:

Compatibility Tables

TopSites

Falkon Chrome Edge Mozilla
MostVisitedURL ? ? ?
?
get ? ? ?
?

History

Falkon Chrome Edge Mozilla
HistoryItem ? ? ? ?
TransitionType ? ? ? ?
VisitItem ? ? ? ?
addUrl ? ? ? ?
deleteAll ? ? ? ?
deleteRange ? ? ? ?
deleteUrl ? ? ? ?
getVisits ? ? ? ?
onTitleChanged ? ? ? ?
onVisitRemoved ? ? ? ?
onVisited ? ? ? ?
search ? ? ? ?

Cookies

Falkon Chrome Edge Mozilla
Cookie ? ? ? ?
CookieStore ? ? ? ?
OnChangedCause ? ? ? ?
get ? ? ? ?
getAll ? ? ? ?
getAllCookieStores ? ? ? ?
onChanged ? ? ? ?
remove ? ? ? ?
set ? ? ? ?


Also, I am greatly thankful to my mentor David Rosca for always helping me. Now for this week we have decieded to work on Tabs API, but it would more similar to Falkon C++ API rather than WebExtension API.

Happy Summers!


Leave a response

View all responses (0)

First week of coding phase, GSoC'18

2 min read

Published: 2018-05-21 00:20:00

By Anmol Gautam

Tags: GSoC Falkon KDE


This week was mainly focused on three things

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:


Currently I am, with a great help from my mentor David Rosca, working on developing autotests for the Bookmarks API.

Happy Summers :)


Leave a response

View all responses (0)

Older | Newer
Copyright © 2017 - 2018 Anmol Gautam