Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(830)

Issue 12208085: On Linux, automatically create app shortcuts on install or update. (Closed)

Created:
7 years, 10 months ago by Matt Giuca
Modified:
7 years, 9 months ago
CC:
chromium-reviews, chrome-apps-syd-reviews_chromium.org, Mike Mammarella
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

On Linux, automatically create app shortcuts on install or update. If app shortcuts already exist when an app is updated, it recreates the shortcuts in whichever places they already exist. If no app shortcut exists, a shortcut is created with NoDisplay=true. This means that the app is not shown in system menus and search systems, but will have the correct icon in Unity, instead of just using the Chrome logo. BUG=173322 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=186655

Patch Set 1 #

Patch Set 2 : Update attempts to preserve existing shortcuts instead of overriding. #

Patch Set 3 : Decides whether to set NoDisplay=true when updating application shortcut. #

Patch Set 4 : Rebase onto HEAD (small refactor due to ShellIntegration::ShortcutLocations). #

Patch Set 5 : Adding tests for everything in this CL. #

Patch Set 6 : Diff against Issue 12386077. #

Total comments: 10

Patch Set 7 : One parameter per line. #

Patch Set 8 : Diff against 12386077 again. #

Patch Set 9 : Added a new ShortcutLocations boolean, hidden, and used that when updating shortcuts. #

Total comments: 4

Patch Set 10 : Rename and move some functions to more appropriate names/places. #

Total comments: 2

Patch Set 11 : Set hidden to true if NoDisplay=true is found in the shortcut. #

Patch Set 12 : Fix indentation. #

Patch Set 13 : Work around obscure crash due to bug in glib <= 2.32. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+378 lines, -39 lines) Patch
M chrome/browser/shell_integration.h View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/shell_integration.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/shell_integration_linux.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +33 lines, -2 lines 0 comments Download
M chrome/browser/shell_integration_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +127 lines, -20 lines 0 comments Download
M chrome/browser/shell_integration_unittest.cc View 1 2 3 4 5 6 7 8 9 10 13 chunks +196 lines, -15 lines 0 comments Download
M chrome/browser/web_applications/web_app_linux.cc View 1 2 3 4 5 6 7 8 9 1 chunk +14 lines, -1 line 0 comments Download

Messages

Total messages: 21 (0 generated)
Matt Giuca
This is to finally fix the app icon issue in Unity (at least on Gtk, ...
7 years, 9 months ago (2013-03-04 08:45:17 UTC) #1
Elliot Glaysher
lgtm I don't have enough experience in this area to comment on the delete .desktop ...
7 years, 9 months ago (2013-03-04 22:14:04 UTC) #2
Matt Giuca
OK. Well note that this problem only shows up if you have a Desktop shortcut ...
7 years, 9 months ago (2013-03-05 03:08:39 UTC) #3
Matt Giuca
Adding sky for OWNERS again. sky: I apologize for adding you to a lot of ...
7 years, 9 months ago (2013-03-05 03:12:45 UTC) #4
sky
I'm rubber stamping. How about one of you guys create file specific owners for these ...
7 years, 9 months ago (2013-03-05 04:13:30 UTC) #5
sky
LGTM
7 years, 9 months ago (2013-03-05 04:13:50 UTC) #6
benwells
On 2013/03/05 04:13:30, sky wrote: > I'm rubber stamping. How about one of you guys ...
7 years, 9 months ago (2013-03-05 04:20:18 UTC) #7
benwells
lgtm with a few nits https://codereview.chromium.org/12208085/diff/7002/chrome/browser/shell_integration_linux.cc File chrome/browser/shell_integration_linux.cc (right): https://codereview.chromium.org/12208085/diff/7002/chrome/browser/shell_integration_linux.cc#newcode746 chrome/browser/shell_integration_linux.cc:746: bool no_display = (!creation_locations.on_desktop ...
7 years, 9 months ago (2013-03-05 04:32:38 UTC) #8
Matt Giuca
https://codereview.chromium.org/12208085/diff/7002/chrome/browser/shell_integration_linux.cc File chrome/browser/shell_integration_linux.cc (right): https://codereview.chromium.org/12208085/diff/7002/chrome/browser/shell_integration_linux.cc#newcode746 chrome/browser/shell_integration_linux.cc:746: bool no_display = (!creation_locations.on_desktop && On 2013/03/05 04:32:38, benwells ...
7 years, 9 months ago (2013-03-05 05:25:44 UTC) #9
Matt Giuca
> Now I'm starting to like this idea. I think I'll just do it in ...
7 years, 9 months ago (2013-03-05 05:39:50 UTC) #10
benwells
On 2013/03/05 05:39:50, Matt Giuca wrote: > > Now I'm starting to like this idea. ...
7 years, 9 months ago (2013-03-05 10:07:06 UTC) #11
Matt Giuca
OK I have refactored it so that there is an explicit 'hidden' Boolean. It will ...
7 years, 9 months ago (2013-03-06 06:29:51 UTC) #12
benwells
https://codereview.chromium.org/12208085/diff/24001/chrome/browser/shell_integration_linux.cc File chrome/browser/shell_integration_linux.cc (right): https://codereview.chromium.org/12208085/diff/24001/chrome/browser/shell_integration_linux.cc#newcode835 chrome/browser/shell_integration_linux.cc:835: locations.hidden = true; I don't understand this: I thought ...
7 years, 9 months ago (2013-03-06 06:36:38 UTC) #13
Matt Giuca
https://codereview.chromium.org/12208085/diff/24001/chrome/browser/shell_integration_linux.cc File chrome/browser/shell_integration_linux.cc (right): https://codereview.chromium.org/12208085/diff/24001/chrome/browser/shell_integration_linux.cc#newcode835 chrome/browser/shell_integration_linux.cc:835: locations.hidden = true; On 2013/03/06 06:36:39, benwells wrote: > ...
7 years, 9 months ago (2013-03-06 07:23:11 UTC) #14
benwells
https://codereview.chromium.org/12208085/diff/24003/chrome/browser/shell_integration_linux.cc File chrome/browser/shell_integration_linux.cc (right): https://codereview.chromium.org/12208085/diff/24003/chrome/browser/shell_integration_linux.cc#newcode516 chrome/browser/shell_integration_linux.cc:516: // have NoDisplay=true. If there is a shortcut that ...
7 years, 9 months ago (2013-03-06 07:44:25 UTC) #15
Matt Giuca
https://codereview.chromium.org/12208085/diff/24003/chrome/browser/shell_integration_linux.cc File chrome/browser/shell_integration_linux.cc (right): https://codereview.chromium.org/12208085/diff/24003/chrome/browser/shell_integration_linux.cc#newcode516 chrome/browser/shell_integration_linux.cc:516: // have NoDisplay=true. Right again. Done.
7 years, 9 months ago (2013-03-06 08:11:54 UTC) #16
benwells
lgtm
7 years, 9 months ago (2013-03-06 08:24:57 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mgiuca@chromium.org/12208085/34003
7 years, 9 months ago (2013-03-06 23:59:04 UTC) #18
commit-bot: I haz the power
Retried try job too often on linux_rel for step(s) unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_rel&number=104831
7 years, 9 months ago (2013-03-07 01:08:39 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mgiuca@chromium.org/12208085/51001
7 years, 9 months ago (2013-03-07 06:46:50 UTC) #20
commit-bot: I haz the power
7 years, 9 months ago (2013-03-07 08:49:08 UTC) #21
Message was sent while issue was closed.
Change committed as 186655

Powered by Google App Engine
This is Rietveld 408576698