summaryrefslogtreecommitdiffstats
path: root/chrome/browser/first_run/first_run_internal.h
Commit message (Collapse)AuthorAgeFilesLines
* Do not CreateSentinel until after the process singleton has been grabbed by ↵gab@chromium.org2013-07-311-1/+6
| | | | | | | | | | | | | | | | | | the current process. Move first_run::CreateSentinel to first_run::internal::CreateSentinel. This is based on top of https://codereview.chromium.org/20483002/ BUG=264694 TEST= A) Launch chrome.exe with no First Run sentinel, make sure first run happens once (relaunch and it shouldn't happen twice). B) Launch chrome.exe with First Run sentinel, but with --force-first-run, make sure first run happens anyways. C) Launch chrome.exe with no First Run sentinel, but with --no-first-run, make sure first run doesn't happen (and doesn't happen in subsequent relaunches either without the flag). Review URL: https://chromiumcodereview.appspot.com/20743002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@214709 0039d316-1c4b-4281-b951-d872f2087c98
* Delete the in-process import code (ImporterHost), porting its shared ↵gab@chromium.org2013-07-031-14/+0
| | | | | | | | | | | | | functionality over to ExternalProcessImporterHost which is finally the only host for import! Goes on top of https://codereview.chromium.org/18120005/ and https://codereview.chromium.org/18556002/. BUG=243423, 254672 TEST=Compile + browser_tests --gtest_filter=*Importer* Review URL: https://chromiumcodereview.appspot.com/18052010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210004 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup includes in c/b/first_run/first_run_*.(cc|mm) code.gab@chromium.org2013-07-031-0/+1
| | | | | | | | | | | | | The platform-specific files used to do a lot more, they are now only used for small first_run::internal:: utility methods. Prevents landing of https://codereview.chromium.org/18052010/ BUG=243423 R=grt@chromium.org Review URL: https://codereview.chromium.org/18567004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209866 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 201968 "Revert 201837 "OOP import on Windows.""dbeam@chromium.org2013-05-241-59/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sorry about that, seems to be a different issue - http://crbug.com/177163 > 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 > > Review URL: https://codereview.chromium.org/15968002 TBR=dbeam@chromium.org Review URL: https://codereview.chromium.org/15876003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201977 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 201837 "OOP import on Windows."dbeam@chromium.org2013-05-241-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Review URL: https://codereview.chromium.org/15968002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201968 0039d316-1c4b-4281-b951-d872f2087c98
* OOP import on Windows.gab@chromium.org2013-05-231-59/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@201837 0039d316-1c4b-4281-b951-d872f2087c98
* Record first run startup metrics.gab@chromium.org2013-05-071-1/+1
| | | | | | | | | | | Also fixing first run code to only call startup_metric_utils::SetNonBrowserUIDisplayed() if the dialog is actually displayed (which it isn't in many situations). NOTRY=True (patchset 6 already passed all the try bots, simply updating a string in patchset 7) BUG=237933, 219419 Review URL: https://chromiumcodereview.appspot.com/14946003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198707 0039d316-1c4b-4281-b951-d872f2087c98
* Make ImporterHost delete itself instead of being refcounted.bauerb@chromium.org2013-05-031-2/+3
| | | | | | | | | TBR=sky@chromium.org BUG=23707 Review URL: https://chromiumcodereview.appspot.com/14651007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198169 0039d316-1c4b-4281-b951-d872f2087c98
* Some first_run code cleanups (extracted from ↵gab@chromium.org2013-04-251-4/+4
| | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/12670013 to keep that one minimal and to the point). A) CreateSentinel outside of AutoImport (it didn't belong in there). (this fixes issue 176354 as a side-effect). B) Move first_run::MasterPrefsPath to first_run::internal:: (it wasn't used outside of first_run). C) All decisions mapping MasterPreferences to MasterPrefs at first run should happen in SetupMasterPrefsFromInstallPrefs --> removed individual methods that did their own tweak. D) MasterPrefs default values should be set even if MasterPreferences is NULL. Precursor CL to https://codereview.chromium.org/12670013. BUG=219419, 176354 Review URL: https://chromiumcodereview.appspot.com/14328019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196317 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused ImportProgressDialog.gab@chromium.org2013-04-241-0/+37
| | | | | | | | | | | | | | There was only one Windows-specific/first-run code path for this dialog to be shown, but the first run import should be always silent, and I've run first run many times and have never seen this dialog (the import is probably too fast) anyways. jeffreyc@ gave the go to kill it at https://code.google.com/p/chromium/issues/detail?id=219419#c3 This is a precursor CL to https://codereview.chromium.org/12670013/ TBR=ben@chromium.org BUG=219419 Review URL: https://chromiumcodereview.appspot.com/14322002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196072 0039d316-1c4b-4281-b951-d872f2087c98
* Fix sync promo first run bugssail@chromium.org2013-03-091-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL fixes two small bugs with showing the sync promo on first run. First, if a master prefs file specified start URLs (using "first_run_tabs") then the sync promo wouldn't be shown. Fix was to add the sync promo even if the start URLs was non-empty. Second, on Mac OS X, the "On Startup" pref would incorrectly be migrated to "Continue where I left off". This also caused the sync promo to be skipped. The problem was the profile version pref was not set yet which caused the migration code to assume that an old profile was being migrated. Fix was to check that the pref was actually set. BUG=180521 TEST=Created the following master prefs file: { "homepage" : "http://www.chromium.org/", "homepage_is_newtabpage" : false, "first_run_tabs" : [ "new_tab_page", "welcome_page", "http://cnn.com" ] } Placed the file in /Library/Application Support/Chromium/Chromium Master Preferences Verified that the sync promo showed. Review URL: https://chromiumcodereview.appspot.com/12638005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187093 0039d316-1c4b-4281-b951-d872f2087c98
* Use static flags instead of non-persistent prefs for a couple of first-run ↵joi@chromium.org2013-02-211-3/+0
| | | | | | | | | | | | | | | | features. The prefs for these flags were never being persisted, as they are always cleared once the associated first-run action is taken. If the first-run action is not taken, I don't think it would be better for the prefs to be persisted. TBR=ben@chromium.org BUG=155525 Review URL: https://codereview.chromium.org/12319011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183803 0039d316-1c4b-4281-b951-d872f2087c98
* Support variations_seed parameter in MasterPrefs.asvitkine@chromium.org2013-02-151-2/+2
| | | | | | | | | | | | | | Also, cleans up SetupMasterPrefsFromInstallPrefs() to be more conformant to the style guide and adds a unit test. BUG=175476 TEST=Test that specifying a custom variations_seed in a master prefs file to the installer (via --installerdata=path), results in that seed being used on first run. Review URL: https://chromiumcodereview.appspot.com/12223062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182631 0039d316-1c4b-4281-b951-d872f2087c98
* Add FilePath to base namespace.brettw@chromium.org2013-02-021-6/+9
| | | | | | | This updates headers that forward-declare it and a few random places to use the namespace explicitly. There us a using declaration in file_path.h that makes the rest compile, which we can do in future passes. Review URL: https://codereview.chromium.org/12163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180245 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor first_run, very few things should depend on whether the First Run ↵gab@chromium.org2013-01-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | sentinel itself was present... (i.e. most tasks should not be on if flags such as --no-first-run are present). This is a prerequisite for issue 165048 as we want to be able to launch Chrome with --no-first-run and have two guarantees: 1) No first run tasks happen 2) First Run sentinel is set so that first run never happens for this new Chrome. This also removes PreInteractiveFirstRunInit() and PostInteractiveFirstRunInit() from BrowserMainParts as I just realized AutoImport is now silent and it is thus no longer necessary to split this in two :)! Moved everything to first_run::PostImportTasks(). This CL also buffs --first-run to --force-first-run (to be more explicit); --first-run now overrides --no-first-run as far as first run tasks are concerned (i.e. as far as everything first run related is concerned; except code that specifically looks for --no-first-run on the command line) -- kNoFirstRun used to state it would override kFirstRun, but that wasn't true anyways ans it makes more sense/is more useful the other way around. Now a browser test may specify --force-first-run and get the full first run experience even if the underlying test harness specifies --no-first-run for all tests :). --no-first-run is otherwise unaffected (i.e. same behavior as before) if --force-first-run is not present BUG=165048 TEST= 1) Run chrome.exe --force-first-run from build output and see First Run flow although First Run beacon is present. 2) Delete "First Run" beacon and ensure that chrome.exe --no-first-run both skips the first run and creates the beacon. 3) Ensure that chrome.exe --force-first-run --no-first-run acts the same as chrome.exe --force-first-run. Review URL: https://chromiumcodereview.appspot.com/11636031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174809 0039d316-1c4b-4281-b951-d872f2087c98
* Remove skip_first_run_ui master preference and refactor AutoImport.gab@chromium.org2012-12-201-11/+0
| | | | | | | | | | | | | | | | | | | (tl;dr; if you were using it to suppress the first run bubble: use "suppress_first_run_bubble" instead.) skip_first_run_ui is no longer required; it was blocking the import path which is no longer interactive and a few other things it didn't intend to block anyways (including showing the welcome page and the first run bubble preference). The only UI visible item it was still blocking is the first run bubble, but there is already a pref to suppress that individually ("suppress_first_run_bubble"). The refactor does two things: 1) De-duplicates the code which was split into 3 platform-specific file, but only differed by 1 line on Mac. 2) Extracts some logic that doesn't belong under AutoImport() into a separate method (make chrome default, welcome page, first run bubble pref handling, and a GTK dialog for Chrome metrics (which I guess is something else that fell under skip_first_run_ui, but since I don't think we have linux distribution deals I don't think matters)). BUG=95579,49647 Review URL: https://chromiumcodereview.appspot.com/11635005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174049 0039d316-1c4b-4281-b951-d872f2087c98
* Non-platform specific code for first_run::ProcessMasterPreferences().gab@chromium.org2012-12-121-0/+5
| | | | | | | | | | | | | | Copied Windows code over to first_run.cc and merged POSIX code which had slightly diverged. This enables SetShowFirstRunBubblePref(true) if !skip_first_run_ui on all platforms (this used to only be enabled on POSIX). This enables Delayed Extensions Installs from master preferences on all platforms (this used to be only enabled on Windows). BUG=95579 Review URL: https://chromiumcodereview.appspot.com/11534008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172498 0039d316-1c4b-4281-b951-d872f2087c98
* Return first_run_win to using the Chrome path provider to look up the user ↵robertshield@chromium.org2012-11-191-3/+0
| | | | | | | | | | | | | data dir. This changed in https://chromiumcodereview.appspot.com/10837222/ which causes a regression when the user data dir is overridden via GP. BUG=161336 TEST=Have a group policy set to move the user data dir elsewhere. Ensure that repeated Chrome launches do not go through the first run flow. Review URL: https://chromiumcodereview.appspot.com/11299038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168531 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the rest of #pragma once in one big CL.ajwong@chromium.org2012-07-111-1/+0
| | | | | | | | | For context see this thread: https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II TBR=thakis,pkasting,jam git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the first_run regression issue related to skip_first_run_ui setting ↵jennyz@google.com2012-07-101-1/+3
| | | | | | | | | | | processing. BUG=132353 TEST=First run bubble should appear if skip_first_run_ui is set to false. Review URL: https://chromiumcodereview.appspot.com/10756023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145986 0039d316-1c4b-4281-b951-d872f2087c98
* mac: Correctly set the default rlz ping delay, allow having a per-user ↵thakis@chromium.org2012-04-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | master prefs file. The code that sets the initial rlz ping delay to 90 wasn't called on mac. Call it. On windows, master prefs are next to the chrome binary, so for user chrome installs, the master prefs can be per user. On mac, that's currently not supported, so allow "~/Library/Application Support/Google/Chrome/Google Chrome Master Preferences" in addition to the system master prefs path. BUG=93421,125030 TEST=Do an official build, add a printf for master_prefs_->ping_delay in chrome_browser_main. Verify it prints 90. Put { "distribution" : { "ping_delay": 40 } } in master prefs file, relaunch, verify it prints 40. Review URL: https://chromiumcodereview.appspot.com/10226007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134009 0039d316-1c4b-4281-b951-d872f2087c98
* Progressively refactor FirstRun class to first_run namespace(part 7).jennyz@chromium.org2012-02-151-15/+7
| | | | | | | | | | | | | | | | This cl refactors the rest of FirstRun class to first_run namespace, majorly ProcessMasterPreferences and its related functions. It includes the change to the following functions: ProcessMasterPreferences SkipFirstRunUI SetImportPreferencesAndLaunchImport ShowPostInstallEULAIfNeeded DoDelayedInstallExtensionsIfNeeded BUG=108137 TEST=NONE Review URL: http://codereview.chromium.org/9339003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122023 0039d316-1c4b-4281-b951-d872f2087c98
* Progressively refactor FirstRun to first_run(part 6).jennyz@chromium.org2012-02-031-2/+13
| | | | | | | | | | BUG=108137 TEST=NONE Review URL: http://codereview.chromium.org/9317016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120386 0039d316-1c4b-4281-b951-d872f2087c98
* Progressively refactor FirstRun code to first_run namespace(part 5). This cl ↵jennyz@chromium.org2012-01-281-0/+20
| | | | | | | | | | | | | | | | | | | | refactors: MasterPrefs and some long code block into functions: LoadMasterPrefs CopyPrefFile SetupMasterPrefsFromInstallPrefs This helps to make FirstRun::ProcessMasterPreferences() become shorter and reduce the code duplication when we refactor ProcessMasterPreferences to different platforms in the next step. BUG=108137 TEST=NONE Review URL: http://codereview.chromium.org/9296021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119567 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the first-run search engine dialog/ballot.msw@chromium.org2012-01-261-2/+0
| | | | | | | | | | | | | | | | | | | No changes to the Gtk and Mac first-run (reporting & default browser) dialog. Tested optionally with GYP_DEFINES="branding=Chrome" and "--first-run --organic". Chromium (all platforms): Shows the browser window directly (no dialog). Chrome (Windows): Shows the browser window directly (no dialog). Chrome (Linux and Mac): Shows the first-run (reporting & default browser) dialog before the browser window. TODO(msw): Close crbug.com/111062 for removed test. TODO(msw): Remove search engine icon/image resources (TemplateURL::logo_id_). BUG=107005 TEST=No more standalone search engine selection dialog/ballot, Gtk and Mac first-run dialog works as before. Review URL: http://codereview.chromium.org/9285002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119189 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor FirstRun class to first_run namespace progressively(part 3). This ↵jennyz@chromium.org2012-01-071-0/+7
| | | | | | | | | | | | | | | | | | | cl refactors: ImportFromBrowser ImportBookmarks ImportFromFile ImportNow Remove GetFirstRunSentinelFilePath from first_run.h, which was missed from the previous refactoring cl. BUG=108137 TEST=NONE Review URL: http://codereview.chromium.org/9108026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116804 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor FirstRun class to first_run namespace progressively. This cl refactors:jennyz@chromium.org2012-01-051-1/+38
| | | | | | | | | | | | | | | | | | | | IsOrganicFirstRun() AutoImport() ImportSettings() SetShowFirstRunBubblePref() SetMinimalFirstRunBubblePref() SetShowWelcomePagePref() SetPersonalDataManagerFirstRunPref() PlatformSetup() BUG=108137 TEST=NONE Review URL: http://codereview.chromium.org/9016051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116423 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor FirstRun class code into namespace first_run progressively. This cl ↵jennyz@chromium.org2011-12-281-0/+51
refactors: IsChromeFirstRun() CreateSentinel() RemoveSentinel() GetFirstRunSentinelFilePath() It also fixed an issue that chromeos first run won't create sentinel file, and the following runs always think it is a first run. BUG=108137 TEST=None Review URL: http://codereview.chromium.org/8989043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115925 0039d316-1c4b-4281-b951-d872f2087c98