After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 724305 - Two small fixes to the magnifier
Two small fixes to the magnifier
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2014-02-13 15:32 UTC by Giovanni Campagna
Modified: 2014-02-13 18:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Magnifier: demote exceptions reading focus/caret position (2.07 KB, patch)
2014-02-13 15:32 UTC, Giovanni Campagna
committed Details | Review
Magnifier: don't listen for focus/tracker events if the magnifier is not active (4.75 KB, patch)
2014-02-13 15:33 UTC, Giovanni Campagna
committed Details | Review
Magnifier: use the system noise texture for the dead area (1.77 KB, patch)
2014-02-13 16:26 UTC, Giovanni Campagna
committed Details | Review
Magnifier: clip the UI group clone to the allocation (1.14 KB, patch)
2014-02-13 16:26 UTC, Giovanni Campagna
committed Details | Review

Description Giovanni Campagna 2014-02-13 15:32:54 UTC
Before the discussion gets political like last time, I want to highlight
that this is purely a performance optimization - and a good one: atspi
is quite chatty, and we handle events even if the zoomregion is not enabled,
so we end up making sync dbus calls for which we ignore the result.

There are no regressions for a11y-using and non-a11y-using users.
Comment 1 Giovanni Campagna 2014-02-13 15:32:57 UTC
Created attachment 269034 [details] [review]
Magnifier: demote exceptions reading focus/caret position

It's possible that the DBus call goes in timeout (which is bad,
but unavoidable, given that atspi is synchronous) or fails
because the component has been removed (race condition). Those
errors are not dependent on gnome-shell, but on faulty applications
(mostly).
If they happen, log a debug message and continue.
Comment 2 Giovanni Campagna 2014-02-13 15:33:02 UTC
Created attachment 269035 [details] [review]
Magnifier: don't listen for focus/tracker events if the magnifier is not active

In addition to checking the current settings, check also if the
zoom region is active before registering the event listener.
This way, we avoid DBus traffic for events we're not interested in.

Also, make FocusCaretTracker resilient to multiple register/deregister
calls (which can now happen).
Comment 3 Giovanni Campagna 2014-02-13 16:26:36 UTC
Created attachment 269037 [details] [review]
Magnifier: use the system noise texture for the dead area

The design says that the noise texture is the implicit bottom
layer, and so it's appropriate to use it togheter with the default
color to cover the dead area outside the screen which becomes
visibile when scrolling.
Comment 4 Giovanni Campagna 2014-02-13 16:26:41 UTC
Created attachment 269038 [details] [review]
Magnifier: clip the UI group clone to the allocation

Without clipping, we show parts of the message tray and workspace
thumbnails that are normally clipped by the screen.
Comment 5 drago01 2014-02-13 18:25:03 UTC
Review of attachment 269034 [details] [review]:

OK.
Comment 6 drago01 2014-02-13 18:26:38 UTC
Review of attachment 269035 [details] [review]:

Looks good, comment is a bit odd though.

::: js/ui/focusCaretTracker.js
@@ +54,3 @@
+
+        // Ignore the return value, we get an exception if they fail
+        // And they should never

Should never what? fail?
Comment 7 drago01 2014-02-13 18:27:16 UTC
Review of attachment 269037 [details] [review]:

Makes sense.
Comment 8 drago01 2014-02-13 18:27:51 UTC
Review of attachment 269038 [details] [review]:

OK.
Comment 9 Giovanni Campagna 2014-02-13 18:44:53 UTC
Attachment 269034 [details] pushed as 6882273 - Magnifier: demote exceptions reading focus/caret position
Attachment 269035 [details] pushed as 3a92aa7 - Magnifier: don't listen for focus/tracker events if the magnifier is not active
Attachment 269037 [details] pushed as f8f4d0f - Magnifier: use the system noise texture for the dead area
Attachment 269038 [details] pushed as 793c6c2 - Magnifier: clip the UI group clone to the allocation