We achieve this with two changes:
- Move the Shell.get_thumbnail call in DocInfo from _init
to getIcon, so that it isn't executed until it's actually
needed.
(If caching the output of said call permanently is desired
we could still do it on the first getIcon invocation, but
I don't believe this is necessary given that looking up an
already generated icon is pretty fast and this also gives
us an updated icon in case the file changes.)
- More importantly, we ommit the get_thumbnail call in case
the URI doesn't start with file://. Looking up, for example,
an http:// URI is very slow, and doesn't give us an icon anyway.
http://bugzilla.gnome.org/show_bug.cgi?id=586539
With commit a3d35af444 variable
itemInfo in js/ui/appDisplay.js was changed to a new object
(AppInfo from js/misc/appInfo.js) but some of the code in
js/ui/appDisplay.js wasn't updated accordingly. This commit
fixes that and makes the search box in the overlay usable
again.
This lets us share the recent-app-tracking, recent-file-tracking, and
icon-drawing code between the overlay and the sidebar, without the
sidebar having to poke into AppDisplayItem and DocDisplayItem's guts.