import gnome-shell-40.10-3.el9
This commit is contained in:
		
							parent
							
								
									dc17f2faee
								
							
						
					
					
						commit
						0d268b79f6
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | ||||
| SOURCES/gnome-shell-40.9.tar.xz | ||||
| SOURCES/gnome-shell-40.10.tar.xz | ||||
|  | ||||
| @ -1 +1 @@ | ||||
| 83b12b5c9ca17de4e1d6e3c8d7371369957976c1 SOURCES/gnome-shell-40.9.tar.xz | ||||
| c955a004fb650a83863d1151e3adbbd6758b1c2e SOURCES/gnome-shell-40.10.tar.xz | ||||
|  | ||||
| @ -0,0 +1,25 @@ | ||||
| From a8c8b7ef31f7219157b94148b771f6f663928dea Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> | ||||
| Date: Tue, 19 Apr 2022 19:17:48 +0200 | ||||
| Subject: [PATCH] Revert "dash: Subtract vertical margins from availHeight" | ||||
| 
 | ||||
| This reverts commit 0de0a1f5940784eb4a7ca9ecf5e92f5277ceb0d8. | ||||
| ---
 | ||||
|  js/ui/dash.js | 1 - | ||||
|  1 file changed, 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/js/ui/dash.js b/js/ui/dash.js
 | ||||
| index f35cc2e25..0f1ca2c4c 100644
 | ||||
| --- a/js/ui/dash.js
 | ||||
| +++ b/js/ui/dash.js
 | ||||
| @@ -610,7 +610,6 @@ var Dash = GObject.registerClass({
 | ||||
|                         (iconChildren.length - 1) * spacing; | ||||
|   | ||||
|          let availHeight = this._maxHeight; | ||||
| -        availHeight -= this.margin_top + this.margin_bottom;
 | ||||
|          availHeight -= this._background.get_theme_node().get_vertical_padding(); | ||||
|          availHeight -= themeNode.get_vertical_padding(); | ||||
|          availHeight -= buttonHeight - iconHeight; | ||||
| -- 
 | ||||
| 2.35.1 | ||||
| 
 | ||||
							
								
								
									
										51
									
								
								SOURCES/0001-kbdA11yDialog-Use-MetaKeyboardA11yFlags.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								SOURCES/0001-kbdA11yDialog-Use-MetaKeyboardA11yFlags.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| From bd4fef8354ff0730c1e96a47d77adbb4a4d7beaa Mon Sep 17 00:00:00 2001 | ||||
| From: Olivier Fourdan <ofourdan@redhat.com> | ||||
| Date: Tue, 14 Jun 2022 16:38:27 +0200 | ||||
| Subject: [PATCH] kbdA11yDialog: Use MetaKeyboardA11yFlags | ||||
| 
 | ||||
| The change in mutter to move keyboard accessibility into backends needs | ||||
| to be applied in gnome-shell as well, otherwise the keyboard | ||||
| accessibility dialog cannot work. | ||||
| 
 | ||||
| Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2306 | ||||
| Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2334> | ||||
| ---
 | ||||
|  js/ui/kbdA11yDialog.js | 10 +++++----- | ||||
|  1 file changed, 5 insertions(+), 5 deletions(-) | ||||
| 
 | ||||
| diff --git a/js/ui/kbdA11yDialog.js b/js/ui/kbdA11yDialog.js
 | ||||
| index a45e02443..60ec161a6 100644
 | ||||
| --- a/js/ui/kbdA11yDialog.js
 | ||||
| +++ b/js/ui/kbdA11yDialog.js
 | ||||
| @@ -1,5 +1,5 @@
 | ||||
|  /* exported KbdA11yDialog */ | ||||
| -const { Clutter, Gio, GObject } = imports.gi;
 | ||||
| +const { Clutter, Gio, GObject, Meta } = imports.gi;
 | ||||
|   | ||||
|  const Dialog = imports.ui.dialog; | ||||
|  const ModalDialog = imports.ui.modalDialog; | ||||
| @@ -25,17 +25,17 @@ class KbdA11yDialog extends GObject.Object {
 | ||||
|          let title, description; | ||||
|          let key, enabled; | ||||
|   | ||||
| -        if (whatChanged & Clutter.KeyboardA11yFlags.SLOW_KEYS_ENABLED) {
 | ||||
| +        if (whatChanged & Meta.KeyboardA11yFlags.SLOW_KEYS_ENABLED) {
 | ||||
|              key = KEY_SLOW_KEYS_ENABLED; | ||||
| -            enabled = (newFlags & Clutter.KeyboardA11yFlags.SLOW_KEYS_ENABLED) > 0;
 | ||||
| +            enabled = (newFlags & Meta.KeyboardA11yFlags.SLOW_KEYS_ENABLED) > 0;
 | ||||
|              title = enabled | ||||
|                  ? _("Slow Keys Turned On") | ||||
|                  : _("Slow Keys Turned Off"); | ||||
|              description = _('You just held down the Shift key for 8 seconds. This is the shortcut ' + | ||||
|                              'for the Slow Keys feature, which affects the way your keyboard works.'); | ||||
| -        } else if (whatChanged & Clutter.KeyboardA11yFlags.STICKY_KEYS_ENABLED) {
 | ||||
| +        } else if (whatChanged & Meta.KeyboardA11yFlags.STICKY_KEYS_ENABLED) {
 | ||||
|              key = KEY_STICKY_KEYS_ENABLED; | ||||
| -            enabled = (newFlags & Clutter.KeyboardA11yFlags.STICKY_KEYS_ENABLED) > 0;
 | ||||
| +            enabled = (newFlags & Meta.KeyboardA11yFlags.STICKY_KEYS_ENABLED) > 0;
 | ||||
|              title = enabled | ||||
|                  ? _("Sticky Keys Turned On") | ||||
|                  : _("Sticky Keys Turned Off"); | ||||
| -- 
 | ||||
| 2.36.1 | ||||
| 
 | ||||
							
								
								
									
										30
									
								
								SOURCES/0001-status-volume-Hide-sliders-initially.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								SOURCES/0001-status-volume-Hide-sliders-initially.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | ||||
| From b212b973175be1cbefa1da2c5ed4f58fae032c73 Mon Sep 17 00:00:00 2001 | ||||
| From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org> | ||||
| Date: Wed, 11 May 2022 02:34:21 +0200 | ||||
| Subject: [PATCH] status/volume: Hide sliders initially | ||||
| 
 | ||||
| We update the visibility on state or stream changes, but those | ||||
| changes may never happen if pipewire-pulse/pulseaudio isn't | ||||
| available (for example when running as root). | ||||
| 
 | ||||
| Hiding the sliders is preferable in that case to showing non-working | ||||
| controls. | ||||
| ---
 | ||||
|  js/ui/status/volume.js | 1 + | ||||
|  1 file changed, 1 insertion(+) | ||||
| 
 | ||||
| diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js
 | ||||
| index 7164e1054..f623ee680 100644
 | ||||
| --- a/js/ui/status/volume.js
 | ||||
| +++ b/js/ui/status/volume.js
 | ||||
| @@ -34,6 +34,7 @@ var StreamSlider = class {
 | ||||
|          this._control = control; | ||||
|   | ||||
|          this.item = new PopupMenu.PopupBaseMenuItem({ activate: false }); | ||||
| +        this.item.hide();
 | ||||
|   | ||||
|          this._inDrag = false; | ||||
|          this._notifyVolumeChangeId = 0; | ||||
| -- 
 | ||||
| 2.35.1 | ||||
| 
 | ||||
							
								
								
									
										334
									
								
								SOURCES/fix-markup-in-highlighter.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										334
									
								
								SOURCES/fix-markup-in-highlighter.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,334 @@ | ||||
| From 49a950b9e0dc262fd20c28e21ee4815ea8efe758 Mon Sep 17 00:00:00 2001 | ||||
| From: Sebastian Keller <skeller@gnome.org> | ||||
| Date: Tue, 16 Nov 2021 18:57:26 +0100 | ||||
| Subject: [PATCH 1/3] search: Split out the description highlighter into its | ||||
|  own class | ||||
| 
 | ||||
| No functional change yet, only preparation to allow adding a unit test | ||||
| later on. | ||||
| 
 | ||||
| Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2033> | ||||
| ---
 | ||||
|  js/misc/util.js | 38 +++++++++++++++++++++++++++++++++++++- | ||||
|  js/ui/search.js | 12 +++++------- | ||||
|  2 files changed, 42 insertions(+), 8 deletions(-) | ||||
| 
 | ||||
| diff --git a/js/misc/util.js b/js/misc/util.js
 | ||||
| index 8139d3f47..d1a702960 100644
 | ||||
| --- a/js/misc/util.js
 | ||||
| +++ b/js/misc/util.js
 | ||||
| @@ -1,7 +1,8 @@
 | ||||
|  // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- | ||||
|  /* exported findUrls, spawn, spawnCommandLine, spawnApp, trySpawnCommandLine, | ||||
|              formatTime, formatTimeSpan, createTimeLabel, insertSorted, | ||||
| -            ensureActorVisibleInScrollView, wiggle, lerp, GNOMEversionCompare */
 | ||||
| +            ensureActorVisibleInScrollView, wiggle, lerp, GNOMEversionCompare,
 | ||||
| +            Highlighter */
 | ||||
|   | ||||
|  const { Clutter, Gio, GLib, Shell, St, GnomeDesktop } = imports.gi; | ||||
|  const Gettext = imports.gettext; | ||||
| @@ -477,3 +478,38 @@ function GNOMEversionCompare(version1, version2) {
 | ||||
|   | ||||
|      return 0; | ||||
|  } | ||||
| +
 | ||||
| +/* @class Highlighter Highlight given terms in text using markup. */
 | ||||
| +var Highlighter = class {
 | ||||
| +    /**
 | ||||
| +     * @param {?string[]} terms - list of terms to highlight
 | ||||
| +     */
 | ||||
| +    constructor(terms) {
 | ||||
| +        if (!terms)
 | ||||
| +            return;
 | ||||
| +
 | ||||
| +        const escapedTerms = terms
 | ||||
| +            .map(term => Shell.util_regex_escape(term))
 | ||||
| +            .filter(term => term.length > 0);
 | ||||
| +
 | ||||
| +        if (escapedTerms.length === 0)
 | ||||
| +            return;
 | ||||
| +
 | ||||
| +        this._highlightRegex = new RegExp('(%s)'.format(
 | ||||
| +            escapedTerms.join('|')), 'gi');
 | ||||
| +    }
 | ||||
| +
 | ||||
| +    /**
 | ||||
| +     * Highlight all occurences of the terms defined for this
 | ||||
| +     * highlighter in the provided text using markup.
 | ||||
| +     *
 | ||||
| +     * @param {string} text - text to highlight the defined terms in
 | ||||
| +     * @returns {string}
 | ||||
| +     */
 | ||||
| +    highlight(text) {
 | ||||
| +        if (!this._highlightRegex)
 | ||||
| +            return text;
 | ||||
| +
 | ||||
| +        return text.replace(this._highlightRegex, '<b>$1</b>');
 | ||||
| +    }
 | ||||
| +};
 | ||||
| diff --git a/js/ui/search.js b/js/ui/search.js
 | ||||
| index 7300b053e..b1e76c46d 100644
 | ||||
| --- a/js/ui/search.js
 | ||||
| +++ b/js/ui/search.js
 | ||||
| @@ -10,6 +10,8 @@ const ParentalControlsManager = imports.misc.parentalControlsManager;
 | ||||
|  const RemoteSearch = imports.ui.remoteSearch; | ||||
|  const Util = imports.misc.util; | ||||
|   | ||||
| +const { Highlighter } = imports.misc.util;
 | ||||
| +
 | ||||
|  const SEARCH_PROVIDERS_SCHEMA = 'org.gnome.desktop.search-providers'; | ||||
|   | ||||
|  var MAX_LIST_SEARCH_RESULTS_ROWS = 5; | ||||
| @@ -596,7 +598,7 @@ var SearchResultsView = GObject.registerClass({
 | ||||
|   | ||||
|          this._providers = []; | ||||
|   | ||||
| -        this._highlightRegex = null;
 | ||||
| +        this._highlighter = new Highlighter();
 | ||||
|   | ||||
|          this._searchSettings = new Gio.Settings({ schema_id: SEARCH_PROVIDERS_SCHEMA }); | ||||
|          this._searchSettings.connect('changed::disabled', this._reloadRemoteProviders.bind(this)); | ||||
| @@ -739,8 +741,7 @@ var SearchResultsView = GObject.registerClass({
 | ||||
|          if (this._searchTimeoutId == 0) | ||||
|              this._searchTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 150, this._onSearchTimeout.bind(this)); | ||||
|   | ||||
| -        let escapedTerms = this._terms.map(term => Shell.util_regex_escape(term));
 | ||||
| -        this._highlightRegex = new RegExp('(%s)'.format(escapedTerms.join('|')), 'gi');
 | ||||
| +        this._highlighter = new Highlighter(this._terms);
 | ||||
|   | ||||
|          this.emit('terms-changed'); | ||||
|      } | ||||
| @@ -894,10 +895,7 @@ var SearchResultsView = GObject.registerClass({
 | ||||
|          if (!description) | ||||
|              return ''; | ||||
|   | ||||
| -        if (!this._highlightRegex)
 | ||||
| -            return description;
 | ||||
| -
 | ||||
| -        return description.replace(this._highlightRegex, '<b>$1</b>');
 | ||||
| +        return this._highlighter.highlight(description);
 | ||||
|      } | ||||
|  }); | ||||
|   | ||||
| -- 
 | ||||
| 2.35.1 | ||||
| 
 | ||||
| 
 | ||||
| From 7c1abe1bd91ecf274d81e122035cbeeef6fd58d4 Mon Sep 17 00:00:00 2001 | ||||
| From: Sebastian Keller <skeller@gnome.org> | ||||
| Date: Wed, 17 Nov 2021 02:50:39 +0100 | ||||
| Subject: [PATCH 2/3] util: Properly handle markup in highlighter | ||||
| 
 | ||||
| The code to highlight matches did not properly escape the passed in text | ||||
| as for markup before adding its highlighting markup. This lead to some | ||||
| search result descriptions not showing up, because their descriptions | ||||
| contained characters, such as "<", that would have to be escaped when | ||||
| used in markup or otherwise lead to invalid markup. | ||||
| 
 | ||||
| To work around this some search providers wrongly started escaping the | ||||
| description on their end before sending them to gnome-shell. This lead | ||||
| to another issue. Now if the highlighter was trying to highlight the | ||||
| term "a", and the escaped description contained "'", the "a" in | ||||
| that would be considered a match and surrounded by "<b></b>". This | ||||
| however would also generate invalid markup, again leading to an error | ||||
| and the description not being shown. | ||||
| 
 | ||||
| Fix this by always escaping the passed in string before applying the | ||||
| highlights in such a way that there are no matches within entities. | ||||
| 
 | ||||
| This also means that search providers that escaped their description | ||||
| strings will now show up with the markup syntax. This will have to be | ||||
| fixed separately in the affected search providers. | ||||
| 
 | ||||
| Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4791 | ||||
| Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2033> | ||||
| ---
 | ||||
|  js/misc/util.js | 21 +++++++++++++++++++-- | ||||
|  1 file changed, 19 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/js/misc/util.js b/js/misc/util.js
 | ||||
| index d1a702960..802398d18 100644
 | ||||
| --- a/js/misc/util.js
 | ||||
| +++ b/js/misc/util.js
 | ||||
| @@ -508,8 +508,25 @@ var Highlighter = class {
 | ||||
|       */ | ||||
|      highlight(text) { | ||||
|          if (!this._highlightRegex) | ||||
| -            return text;
 | ||||
| +            return GLib.markup_escape_text(text, -1);
 | ||||
| +
 | ||||
| +        let escaped = [];
 | ||||
| +        let lastMatchEnd = 0;
 | ||||
| +        let match;
 | ||||
| +        while ((match = this._highlightRegex.exec(text))) {
 | ||||
| +            if (match.index > lastMatchEnd) {
 | ||||
| +                let unmatched = GLib.markup_escape_text(
 | ||||
| +                    text.slice(lastMatchEnd, match.index), -1);
 | ||||
| +                escaped.push(unmatched);
 | ||||
| +            }
 | ||||
| +            let matched = GLib.markup_escape_text(match[0], -1);
 | ||||
| +            escaped.push('<b>%s</b>'.format(matched));
 | ||||
| +            lastMatchEnd = match.index + match[0].length;
 | ||||
| +        }
 | ||||
| +        let unmatched = GLib.markup_escape_text(
 | ||||
| +            text.slice(lastMatchEnd), -1);
 | ||||
| +        escaped.push(unmatched);
 | ||||
|   | ||||
| -        return text.replace(this._highlightRegex, '<b>$1</b>');
 | ||||
| +        return escaped.join('');
 | ||||
|      } | ||||
|  }; | ||||
| -- 
 | ||||
| 2.35.1 | ||||
| 
 | ||||
| 
 | ||||
| From 82e2a6dcfabc2f82efbf468175d16c303f0c73da Mon Sep 17 00:00:00 2001 | ||||
| From: Sebastian Keller <skeller@gnome.org> | ||||
| Date: Wed, 17 Nov 2021 03:05:05 +0100 | ||||
| Subject: [PATCH 3/3] tests: Add unit test for highlighter | ||||
| 
 | ||||
| Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2033> | ||||
| ---
 | ||||
|  tests/meson.build         |  12 ++++- | ||||
|  tests/unit/highlighter.js | 106 ++++++++++++++++++++++++++++++++++++++ | ||||
|  2 files changed, 117 insertions(+), 1 deletion(-) | ||||
|  create mode 100644 tests/unit/highlighter.js | ||||
| 
 | ||||
| diff --git a/tests/meson.build b/tests/meson.build
 | ||||
| index c0431631f..50fb601e9 100644
 | ||||
| --- a/tests/meson.build
 | ||||
| +++ b/tests/meson.build
 | ||||
| @@ -10,7 +10,17 @@ run_test = configure_file(
 | ||||
|  testenv = environment() | ||||
|  testenv.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) | ||||
|   | ||||
| -foreach test : ['insertSorted', 'jsParse', 'markup', 'params', 'url', 'versionCompare']
 | ||||
| +tests = [
 | ||||
| +    'highlighter',
 | ||||
| +    'insertSorted',
 | ||||
| +    'jsParse',
 | ||||
| +    'markup',
 | ||||
| +    'params',
 | ||||
| +    'url',
 | ||||
| +    'versionCompare',
 | ||||
| +]
 | ||||
| +
 | ||||
| +foreach test : tests
 | ||||
|    test(test, run_test, | ||||
|      args: 'unit/@0@.js'.format(test), | ||||
|      env: testenv, | ||||
| diff --git a/tests/unit/highlighter.js b/tests/unit/highlighter.js
 | ||||
| new file mode 100644 | ||||
| index 000000000..d582d38e3
 | ||||
| --- /dev/null
 | ||||
| +++ b/tests/unit/highlighter.js
 | ||||
| @@ -0,0 +1,106 @@
 | ||||
| +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
 | ||||
| +
 | ||||
| +// Test cases for SearchResult description match highlighter
 | ||||
| +
 | ||||
| +const JsUnit = imports.jsUnit;
 | ||||
| +const Pango = imports.gi.Pango;
 | ||||
| +
 | ||||
| +const Environment = imports.ui.environment;
 | ||||
| +Environment.init();
 | ||||
| +
 | ||||
| +const Util = imports.misc.util;
 | ||||
| +
 | ||||
| +const tests = [
 | ||||
| +    { input: 'abc cba',
 | ||||
| +      terms: null,
 | ||||
| +      output: 'abc cba' },
 | ||||
| +    { input: 'abc cba',
 | ||||
| +      terms: [],
 | ||||
| +      output: 'abc cba' },
 | ||||
| +    { input: 'abc cba',
 | ||||
| +      terms: [''],
 | ||||
| +      output: 'abc cba' },
 | ||||
| +    { input: 'abc cba',
 | ||||
| +      terms: ['a'],
 | ||||
| +      output: '<b>a</b>bc cb<b>a</b>' },
 | ||||
| +    { input: 'abc cba',
 | ||||
| +      terms: ['a', 'a'],
 | ||||
| +      output: '<b>a</b>bc cb<b>a</b>' },
 | ||||
| +    { input: 'CaSe InSenSiTiVe',
 | ||||
| +      terms: ['cas', 'sens'],
 | ||||
| +      output: '<b>CaS</b>e In<b>SenS</b>iTiVe' },
 | ||||
| +    { input: 'This contains the < character',
 | ||||
| +      terms: null,
 | ||||
| +      output: 'This contains the < character' },
 | ||||
| +    { input: 'Don\'t',
 | ||||
| +      terms: ['t'],
 | ||||
| +      output: 'Don'<b>t</b>' },
 | ||||
| +    { input: 'Don\'t',
 | ||||
| +      terms: ['n\'t'],
 | ||||
| +      output: 'Do<b>n't</b>' },
 | ||||
| +    { input: 'Don\'t',
 | ||||
| +      terms: ['o', 't'],
 | ||||
| +      output: 'D<b>o</b>n'<b>t</b>' },
 | ||||
| +    { input: 'salt&pepper',
 | ||||
| +      terms: ['salt'],
 | ||||
| +      output: '<b>salt</b>&pepper' },
 | ||||
| +    { input: 'salt&pepper',
 | ||||
| +      terms: ['salt', 'alt'],
 | ||||
| +      output: '<b>salt</b>&pepper' },
 | ||||
| +    { input: 'salt&pepper',
 | ||||
| +      terms: ['pepper'],
 | ||||
| +      output: 'salt&<b>pepper</b>' },
 | ||||
| +    { input: 'salt&pepper',
 | ||||
| +      terms: ['salt', 'pepper'],
 | ||||
| +      output: '<b>salt</b>&<b>pepper</b>' },
 | ||||
| +    { input: 'salt&pepper',
 | ||||
| +      terms: ['t', 'p'],
 | ||||
| +      output: 'sal<b>t</b>&<b>p</b>e<b>p</b><b>p</b>er' },
 | ||||
| +    { input: 'salt&pepper',
 | ||||
| +      terms: ['t', '&', 'p'],
 | ||||
| +      output: 'sal<b>t</b><b>&</b><b>p</b>e<b>p</b><b>p</b>er' },
 | ||||
| +    { input: 'salt&pepper',
 | ||||
| +      terms: ['e'],
 | ||||
| +      output: 'salt&p<b>e</b>pp<b>e</b>r' },
 | ||||
| +    { input: 'salt&pepper',
 | ||||
| +      terms: ['&a', '&am', '&', '&'],
 | ||||
| +      output: 'salt&pepper' },
 | ||||
| +    { input: '&&&&&',
 | ||||
| +      terms: ['a'],
 | ||||
| +      output: '&&&&&' },
 | ||||
| +    { input: '&;&;&;&;&;',
 | ||||
| +      terms: ['a'],
 | ||||
| +      output: '&;&;&;&;&;' },
 | ||||
| +    { input: '&;&;&;&;&;',
 | ||||
| +      terms: [';'],
 | ||||
| +      output: '&<b>;</b>&<b>;</b>&<b>;</b>&<b>;</b>&<b>;</b>' },
 | ||||
| +    { input: '&',
 | ||||
| +      terms: ['a'],
 | ||||
| +      output: '&<b>a</b>mp;' }
 | ||||
| +];
 | ||||
| +
 | ||||
| +try {
 | ||||
| +    for (let i = 0; i < tests.length; i++) {
 | ||||
| +        let highlighter = new Util.Highlighter(tests[i].terms);
 | ||||
| +        let output = highlighter.highlight(tests[i].input);
 | ||||
| +
 | ||||
| +        JsUnit.assertEquals(`Test ${i + 1} highlight ` +
 | ||||
| +            `"${tests[i].terms}" in "${tests[i].input}"`,
 | ||||
| +            output, tests[i].output);
 | ||||
| +
 | ||||
| +        let parsed = false;
 | ||||
| +        try {
 | ||||
| +            Pango.parse_markup(output, -1, '');
 | ||||
| +            parsed = true;
 | ||||
| +        } catch (e) {}
 | ||||
| +        JsUnit.assertEquals(`Test ${i + 1} is valid markup`, true, parsed);
 | ||||
| +    }
 | ||||
| +} catch (e) {
 | ||||
| +    if (typeof(e.isJsUnitException) != 'undefined'
 | ||||
| +        && e.isJsUnitException)
 | ||||
| +    {
 | ||||
| +        if (e.comment)
 | ||||
| +            log(`Error in: ${e.comment}`);
 | ||||
| +    }
 | ||||
| +    throw e;
 | ||||
| +}
 | ||||
| -- 
 | ||||
| 2.35.1 | ||||
| 
 | ||||
							
								
								
									
										1353
									
								
								SOURCES/restrict-dbus-callers.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1353
									
								
								SOURCES/restrict-dbus-callers.patch
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -1,8 +1,8 @@ | ||||
| %global tarball_version %%(echo %{version} | tr '~' '.') | ||||
| 
 | ||||
| Name:           gnome-shell | ||||
| Version:        40.9 | ||||
| Release:        2%{?dist} | ||||
| Version:        40.10 | ||||
| Release:        3%{?dist} | ||||
| Summary:        Window management and application launching for GNOME | ||||
| 
 | ||||
| License:        GPLv2+ | ||||
| @ -40,6 +40,11 @@ Patch38: add-power-profiles-menu.patch | ||||
| Patch39: 0001-status-network-Use-wwan-settings-panel-for-GSM-LTE-M.patch | ||||
| Patch40: 0001-welcomeDialog-Adapt-dialog-title.patch | ||||
| Patch41: 0001-main-Leak-the-GJS-context-and-ShellGlobal.patch | ||||
| Patch42: fix-markup-in-highlighter.patch | ||||
| Patch43: restrict-dbus-callers.patch | ||||
| Patch44: 0001-Revert-dash-Subtract-vertical-margins-from-availHeig.patch | ||||
| Patch45: 0001-status-volume-Hide-sliders-initially.patch | ||||
| Patch46: 0001-kbdA11yDialog-Use-MetaKeyboardA11yFlags.patch | ||||
| 
 | ||||
| %define eds_version 3.33.1 | ||||
| %define gnome_desktop_version 3.35.91 | ||||
| @ -258,6 +263,32 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de | ||||
| %{_mandir}/man1/gnome-shell.1* | ||||
| 
 | ||||
| %changelog | ||||
| * Mon Jun 20 2022 Florian Müllner <fmuellner@redhat.com> - 40.10-3 | ||||
| - Fix keyboard a11y confirmation dialog | ||||
|   Resolves: #2047644 | ||||
| 
 | ||||
| * Wed May 11 2022 Florian Müllner <fmuellner@redhat.com> - 40.10-2 | ||||
| - Hide volume sliders initially | ||||
|   Related: #2052808 | ||||
| 
 | ||||
| * Tue Apr 19 2022 Florian Müllner <fmuellner@redhat.com> - 40.10-1 | ||||
| - Update to 40.10 | ||||
|   Related: #2066169 | ||||
| 
 | ||||
| * Tue Apr 05 2022 Florian Müllner <fmuellner@redhat.com>- 40.9-5 | ||||
| - Keep new ShimMetaContext type private | ||||
|   Related: #2055366 | ||||
| 
 | ||||
| * Fri Apr 01 2022 Florian Müllner <fmuellner@redhat.com>- 40.9-4 | ||||
| - Restrict D-Bus callers | ||||
|   Resolves: #2055366 | ||||
| 
 | ||||
| * Wed Mar 30 2022 Florian Müllner <fmuellner@redhat.com> - 40.9-3 | ||||
| - Fix markup handling in highlighter | ||||
|   Resolves: #2049194 | ||||
| - Fix warning on restacking | ||||
|   Resolves: #2053638 | ||||
| 
 | ||||
| * Mon Feb 28 2022 Ray Strode <rstrode@redhat.com> - 40.9-2 | ||||
| - Depend on and use background extension | ||||
|   Related: #2057150 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user