gnome-shell/js/ui
Georges Basile Stavracas Neto 286ffbe2b6
panel: Stop using Shell.GenericContainer
Shell.GenericContainer exposes the size negotiation machinery
through the use of signals. Signals are not specially performant.
One of the reasons is that they acquire a global lock for signal
handlers lookup. GNOME Shell has more than 2,000 actors at any
given point in time, up to 20 levels deep in hierarchy, making
size negotiation and painting non-trivial tasks. Such a critical
section of Clutter's machinery shouldn't rely on signals
whatsoever.

Regardless of that, Shell.GenericContainer is a workaround to
a non-existing issue anymore. It shouldn't be used anyway, and
any performance improvements that removing it can potentially
yield are bonuses to it.

This commit starts this work by removing Shell.GenericContainer
usage from Panel.Panel class. The class now extends St.Widget,
and as such, it has no "this.actor" field set anymore. A couple
of places where this actor field was used are adjuste as well.

It is important to notice that we now allocate the Panel itself
inside vfunc_allocate(). This was previously done before emitting
the signal by Shell.GenericContainer.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/153
2018-10-08 22:42:23 -03:00
..
components automountManager: Explicitly track active operations 2018-10-08 13:18:53 +00:00
status Fix connection to wifi APs from user menu (RH #1628263) 2018-09-18 16:15:32 -07:00
accessDialog.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
altTab.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
animation.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
appDisplay.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
appFavorites.js appFavorites: Don't add app explicitly 2018-10-08 16:22:04 +00:00
audioDeviceSelection.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
background.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
backgroundMenu.js cleanup: Use arrow notation for anonymous functions 2018-02-21 13:55:00 +00:00
barLevel.js barLevel: Add "overdrive" capability 2018-07-31 18:14:14 +00:00
boxpointer.js js/ui: Choose some actors to cache on the GPU 2018-08-27 14:16:59 +00:00
calendar.js calendar: chain up to parent on _onDestroy 2018-09-03 22:43:21 +00:00
checkBox.js cleanup: Use method syntax 2018-02-21 13:54:58 +00:00
closeDialog.js closeDialog: Untrack chrome when window loses focus 2018-10-08 16:03:53 +00:00
ctrlAltTab.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
dash.js js/ui: Choose some actors to cache on the GPU 2018-08-27 14:16:59 +00:00
dateMenu.js worldClock: Handle named timezones 2018-04-13 09:15:48 +00:00
dialog.js js/ui: Choose some actors to cache on the GPU 2018-08-27 14:16:59 +00:00
dnd.js dnd: Nullify _dragActor after we've destroyed it, and avoid invalid access 2018-09-03 22:43:21 +00:00
edgeDragAction.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
endSessionDialog.js endSessionDialog: squash "reference to undefined property" warning 2018-09-25 21:28:35 +01:00
environment.js cleanup: Use arrow notation for anonymous functions 2018-02-21 13:55:00 +00:00
extensionDownloader.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
extensionSystem.js extensionSystem: Unset stylesheet file reference when unloaded 2018-09-03 23:29:01 +00:00
focusCaretTracker.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
grabHelper.js cleanup: Use arrow notation for anonymous functions 2018-02-21 13:55:00 +00:00
ibusCandidatePopup.js ibusCandidatePopup: Fix candidate-clicked signal 2018-04-18 13:37:53 +09:00
iconGrid.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
inhibitShortcutsDialog.js cleanup: Use method syntax 2018-02-21 13:54:58 +00:00
kbdA11yDialog.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
keyboard.js keyboard: Listen to IbusPanelService::focus-in/out to track focus changes 2018-09-25 23:49:42 +00:00
layout.js layout: Don't update input region on wayland 2018-10-08 16:03:53 +00:00
lightbox.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
lookingGlass.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
magnifier.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
magnifierDBus.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
main.js js/main: Throw error if no valid default stylesheet is found 2018-09-03 23:29:01 +00:00
messageList.js messageList: stop syncing if closeButton has been destroyed 2018-09-03 22:43:21 +00:00
messageTray.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
modalDialog.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
mpris.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
notificationDaemon.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
osdMonitorLabeler.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
osdWindow.js osdWindow: Allow levels above 100% 2018-07-31 18:14:11 +00:00
overview.js panel: Stop using Shell.GenericContainer 2018-10-08 22:42:23 -03:00
overviewControls.js overview: Restore previous workspace switcher policy 2018-08-14 17:34:57 +00:00
padOsd.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
panel.js panel: Stop using Shell.GenericContainer 2018-10-08 22:42:23 -03:00
panelMenu.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
pointerWatcher.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
popupMenu.js popupMenu: Don't handle key presses directly if there are modifiers 2018-07-14 14:04:18 +02:00
remoteMenu.js remoteMenu: Support icons in app-menu 2018-04-14 09:02:20 +00:00
remoteSearch.js js: use ES6 template strings for dbus interfaces 2018-08-27 19:23:00 +02:00
runDialog.js runDialog: Use ClutterText::activate for enter handling 2018-08-17 18:37:32 +00:00
screencast.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
screenShield.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
screenshot.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
scripting.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
search.js search: Ignore search provider results metas if search is cancelled 2018-09-04 01:00:52 +02:00
sessionMode.js Explicitly convert raw data to strings 2018-07-31 16:28:53 +00:00
shellDBus.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
shellEntry.js shellEntry: Use correct enum for input purpose hints 2018-03-14 13:30:47 +00:00
shellMountOperation.js dbus: Move all interface descriptions into the resource 2018-09-17 07:34:49 +00:00
slider.js barLevel: Support maxValue higher than 1 2018-07-31 18:14:10 +00:00
switcherPopup.js switcherPopup: Cancel window cycling with Tab 2018-07-14 14:35:05 +00:00
switchMonitor.js switchMonitor: switch to next config upon initial keypress 2018-09-13 16:11:16 +00:00
tweener.js cleanup: Use arrow notation for anonymous functions 2018-02-21 13:55:00 +00:00
unlockDialog.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
userWidget.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
viewSelector.js viewSelector: Don't unfocus other modals on reset 2018-10-04 16:40:46 +00:00
windowAttentionHandler.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00
windowManager.js panel: Stop using Shell.GenericContainer 2018-10-08 22:42:23 -03:00
windowMenu.js windowMenu: Port from Meta.ScreenDirection to Meta.DisplayDirection 2018-09-11 12:59:07 +02:00
workspace.js workspace: Simplify detecting added dialogs after closing a window 2018-08-03 00:09:02 +02:00
workspacesView.js workspacesView: initialize self._restackedNotifyId 2018-09-25 23:00:53 +01:00
workspaceSwitcherPopup.js Remove usage of MetaScreen 2018-07-06 19:56:19 +02:00
workspaceThumbnail.js Revert "workspaceThumbnail: rebuild thumbnails if workareas size changed" 2018-08-19 12:41:08 +00:00
xdndHandler.js cleanup: Use Function.prototype.bind() 2018-02-21 13:55:02 +00:00