[ Impact ]
GNOME shell when using this indicator should export the org.kde.StatusNotifierWatcher dbus interface, although some methods and properties are missing or invalid
[ Test case ]
Run: gdbus call --session --dest org.gnome.Shell --object-path /StatusNotifierWatcher \ --method org.freedesktop.DBus.Properties.Get "org.kde.StatusNotifierWatcher" ProtocolVersion
-> Should return (<0>,)
In particular, the API should contain
gdbus introspect --session --dest org.gnome.Shell --object-path /StatusNotifierWatcher node /StatusNotifierWatcher {
.... Default fdo properties stuff ....
interface org.kde.StatusNotifierWatcher { interface org.kde.StatusNotifierWatcher { methods: RegisterStatusNotifierItem(in s service); RegisterStatusNotifierHost(in s service); signals: StatusNotifierItemRegistered(s arg_0); StatusNotifierItemUnregistered(s arg_0); StatusNotifierHostRegistered(); StatusNotifierHostUnregistered(); properties: @org.qtproject.QtDBus.QtTypeName.Out0("QStringList") readonly as RegisteredStatusNotifierItems = [ ... list of indicators path/obj-names ... ]; readonly b IsStatusNotifierHostRegistered = true; readonly i ProtocolVersion = 0; }; };
In the old version we had an invalid "RegisterNotificationHost" method (not specified by specs nor used) We didn't expose the ProtocolVersion
[ Impact ]
GNOME shell when using this indicator should export the org.kde. StatusNotifierW atcher dbus interface, although some methods and properties are missing or invalid
[ Test case ]
Run: Watcher \ .DBus.Propertie s.Get "org.kde. StatusNotifierW atcher" ProtocolVersion
gdbus call --session --dest org.gnome.Shell --object-path /StatusNotifier
--method org.freedesktop
-> Should return (<0>,)
In particular, the API should contain
gdbus introspect --session --dest org.gnome.Shell --object-path /StatusNotifier Watcher Watcher {
node /StatusNotifier
.... Default fdo properties stuff ....
interface org.kde. StatusNotifierW atcher { StatusNotifierW atcher { tatusNotifierIt em(in s service); tatusNotifierHo st(in s service); ifierItemRegist ered(s arg_0); ifierItemUnregi stered( s arg_0); ifierHostRegist ered(); ifierHostUnregi stered( ); org.qtproject. QtDBus. QtTypeName. Out0("QStringLi st") sNotifierItems = [ ... list of indicators path/obj-names ... ]; rHostRegistered = true;
interface org.kde.
methods:
RegisterS
RegisterS
signals:
StatusNot
StatusNot
StatusNot
StatusNot
properties:
@
readonly as RegisteredStatu
readonly b IsStatusNotifie
readonly i ProtocolVersion = 0;
};
};
In the old version we had an invalid "RegisterNotifi cationHost" method (not specified by specs nor used)
We didn't expose the ProtocolVersion