[gnome-shell] search: Drop SearchResultInterface again



commit b1d22d2058ccc0784860e333e96146708d169bc1
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Oct 17 14:27:10 2019 +0200

    search: Drop SearchResultInterface again
    
    It adds a significant cost to AppIcons which are used
     - quite a log (depending on installed apps)
     - in preformance-sensitive contexts (spring animation)
    
    Just rely on duck typing and revert 91a5133116.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/1799

 js/ui/appDisplay.js |  1 -
 js/ui/search.js     | 17 +++--------------
 2 files changed, 3 insertions(+), 15 deletions(-)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 5e20c09257..79c2f7e83a 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -2045,7 +2045,6 @@ var AppFolderPopup = GObject.registerClass({
 
 var AppIcon = GObject.registerClass({
     GTypeName: 'AppDisplay_AppIcon',
-    Implements: [Search.SearchResultInterface],
     Signals: {
         'menu-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
         'sync-tooltip': {},
diff --git a/js/ui/search.js b/js/ui/search.js
index 0d31edb3c7..3dab92b91a 100644
--- a/js/ui/search.js
+++ b/js/ui/search.js
@@ -1,5 +1,5 @@
 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
-/* exported SearchResultsView, SearchResultInterface */
+/* exported SearchResultsView */
 
 const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
 
@@ -32,17 +32,8 @@ class MaxWidthBox extends St.BoxLayout {
     }
 });
 
-var SearchResultInterface = GObject.registerClass({
-    Requires: [Clutter.Actor],
-}, class SearchResultInterface extends GObject.Interface {
-    activate() {
-        throw new GObject.NotImplementedError('activate in %s'.format(this.constructor.name));
-    }
-});
-
-var SearchResult = GObject.registerClass({
-    Implements: [SearchResultInterface]
-}, class SearchResult extends St.Button {
+var SearchResult = GObject.registerClass(
+class SearchResult extends St.Button {
     _init(provider, metaInfo, resultsView) {
         this.provider = provider;
         this.metaInfo = metaInfo;
@@ -253,8 +244,6 @@ var SearchResultsBase = GObject.registerClass({
                 metasNeeded.forEach((resultId, i) => {
                     let meta = metas[i];
                     let display = this._createResultDisplay(meta);
-                    if (!(display instanceof SearchResultInterface))
-                        throw new Error(`${display} is not a valid search result`);
                     display.connect('key-focus-in', this._keyFocusIn.bind(this));
                     this._resultDisplays[resultId] = display;
                 });


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]