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

Issue 15968002: Revert 201837 "OOP import on Windows." (Closed)

Created:
7 years, 7 months ago by Dan Beam
Modified:
7 years, 7 months ago
CC:
chromium-reviews
Visibility:
Public.

Description

Revert 201837 "OOP import on Windows." This broke browser_tests on XP Tests (dbg)(4): http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%28dbg%29%284%29/builds/33240 [1148:3528:0523/123340:2643015:WARNING:extension_apitest.cc(169)] Workaround for 177163, prematurely stopping test > OOP import on Windows. > > Gets rid of the import process on all platforms -- replaced by a utility process which communicates with a ProfileWriter back in the browser process to write to the profile (this uses the ExternalProcessImporterHost machinery written 2+ years ago by mirandac@ for import on Mac and still the state of the art today). > > Gets rid of all issues regarding profile contention and races to profile creation between the browser and import processes on first run (example of issues this has previously caused: http://crbug.com/171475, http://crbug.com/174591, http://crbug.com/180459). > > Makes bookmarks file import use the same mechanism on all platforms (this means bookmarks file import is now in-process on Linux which still uses ImporterHost (instead of ExternalProcessImporterHost) -- Linux used to use the import process solely for bookmarks file import -- but the work to switch Linux to ExternalProcessImporterHost should be very minimal after this CL and I intend to do it in a follow-up CL to unify the import flow cross-platform once and for all!). > > Do not use the out-of-process import for Google Toolbar (this was already the case prior to this CL). > To make the Google Toolbar importer work out-of-process, we would have to augment the import IPC drastically to support the web auth flow required by this importer (it requires to login to import the google.com/bookmarks favorites). > > This, as a side-effect, brings silent bookmarks file import from master_preferences to Mac (long standing issue 48880). > > Also fixes issue 231710 (or at least removes the condition causing the bug by making the ImportLockDialog go away on first run on Windows -- as should already have been the case). > > Also addresses issue 178083 since the early message loop spinning was caused by ImportSettingsWin which was called too early on Windows (actually resulting in running the full import twice on Windows!) -- via PreCreateThreadsImpl()-->ProcessMasterPreferences()-->SetImportPreferencesAndLaunchImport()-->ImportSettingsWin()... This whole flow is removed in this CL :). > > This improves first run speed in a debug build from 4901ms to 1477ms, a 332% improvement!!!! (tested by instrumenting a first run browser test, the delta is between the time the test is constructed and the time the test case is called (which happens after the browser has been initialized and import has occurred)). > > This supersedes https://codereview.chromium.org/12463030/ (which won't be committed because this fix is so much better). > > BUG=219419, 22142, 56816, 178083, 178051, 48880, 232241, 231710, 223462, 87657, 236225 > > Review URL: https://chromiumcodereview.appspot.com/12670013 TBR=gab@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=201968

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+728 lines, -317 lines) Patch
M trunk/src/chrome/browser/chrome_browser_main.cc View 4 chunks +25 lines, -5 lines 0 comments Download
M trunk/src/chrome/browser/extensions/extension_service.cc View 2 chunks +4 lines, -0 lines 0 comments Download
M trunk/src/chrome/browser/extensions/extension_system.cc View 1 chunk +1 line, -0 lines 0 comments Download
M trunk/src/chrome/browser/first_run/first_run.h View 3 chunks +20 lines, -15 lines 0 comments Download
M trunk/src/chrome/browser/first_run/first_run.cc View 12 chunks +80 lines, -123 lines 0 comments Download
M trunk/src/chrome/browser/first_run/first_run_browsertest.cc View 3 chunks +43 lines, -106 lines 0 comments Download
M trunk/src/chrome/browser/first_run/first_run_internal.h View 3 chunks +59 lines, -0 lines 0 comments Download
M trunk/src/chrome/browser/first_run/first_run_linux.cc View 1 chunk +31 lines, -0 lines 0 comments Download
M trunk/src/chrome/browser/first_run/first_run_mac.mm View 1 chunk +5 lines, -0 lines 0 comments Download
M trunk/src/chrome/browser/first_run/first_run_posix.cc View 4 chunks +62 lines, -0 lines 0 comments Download
M trunk/src/chrome/browser/first_run/first_run_win.cc View 4 chunks +310 lines, -2 lines 0 comments Download
M trunk/src/chrome/browser/importer/external_process_importer_bridge.cc View 4 chunks +18 lines, -35 lines 0 comments Download
M trunk/src/chrome/browser/importer/firefox_importer_browsertest.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M trunk/src/chrome/browser/importer/ie_importer_browsertest_win.cc View 3 chunks +4 lines, -3 lines 0 comments Download
MM trunk/src/chrome/browser/policy/cloud/user_policy_signin_service.cc View 1 chunk +4 lines, -1 line 0 comments Download
M trunk/src/chrome/browser/profiles/profile.cc View 1 chunk +2 lines, -1 line 0 comments Download
M trunk/src/chrome/browser/profiles/profile_manager.h View 1 chunk +4 lines, -0 lines 0 comments Download
M trunk/src/chrome/browser/profiles/profile_manager.cc View 2 chunks +16 lines, -7 lines 0 comments Download
M trunk/src/chrome/browser/sync/profile_sync_service_factory.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M trunk/src/chrome/browser/ui/sync/profile_signin_confirmation_helper_browsertest.cc View 2 chunks +6 lines, -1 line 0 comments Download
MM trunk/src/chrome/browser/ui/webui/options/import_data_handler.cc View 1 chunk +6 lines, -10 lines 0 comments Download
M trunk/src/chrome/common/chrome_switches.h View 1 chunk +2 lines, -0 lines 0 comments Download
M trunk/src/chrome/common/chrome_switches.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M trunk/src/chrome/common/switch_utils.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M trunk/src/chrome/common/switch_utils_unittest.cc View 4 chunks +6 lines, -2 lines 0 comments Download
M trunk/src/chrome/utility/profile_import_handler.cc View 1 chunk +3 lines, -4 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Dan Beam
7 years, 7 months ago (2013-05-24 03:35:08 UTC) #1
Dan Beam
Committed patchset #1 manually as r201968.
7 years, 7 months ago (2013-05-24 03:35:42 UTC) #2
gab
Discussed with shess@ and we seemed to think it was unrelated and due to http://crbug.com/177163. ...
7 years, 7 months ago (2013-05-24 12:40:34 UTC) #3
gab
On 2013/05/24 12:40:34, gab wrote: > Discussed with shess@ and we seemed to think it ...
7 years, 7 months ago (2013-05-24 12:48:20 UTC) #4
Dan Beam
7 years, 7 months ago (2013-05-24 18:51:38 UTC) #5
Message was sent while issue was closed.
On 2013/05/24 12:48:20, gab wrote:
> On 2013/05/24 12:40:34, gab wrote:
> > Discussed with shess@ and we seemed to think it was unrelated and due to
> > http://crbug.com/177163.
> > 
> > Trying to re-land this.
> 
> Oh my bad, seems you already relanded this :)!

Yeah, sorry for the confusion.

> 
> Thanks!
> Gab
> 
> 
> 
> > 
> > Thanks,
> > Gab

Powered by Google App Engine
This is Rietveld 408576698