Plasma Browser Integration 1.7

I’m pleased to announce the immediate availability of Plasma Browser Integration version 1.7 on the Chrome Web Store as well as Firefox Add-Ons page. This feature brings a slew of important bug fixes, translation updates, and exciting new features.

Dark blue space background with stars, a cute dragon wearing a red bandana with a "K" on it, sitting ontop of the Earth which has a blue network cable plugged in whose lose end is squiggling around the KDE Plasma logo
Konqi surfing the world wide web

Plasma Browser Integration bridges the gap between your browser and the Plasma desktop. It lets you share links, find browser tabs in KRunner, monitor download progress in the notification center, and control music and video playback anytime from within Plasma, or even from your phone using KDE Connect!

What’s new?

Per-domain media controls blacklist

Plasma Browser Integration toolbar popup with list of domains on which media controls should be enabled
It also lists players in iframes

A feature that I know many of you have been waiting for has finally arrived: per-domain media controls blacklist. It lets you disable media controls on specific websites, where they could either be undesirable, such as when there’s lots of animated video contents, or should they interfere with the website’s function. Whenever there’s a player on a page the extension’s tool bar button (“browser action”) will contain a checkbox to toggle media controls on or off for that domain. There is currently no dedicated settings page where you could just input arbitrary domains but this might be added in a future update.

This release also fixes another issue where enhanced media controls would break audio playback on certain sites. While the previous release attempted to fix this issue for players created from JavaScript via new Audio() I failed to notice that players created by calling document.createElement(“audio”) were affected just as well. Thanks to everyone involved in helping me figure out this convoluted problem!

Storing origin URL for downloads

Dolphin's sidebar showing properties of a file, most notably the URL it was originally downloaded from
Dolphin showing the URL this file was originally downloaded from

A feature that was present in browsers for a while was the ability to store the URL a file was downloaded from in the file’s metadata. Since this could cause unwanted disclosure of information when the file is then shared to or accessible by others, this got removed in most browsers and tools, such as wget. However, I always found it incredibly useful, so I brought this feature back through the extension’s download management capabilities. Understandably, it is not enabled by default but offered as a choice for those who want it, and when you’re running Plasma 5.17 or newer.

Web Share API

New in this release is the support for Web Share API Level 1. This lets websites trigger a share prompt by calling navigator.share and then letting the user choose where to send that data, e.g. to an email client or a chat application. Since KDE has a Framework called Purpose, for example also used in Spectacle to upload screenshots to an image hosting service, adding this functionality was pretty straightforward. Don’t worry, following the specification, this feature is only available to websites served via https and only in response to explicit user interaction. This feature also requires Plasma 5.17 or newer.

Menu next to a "Share me!" button listing services to share contents to, such as Email, Pastebin, etc
Sharing things to the world at the push of a button

A future release might also add the ability to share any website contents through a generic “Share” context menu entry, so you’re not limited to just the KDE Connect sharing we have right now.

Chromium FreeBSD support

To keep the extension from complaining about failing to connect to the host when synced to other platforms, the extension has a list of supported operating systems. Looking at Chrome’s documentation I chose to include “linux” and “openbsd” thinking that would be enough. However, I was recently made aware that on FreeBSD’s Chromium the value is actually, well, “freebsd”, causing the extension to refuse to function for no actual technical reason. I am not sure if this is an oversight in Chrome’s documentation (Mozilla just copied that over verbatim) or actually a downstream patch to Chromium on FreeBSD’s side. Whatever the case, I added this key to the list now.

It appears there’s also an issue with how the native host is packaged or installed. If you’re a user of Chromium on FreeBSD, give it a try! If it doesn’t work then please check out the building instructions for the host on our wiki and get in touch so we can work out the problem!

Upstream browser work

Last week I also added support for the org.freedesktop.FileManager1 DBus interface to Chromium. This means that clicking on “Show in folder” in your list of downloads will now actually scroll to and highlight the file in question in your file manager. While this technically isn’t a part of this this project, it’s still something with regards to browser use within Plasma and I’m sure you’re happy to see this fixed. From what I gather the change will be released alongside Chromium version 80 early next year.

8 thoughts on “Plasma Browser Integration 1.7”

  1. This sounds like an excellent update and I am excited to check it out.
    Thank you so much for the hard work.
    Best regards,
    Eike

  2. Thank you Kai for this very useful work. I’ve just installed the chrome extension on kubuntu 19.10 and it’s almost working. I can use media playback for example. But I get this message in the extension popup : “Erreur d’intégration au navigateur Plasma”, which I guess is something like “plasma browser integration error” in english.

    plasma-browser-integration is installed and running (“/usr/bin/plasma-browser-integration-host chrome-extension://cimiefiiaegbelhefglklhhakcgmhkai/”)

    Coulnd’t find any fix searching the web, so if you have any pointers on how I could fix it, or if there are any logs somewhere that could help, I would be grateful.

    1. I’ve seen someone report this on Firefox but I failed to reproduce the issue.
      What you could try is go to about:debugging, choose “This Firefox” and then hit “Inspect” on the “Plasma Integration” extension. Hopefully the developer console has some error or warning message.

        1. Nothing suspicious going on there, I think. I just tried a Kubuntu 19.10 in VirtualBox and here the extension just works. The popup shows no error and media controls just work. Sorry, I don’t really know what’s going on on your system :/

  3. In Chrome “Share…” button still presented in context menu even when you unchecked it in settings but nothing happens when you press it. Please do some bugs checking before updating. Anyway thank you for your work.

    1. This entry wasn’t supposed to be here, I was sure I had pushed a change to remove it before the release … but apparently I didn’t.

  4. I noticed that the plugin doesn’t work when we use Firefox from snap :(. Sandboxing gets in the way.

Leave a Reply

Your email address will not be published. Required fields are marked *