summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_main.cc
Commit message (Collapse)AuthorAgeFilesLines
* Do not monitor system power state during unit tests.phajdan.jr@chromium.org2009-05-271-0/+5
| | | | | | | | | | | | | The observer requires that message loop stays up and same through its lifetime. This is not true during testing. TEST=none http://crbug.com/12187 Review URL: http://codereview.chromium.org/113824 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16976 0039d316-1c4b-4281-b951-d872f2087c98
* linux: Implement a first run dialog.evan@chromium.org2009-05-221-3/+6
| | | | | | | | BUG=11971 Review URL: http://codereview.chromium.org/115722 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16805 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the FirstRun code into Windows-specific and portable.evan@chromium.org2009-05-221-7/+6
| | | | | | | | | BUG=11971 TEST=fresh install of Chrome should still bring up the first run dialog Review URL: http://codereview.chromium.org/115689 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16783 0039d316-1c4b-4281-b951-d872f2087c98
* Respect the kNoFirstRun flag on Mac to not display the UI. This should help ↵jeremy@chromium.org2009-05-221-1/+7
| | | | | | | | solve a problem around this area with the release builders. Review URL: http://codereview.chromium.org/113775 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16764 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: add Breakpad supportagl@chromium.org2009-05-221-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commits a rewrite of the Breakpad Linux client. The old code: * Had a number of plain bugs in it, but those could just have been fixed. * Allocated memory from the heap, which is a no go. * Made libc calls which can enter the dynamic linker - another source of crashes. * Didn't understand some of the tricks needed, like clone() via libc will write to random areas of memory because it assumes that it's only called from libpthread Additionally, we had one more requirement which meant changing the interface: * We need to be able to crash dump the renderers from the browser process. And that last one really needed a rewrite. We intend to try and upstream this new code into Breakpad. The new Breakpad design works like this: When a renderer crashes, a signal handler runs on an alternative stack and collects information about the registers of the thread before the crash. Then we enter Chromium specific code an send a datagram message to a magic file descriptor (4) containing: * the registers and tid of the crashing thread * the active URL * a file descriptor to a socket * a CREDENTIALS structure giving the PID of the renderer. On the other end of the socket is an object on the IO thread (render_crash_handler_host_linux.cc) which reads and parses the datagram. The CREDENTIALS structure is validated by the kernel, so the renderer can't lie about it's PID and try and get the browser to crash dump the wrong process. The browser then ptraces the renderer and extracts all the needed information to write a minidump to a temp file. Then we write a byte to the file descriptor which the renderer gave the browser in the datagram and that's the signal to the renderer to finish dying. It dies by sending itself the same signal which trigger the crash dump in the first place, so it will appear to crash as normal as far as kernel core dumps and waitpid are concerned. The browser then constucts a MIME message in a temp file for upload to the crash service. We then fork out to /usr/bin/wget to actually do the upload (since Debian numbers suggest that 99.8% of users have wget installed.) A second forked child unlinks the temp files once wget has completed. For a browser crash, everything works pretty much the same except that the datagram step is omitted and we clone() off a process to ptrace ourselves and write the minidump. This code is only enabled in Chrome branded builds. Stub source files are substituted in the case of a Chromium build. http://codereview.chromium.org/115526 BUG=9646,10772 TEST=Build a Chrome branded binary. Send SEGV to a renderer and verify that wget output appears on stderr. Send a SEGV to the main binary and verify the same. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16719 0039d316-1c4b-4281-b951-d872f2087c98
* Implement temporary First Run Dialog on OS Xjeremy@chromium.org2009-05-211-0/+19
| | | | | | | | | | | | | | | | | | | | | | We use a modal dialog with a single checkbox on OS X. We use the OSX defaults system since we want something quick and reliable. The dialog is displayed at a very early stage in Chrome startup (Before any subsystems start relying on the stats variable). This means there are a few quirks in displaying the UI. A change was also needed to our event handling code since when the dialog is shown we spin an event loop at a very early stage in the process lifetime. Changed default value for stats to false and updated unit tests to reflect that. Also some misc. minor cleanup. BUG=11971,12046 Review URL: http://codereview.chromium.org/115608 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16669 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for alternate window station.nsylvain@chromium.org2009-05-201-6/+22
| | | | | | | | | | TEST: Start chrome, make sure it loads pages, then user process explorer to make sure the WindowStation handle name is not the same as the browser process. BUG:10996 Review URL: http://codereview.chromium.org/113190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16483 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up stats reporting via default system on OS X.jeremy@chromium.org2009-05-181-1/+4
| | | | | | | | | | | | | | Allow enabling/disabling stats via user defaults. Fix breakpad to read from global stats setting. To disable stats, type the following in the terminal: defaults write com.google.Chrome usagestats -bool NO BUG=12046 Review URL: http://codereview.chromium.org/113549 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16333 0039d316-1c4b-4281-b951-d872f2087c98
* linux: unify all the dialog layout code for visual consistency.evan@chromium.org2009-05-181-0/+7
| | | | | | | | | | | We follow the GNOME HIG where possible, which mostly means the pixel spacing of the borders and buttons in dialogs. BUG=12056 Review URL: http://codereview.chromium.org/113539 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16320 0039d316-1c4b-4281-b951-d872f2087c98
* Remove even more ATL dependencies.maruel@chromium.org2009-05-141-0/+5
| | | | | | Review URL: http://codereview.chromium.org/115309 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16088 0039d316-1c4b-4281-b951-d872f2087c98
* Add a separate cookie store that's used for extensions.mpcomplete@google.com2009-05-141-0/+7
| | | | | | | Modify CookieMonster to support overriding the "cookieable schemes". Review URL: http://codereview.chromium.org/115204 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16083 0039d316-1c4b-4281-b951-d872f2087c98
* metrics: don't record metrics unless user has opted-in.evan@chromium.org2009-05-131-3/+3
| | | | | | | | | | This worked before, but regressed for Chromium builds. BUG=2278 Review URL: http://codereview.chromium.org/113350 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15985 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 15965. I wasn't supposed to check that in since it still doesn't ↵maruel@chromium.org2009-05-131-5/+0
| | | | | | | | | compile on linux and mac! TBR=sky Review URL: http://codereview.chromium.org/113351 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15967 0039d316-1c4b-4281-b951-d872f2087c98
* Remove even more ATL dependencies.maruel@chromium.org2009-05-131-0/+5
| | | | | | Review URL: http://codereview.chromium.org/115309 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15965 0039d316-1c4b-4281-b951-d872f2087c98
* Add customized first run tabscpu@google.com2009-05-091-2/+26
| | | | | | | | | | | | | - More refactor of BrowserInit and LaunchWithProfile - hardcoded magic names : new_tab_page and welcome_page BUG=9706 TEST=see the bug for detailed instructions. Review URL: http://codereview.chromium.org/115139 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15701 0039d316-1c4b-4281-b951-d872f2087c98
* Move win_util.h from common to app.ben@chromium.org2009-05-081-1/+1
| | | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/113169 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15694 0039d316-1c4b-4281-b951-d872f2087c98
* Move src/chrome/views to src/views. RS=darin http://crbug.com/11387ben@chromium.org2009-05-081-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15604 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor BrowserInit in preparation for customized first run tabscpu@google.com2009-05-071-13/+16
| | | | | | | | | | | | | | | - BrowserInit is now a instanciable class - The 'bag of static functions' part is mostly unchanged - unused members in the interface moved to the cc file TEST= no visible change. interactive UI tests sufice BUG=9706 Review URL: http://codereview.chromium.org/113113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15595 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the "pick a new user data dir" dialog on windows.tc@google.com2009-05-061-3/+4
| | | | | | | | | | | | | | | | There were three things to be fixed: 1) We don't need to run a separate message loop after the dialog closes. The MessageLoopForUI handles this properly. 2) When tearing down browser_process_impl, io_loop hasn't been initialized yet, so we check to make sure it exists before using it. 3) We don't call window->Close() because that deletes the dialog class before we're done using it. This means we leak the window, but that's ok because we're going to exit anyway. Review URL: http://codereview.chromium.org/114004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15422 0039d316-1c4b-4281-b951-d872f2087c98
* Change chrome-ui to chrome. I didn't go too far in converting existing ↵glen@chromium.org2009-05-061-1/+1
| | | | | | | | | | | | | | strings to using the url_constant (shipshipship). Users (such as those on Beta and Dev using session restore) attempting to load the old pages will see a blank white screen. BUG=11272 TEST=Verify that the inspector, debugger, history, downloads and newtab pages load with chrome:// URLS. Verify that replacing the chrome:// with chrome-ui:// does not work. Review URL: http://codereview.chromium.org/101026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15378 0039d316-1c4b-4281-b951-d872f2087c98
* Move l10n_util to app/ben@chromium.org2009-05-051-1/+1
| | | | | | | http://crbug.com/11387 Review URL: http://codereview.chromium.org/109043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15352 0039d316-1c4b-4281-b951-d872f2087c98
* Adding first run bypass command line flag.robertshield@google.com2009-05-051-1/+4
| | | | | | | This allows the browser to start up without ever showing the first run UI, regardless of whether the First Run sentinel file is present. Quite useful for automated testing ;-) Review URL: http://codereview.chromium.org/99344 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15329 0039d316-1c4b-4281-b951-d872f2087c98
* Adds toplevel app/ directory and moves ResourceBundle into it.ben@chromium.org2009-05-051-1/+1
| | | | | | | | | | | No changes to resource bundle yet, just the move to keep this CL as compact as possible. Adds new vcproj and gyp file for app dir. http://crbug.com/11387 Review URL: http://codereview.chromium.org/100354 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15264 0039d316-1c4b-4281-b951-d872f2087c98
* Fix multiple instances of first run dialog appearing when Chrome is started ↵robertshield@google.com2009-05-031-5/+1
| | | | | | | | | | again while a first run dialog is visible. Also cause the original first run dialog to come to foreground. BUG=http://crbug.com/10765 Review URL: http://codereview.chromium.org/99281 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15170 0039d316-1c4b-4281-b951-d872f2087c98
* ImportantFileWriterphajdan.jr@chromium.org2009-04-281-1/+2
| | | | | | | | | | | | | | Introducing a class for writing important files, preventing their corruption during writing. Switched PrefService to use it. Other classes will be switched in future changesets. TEST=This may affect things using preferences. Make sure that changes in preferences don't get lost, and that you don't get excessive disk activity when changing preferences. http://crbug.com/10618 Review URL: http://codereview.chromium.org/83001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14717 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: = {0} syntax causes a warning.agl@chromium.org2009-04-281-1/+2
| | | | | | | (Replace with memset) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14708 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: don't spawn zombies.agl@chromium.org2009-04-281-0/+15
| | | | | | | | | http://codereview.chromium.org/93147 BUG=9401 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14705 0039d316-1c4b-4281-b951-d872f2087c98
* Implement (kinda) ProcessSingleton for the Mac.avi@google.com2009-04-211-4/+1
| | | | | | Review URL: http://codereview.chromium.org/88031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14136 0039d316-1c4b-4281-b951-d872f2087c98
* Add a FieldTrial and histograms for measuring impact of http prioritization.willchan@chromium.org2009-04-201-0/+9
| | | | | | | | | Currently this FieldTrial is measuring the transaction latencies of requests, separated into frame/subframe requests vs subresource requests. We run a 2% holdback experiment where the people in the holdback don't have http prioritization enabled. Add class static method to ResourceDispatcherHost to disable http prioritization. BUG=10486 Review URL: http://codereview.chromium.org/67119 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14040 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/62160robertshield@google.com2009-04-131-0/+11
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13600 0039d316-1c4b-4281-b951-d872f2087c98
* DNS prefetch experiment extension: Consider different connection count limitsjar@chromium.org2009-04-081-5/+19
| | | | | | | | | | | | This CL both enables selection of a run-time selected limit on the number of connections to a single host, and varies that limit to see how it relates to DNS prefetch latency in connections. r=wtc Review URL: http://codereview.chromium.org/62083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13339 0039d316-1c4b-4281-b951-d872f2087c98
* Disable user metrics reporting for chromium builds.rvargas@google.com2009-04-071-2/+9
| | | | | | Review URL: http://codereview.chromium.org/62071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13286 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to detect impact of disabling dns prefetching on transaction latencyjar@chromium.org2009-03-231-4/+14
| | | | | | | | | This is also meant to exercise the field trial infrastructure. r=mbelshe Review URL: http://codereview.chromium.org/50084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12271 0039d316-1c4b-4281-b951-d872f2087c98
* Reuse the eula terms from the chrome resourcescpu@google.com2009-03-191-9/+13
| | | | | | | | | | | - that outta reduce the fat that setup.exe gained - this is the chrome side of the fix BUG=8894 Review URL: http://codereview.chromium.org/48114 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12046 0039d316-1c4b-4281-b951-d872f2087c98
* Move widget related files into views/widgetben@chromium.org2009-03-171-1/+1
| | | | | | | TBR=sky git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11811 0039d316-1c4b-4281-b951-d872f2087c98
* Fix directory listings in mac and linux by making sure the codetc@google.com2009-03-111-5/+3
| | | | | | | | | for loading the template is enabled and the resource exists. Review URL: http://codereview.chromium.org/42053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11462 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of --start-renderers-manually since it's been broken for a long time ↵jam@chromium.org2009-03-101-2/+2
| | | | | | | | (the browser needs the renderer's handle to duplicate handles). Review URL: http://codereview.chromium.org/43035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11379 0039d316-1c4b-4281-b951-d872f2087c98
* Make startup_tests build and run on Linux (except reference tests).phajdan.jr@chromium.org2009-03-051-1/+0
| | | | | | Review URL: http://codereview.chromium.org/27240 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10978 0039d316-1c4b-4281-b951-d872f2087c98
* Add FilePath setter/getter to pref service. Change callers to use it rather ↵estade@chromium.org2009-03-041-2/+2
| | | | | | | | | | | | | than the string methods. Update the pref service unit test and enable it on linux. Also switch over some wstrings to filepaths where appropriate. BUG=8154 Review URL: http://codereview.chromium.org/27354 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10844 0039d316-1c4b-4281-b951-d872f2087c98
* revert broken change 10833nsylvain@chromium.org2009-03-031-18/+12
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10837 0039d316-1c4b-4281-b951-d872f2087c98
* Port DictionaryValue to use string16 instead of wstring.dsh@google.com2009-03-031-12/+18
| | | | | | | Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=10818 Review URL: http://codereview.chromium.org/31014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10833 0039d316-1c4b-4281-b951-d872f2087c98
* Revert dsh's change 10818nsylvain@chromium.org2009-03-031-17/+12
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10821 0039d316-1c4b-4281-b951-d872f2087c98
* Port DictionaryValue to use string16 instead of wstring.dsh@google.com2009-03-031-12/+17
| | | | | | Review URL: http://codereview.chromium.org/31014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10818 0039d316-1c4b-4281-b951-d872f2087c98
* Move chrome/apps/result_codes.h to chrome/common/result_codes.hthestig@chromium.org2009-03-031-1/+1
| | | | | | Review URL: http://codereview.chromium.org/28279 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10761 0039d316-1c4b-4281-b951-d872f2087c98
* Drop whitespace at end of linewillchan@chromium.org2009-02-271-2/+0
| | | | | | | | | | Fix formatting for initializer list Use ASSERT_GE when appropriate Don't #include a header twice etc Review URL: http://codereview.chromium.org/28137 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10650 0039d316-1c4b-4281-b951-d872f2087c98
* Remove zombie hunting on startup.deanm@chromium.org2009-02-261-2/+0
| | | | | | | | | | | We are hopefully over our zombie problems, and this can cause other troubles. This should also improve startup performance, since we don't need to iterate all processes on the system on startup. BUG=6468 Review URL: http://codereview.chromium.org/27203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10471 0039d316-1c4b-4281-b951-d872f2087c98
* Wire up resource bundles on the mac:thomasvl@chromium.org2009-02-261-2/+0
| | | | | | | | | | | | | - compile resource_bundle - add resource_bundle_mac by cloning the linux and using some NSBundle to find the files. - enable resource bundles on the mac in the calling code. - added script to app target to repack .pak files into larger chunks (chrome, theme, and localized bits). - added script to copy repacked files into the app bundle. Review URL: http://codereview.chromium.org/28171 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10460 0039d316-1c4b-4281-b951-d872f2087c98
* Update include paths for grit files. Go ahead and resorttc@google.com2009-02-221-4/+3
| | | | | | | | the headers too. Review URL: http://codereview.chromium.org/21472 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10167 0039d316-1c4b-4281-b951-d872f2087c98
* Make plugin_service.cc compile on Posix.jhawkins@chromium.org2009-02-201-1/+1
| | | | | | Review URL: http://codereview.chromium.org/20531 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10102 0039d316-1c4b-4281-b951-d872f2087c98
* Make user_data_manager.cc compile on Posix.jhawkins@chromium.org2009-02-201-1/+1
| | | | | | Review URL: http://codereview.chromium.org/20525 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10074 0039d316-1c4b-4281-b951-d872f2087c98