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

Issue 8245018: Remove race condition when installing default apps into a new profile. (Closed)

Created:
9 years, 2 months ago by Roger Tawa OOO till Jul 10th
Modified:
6 years, 1 month ago
CC:
chromium-reviews, Aaron Boodman, Erik does not do reviews, mihaip+watch_chromium.org, Mattias Nissler (ping if slow)
Visibility:
Public.

Description

Remove race condition when installing default apps into a new profile. BUG=99547 TEST=Install chrome and stop it as quickly as possible when the window opens. Or create a new profile and close all windows as soon as the new profile's window opens. Do that as often as you like. Make sure that eventually, after leaving the windows open, that all default apps are correctly installed. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107144

Patch Set 1 #

Patch Set 2 : Adding unit tests #

Patch Set 3 : Forgot to include gypi file #

Patch Set 4 : Fix trybot breaks #

Patch Set 5 : Fix more trybot breaks #

Total comments: 31

Patch Set 6 : Addressing review comments #

Total comments: 7

Patch Set 7 : Addressing review comments, merge after sync #

Patch Set 8 : Reworked CL, much simpler #

Total comments: 12

Patch Set 9 : Addressing review comments, merge after sync #

Total comments: 8

Patch Set 10 : Addressing review comments #

Total comments: 1

Patch Set 11 : Addressing review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+173 lines, -87 lines) Patch
A chrome/browser/extensions/default_apps.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +36 lines, -0 lines 0 comments Download
A chrome/browser/extensions/default_apps.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +106 lines, -0 lines 0 comments Download
M chrome/browser/extensions/external_extension_provider_impl.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M chrome/browser/extensions/external_extension_provider_impl.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +13 lines, -84 lines 0 comments Download
M chrome/browser/prefs/browser_prefs.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +5 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/common/pref_names.h View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/pref_names.cc View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 33 (2 generated)
Roger Tawa OOO till Jul 10th
Hi Mihai, Please take another look. Fixed up as you suggested: - don't mess with ...
9 years, 2 months ago (2011-10-14 19:29:19 UTC) #1
Mihai Parparita -not on Chrome
Cc-ing Finnur and Sam since they know the external extension system better than I do. ...
9 years, 2 months ago (2011-10-19 07:31:36 UTC) #2
Finnur
http://codereview.chromium.org/8245018/diff/13002/chrome/browser/extensions/external_extension_provider_impl.cc File chrome/browser/extensions/external_extension_provider_impl.cc (right): http://codereview.chromium.org/8245018/diff/13002/chrome/browser/extensions/external_extension_provider_impl.cc#newcode75 chrome/browser/extensions/external_extension_provider_impl.cc:75: if (prefs->size() == invalid_extensions().size()) { Is it safe to ...
9 years, 2 months ago (2011-10-19 10:01:29 UTC) #3
Roger Tawa OOO till Jul 10th
Thanks Mihai, Finnur. Changes uploaded, please take another look. http://codereview.chromium.org/8245018/diff/13002/chrome/browser/extensions/external_extension_provider_impl.cc File chrome/browser/extensions/external_extension_provider_impl.cc (right): http://codereview.chromium.org/8245018/diff/13002/chrome/browser/extensions/external_extension_provider_impl.cc#newcode75 chrome/browser/extensions/external_extension_provider_impl.cc:75: ...
9 years, 2 months ago (2011-10-19 20:48:25 UTC) #4
miket_OOO
Roger, longtime fan, first-time reviewer. As of r102956, the early-out of DefaultAppsProvider:VisitRegisteredExtension() causes ExtensionService's OnExternalProviderReady() ...
9 years, 2 months ago (2011-10-19 22:45:55 UTC) #5
Mihai Parparita -not on Chrome
http://codereview.chromium.org/8245018/diff/19001/chrome/browser/extensions/external_extension_provider_impl.h File chrome/browser/extensions/external_extension_provider_impl.h (right): http://codereview.chromium.org/8245018/diff/19001/chrome/browser/extensions/external_extension_provider_impl.h#newcode111 chrome/browser/extensions/external_extension_provider_impl.h:111: // prefs_, but for now, there is code that ...
9 years, 2 months ago (2011-10-20 02:30:25 UTC) #6
Finnur
LGTM http://codereview.chromium.org/8245018/diff/13002/chrome/browser/extensions/external_extension_provider_impl.cc File chrome/browser/extensions/external_extension_provider_impl.cc (right): http://codereview.chromium.org/8245018/diff/13002/chrome/browser/extensions/external_extension_provider_impl.cc#newcode90 chrome/browser/extensions/external_extension_provider_impl.cc:90: prefs::kDefaultAppsInstallState); Awww... :) On 2011/10/19 20:48:25, Roger Tawa ...
9 years, 2 months ago (2011-10-20 10:10:43 UTC) #7
Roger Tawa OOO till Jul 10th
Good catch Mike. Yes, the const-ness of various methods led to this code being written ...
9 years, 2 months ago (2011-10-20 13:53:53 UTC) #8
Roger Tawa OOO till Jul 10th
Thanks again guys. Some questions below. http://codereview.chromium.org/8245018/diff/19001/chrome/browser/extensions/default_apps_provider.cc File chrome/browser/extensions/default_apps_provider.cc (right): http://codereview.chromium.org/8245018/diff/19001/chrome/browser/extensions/default_apps_provider.cc#newcode133 chrome/browser/extensions/default_apps_provider.cc:133: // when the ...
9 years, 2 months ago (2011-10-20 14:31:15 UTC) #9
Finnur
http://codereview.chromium.org/8245018/diff/19001/chrome/browser/extensions/default_apps_provider.cc File chrome/browser/extensions/default_apps_provider.cc (right): http://codereview.chromium.org/8245018/diff/19001/chrome/browser/extensions/default_apps_provider.cc#newcode144 chrome/browser/extensions/default_apps_provider.cc:144: ExternalExtensionProviderImpl::VisitRegisteredExtension(); No, that's ok. Never mind... On 2011/10/20 14:31:15, ...
9 years, 2 months ago (2011-10-20 14:39:13 UTC) #10
Roger Tawa OOO till Jul 10th
Hi guys, I realized that my original change for default apps was fundamentally incorrect, since ...
9 years, 2 months ago (2011-10-20 20:15:57 UTC) #11
Finnur
http://codereview.chromium.org/8245018/diff/26001/chrome/browser/extensions/default_apps_provider.cc File chrome/browser/extensions/default_apps_provider.cc (right): http://codereview.chromium.org/8245018/diff/26001/chrome/browser/extensions/default_apps_provider.cc#newcode34 chrome/browser/extensions/default_apps_provider.cc:34: // usually set in the master_preferences file Nit: Capitalize ...
9 years, 2 months ago (2011-10-21 09:59:31 UTC) #12
Roger Tawa OOO till Jul 10th
Thanks again Finnur. Changes uploaded, comments addressed. Please take another look. http://codereview.chromium.org/8245018/diff/26001/chrome/browser/extensions/default_apps_provider.cc File chrome/browser/extensions/default_apps_provider.cc (right): ...
9 years, 2 months ago (2011-10-24 14:23:14 UTC) #13
Sam Kerner (Chrome)
http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc File chrome/browser/extensions/default_apps_provider.cc (right): http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc#newcode72 chrome/browser/extensions/default_apps_provider.cc:72: if (EndsWith(locale, unsupported_locales[i], false)) { Is there a locale ...
9 years, 2 months ago (2011-10-24 14:46:03 UTC) #14
Finnur
My comments have been addressed, so LGTM.
9 years, 2 months ago (2011-10-24 15:16:33 UTC) #15
Roger Tawa OOO till Jul 10th
http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc File chrome/browser/extensions/default_apps_provider.cc (right): http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc#newcode72 chrome/browser/extensions/default_apps_provider.cc:72: if (EndsWith(locale, unsupported_locales[i], false)) { On 2011/10/24 14:46:04, Sam ...
9 years, 2 months ago (2011-10-24 15:35:36 UTC) #16
Sam Kerner (Chrome)
On 2011/10/24 15:35:36, Roger Tawa wrote: > http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc > File chrome/browser/extensions/default_apps_provider.cc (right): > > http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc#newcode72 ...
9 years, 2 months ago (2011-10-24 16:29:14 UTC) #17
Mihai Parparita -not on Chrome
http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc File chrome/browser/extensions/default_apps_provider.cc (right): http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc#newcode65 chrome/browser/extensions/default_apps_provider.cc:65: // Don't bother installing default apps in locales where ...
9 years, 2 months ago (2011-10-24 17:28:05 UTC) #18
Mihai Parparita -not on Chrome
http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/external_extension_provider_impl.cc File chrome/browser/extensions/external_extension_provider_impl.cc (left): http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/external_extension_provider_impl.cc#oldcode56 chrome/browser/extensions/external_extension_provider_impl.cc:56: // ExternalExtensionProviderImpl overrides: Also, if you're removing this, can ...
9 years, 2 months ago (2011-10-24 17:39:25 UTC) #19
Roger Tawa OOO till Jul 10th
Hi Mihai, changes uploaded, please take another look. http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc File chrome/browser/extensions/default_apps_provider.cc (right): http://codereview.chromium.org/8245018/diff/31001/chrome/browser/extensions/default_apps_provider.cc#newcode65 chrome/browser/extensions/default_apps_provider.cc:65: // ...
9 years, 2 months ago (2011-10-24 21:07:15 UTC) #20
Mihai Parparita -not on Chrome
http://codereview.chromium.org/8245018/diff/34003/chrome/browser/extensions/default_apps.h File chrome/browser/extensions/default_apps.h (right): http://codereview.chromium.org/8245018/diff/34003/chrome/browser/extensions/default_apps.h#newcode15 chrome/browser/extensions/default_apps.h:15: class DefaultApps { A namespace seems more appropriate, since ...
9 years, 2 months ago (2011-10-24 21:38:55 UTC) #21
Roger Tawa OOO till Jul 10th
Hi Mihai, please take another look.
9 years, 2 months ago (2011-10-25 12:24:19 UTC) #22
Mihai Parparita -not on Chrome
LGTM
9 years, 2 months ago (2011-10-25 15:04:03 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rogerta@chromium.org/8245018/36005
9 years, 2 months ago (2011-10-25 15:24:34 UTC) #24
commit-bot: I haz the power
Change committed as 107144
9 years, 1 month ago (2011-10-25 17:09:12 UTC) #25
ChuckLawrence27
6 years, 1 month ago (2014-11-08 22:46:34 UTC) #28
ChuckLawrence27
6 years, 1 month ago (2014-11-08 22:46:34 UTC) #29
ChuckLawrence27
lgtm
6 years, 1 month ago (2014-11-08 22:46:35 UTC) #30
ChuckLawrence27
lgtm
6 years, 1 month ago (2014-11-08 22:46:38 UTC) #31
ChuckLawrence27
lgtm
6 years, 1 month ago (2014-11-08 22:46:39 UTC) #32
ChuckLawrence27
6 years, 1 month ago (2014-11-08 22:46:40 UTC) #33
Message was sent while issue was closed.
lgtm

Powered by Google App Engine
This is Rietveld 408576698