summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_init.cc
Commit message (Collapse)AuthorAgeFilesLines
* Use string for Histogram names since these are all ASCII anyway.dsh@google.com2009-02-241-1/+1
| | | | | | | | Wide-character literals cause problems between platforms. Review URL: http://codereview.chromium.org/28046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10276 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt at fixing flakeyness when running session restore ui tests insky@google.com2009-02-241-2/+9
| | | | | | | | | | | | | purify. I believe the ui test isn't waiting for the session restore to complete, so that when the ui test does various asserts the state of the browser is wrong. BUG=6495 TEST=covered by tests Review URL: http://codereview.chromium.org/28051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10268 0039d316-1c4b-4281-b951-d872f2087c98
* Add locale_settings.grd to the build. This generatestc@google.com2009-02-181-5/+4
| | | | | | | | | | | | a locale_settings.h file that we use on all platforms. However, the rc generation isn't correct yet, so for now, use the existing locale_settings_*.rc files. Also go ahead and generate the en-US locale pak on linux. Review URL: http://codereview.chromium.org/20447 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9956 0039d316-1c4b-4281-b951-d872f2087c98
* Do two TODOs related to --load-extension:aa@chromium.org2009-02-171-0/+1
| | | | | | | | | | | * Stop watching extension dirs for user script changes. * Stop supporting unversioned extension dirs. Also a few minor related cleanups. Review URL: http://codereview.chromium.org/20390 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9909 0039d316-1c4b-4281-b951-d872f2087c98
* Make session_restore.cc compile on Posix.jhawkins@chromium.org2009-02-141-1/+1
| | | | | | Review URL: http://codereview.chromium.org/21376 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9826 0039d316-1c4b-4281-b951-d872f2087c98
* Build alternate_nav_url_fetcher.cc on posixestade@chromium.org2009-02-141-1/+1
| | | | | | Review URL: http://codereview.chromium.org/24018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9808 0039d316-1c4b-4281-b951-d872f2087c98
* Use real URLFixerUpper. Makes URLs on command line work.evan@chromium.org2009-02-121-1/+1
| | | | | | | Review URL: http://codereview.chromium.org/21303 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9697 0039d316-1c4b-4281-b951-d872f2087c98
* Second try of landing chrome_resources project. Changes from last time:tc@google.com2009-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | - fix scons dependencies by adding a target for grit/theme_resources.h - fix mac build by adding grit to unittest include path - fix check deps by adding rules for /grit dir. Create a chrome_resources.vcproj that holds grd files that hold non-string resources. Put browser_resources.grd into this vcproj. Port theme_resources.rc/theme_resources.h to theme_resources.grd and put it in the vcproj too. I did a find/replace on the theme_resources include line. Modify grit so header files go in grit_generated_resources/grit/ so the include path can be cleaner. I'll migrate the others in follow up patches. theme_resources.rc had a conditional include of distribution_resources.rc so I had to add support for preprocessor defines to visual studio. Review URL: http://codereview.chromium.org/24011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9664 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Create a chrome_resources.vcproj that holds grd files that hold"tc@google.com2009-02-121-1/+1
| | | | | | | | | | This reverts commit r9631. TBR=deanm Review URL: http://codereview.chromium.org/23023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9634 0039d316-1c4b-4281-b951-d872f2087c98
* Create a chrome_resources.vcproj that holds grd files that holdtc@google.com2009-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | | non-string resources. Put browser_resources.grd into this vcproj. Port theme_resources.rc/theme_resources.h to theme_resources.grd and put it in the vcproj too. I did a find/replace on the theme_resources include line. Modify grit so header files go in grit_generated_resources/grit/ so the include path can be cleaner. I'll migrate the others in follow up patches. theme_resources.rc had a conditional include of distribution_resources.rc so I had to add support for preprocessor defines to visual studio. Review URL: http://codereview.chromium.org/20247 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9631 0039d316-1c4b-4281-b951-d872f2087c98
* Porting unit tests in chrome/phajdan.jr@chromium.org2009-02-101-4/+5
| | | | | | | | | | | | | | | | | | | | | - Make following unit tests compile and pass on Linux: browser/ command_updater_unittest.cc metrics/metrics_log_unittest.cc search_engines/template_url_parser_unittest.cc search_engines/template_url_prepopulate_data_unittest.cc - Add renderer/renderer_main_unittest.cc to list of compiled files (currently stubbed out on Linux) - Remove DebuggerWrapper stubs and make more files from browser/debugger build on Linux. - Sync XCode project file. - Misc cleanups needed for GCC. Review URL: http://codereview.chromium.org/21181 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9490 0039d316-1c4b-4281-b951-d872f2087c98
* Revert basically everything I've done today as it fails mysteriouslyevan@chromium.org2009-02-101-1/+0
| | | | | | | and I lack the patience to diagnose why mac doesn't link in libjpeg. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9447 0039d316-1c4b-4281-b951-d872f2087c98
* Bring a bunch more headers into the non-Windows build:evan@chromium.org2009-02-101-0/+1
| | | | | | | | | | | | | - history - autocomplete - bookmarks These were all reviewed separately but turned out to be interdependent. :~( Review URL: http://codereview.chromium.org/21170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9444 0039d316-1c4b-4281-b951-d872f2087c98
* Add UMA counter to track how users launch Chromecpu@google.com2009-02-061-0/+55
| | | | | | | | | | | - Histogram is named Launch.Modes - We have different buckets for : direct execution, webapp, shell, quicklaunch and desktop shortcuts BUG=7216 Review URL: http://codereview.chromium.org/21109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9344 0039d316-1c4b-4281-b951-d872f2087c98
* Add in NavigationController to linux and mac. pinkerton@chromium.org2009-02-051-1/+1
| | | | | | Review URL: http://codereview.chromium.org/21064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9226 0039d316-1c4b-4281-b951-d872f2087c98
* Fix unintentional edit from r9218.kuchhal@chromium.org2009-02-051-1/+1
| | | | | | Review URL: http://codereview.chromium.org/21083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9219 0039d316-1c4b-4281-b951-d872f2087c98
* Open Chrome Window instead of tab when it is launched from a shortcut.kuchhal@chromium.org2009-02-051-4/+7
| | | | | | | | | BUG=7356 Review URL: http://codereview.chromium.org/20074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9218 0039d316-1c4b-4281-b951-d872f2087c98
* Bring many of the template_url classes into the fold for the Mac. Note that ↵avi@google.com2009-02-041-1/+1
| | | | | | | | template_url_model_unittest isn't there; it requires a working database first. Review URL: http://codereview.chromium.org/19714 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9140 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command line flag to load a single extension from an arbitrary ↵erikkay@google.com2009-02-031-4/+7
| | | | | | | | (non-versioned) directory. This is designed for developers to iterate on extension development without having to go through the install process. Review URL: http://codereview.chromium.org/20020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9107 0039d316-1c4b-4281-b951-d872f2087c98
* Remove old web app code it's no longer needed. Simplifies startup a little.ben@chromium.org2009-02-021-119/+112
| | | | | | | | Also fixes a regression from the BrowserInit porting work. I was a little over-zealous removing the CommandLine handling. It turns out that it's this that MessageWindow uses to convey the command line of the signalling process to the existing process, and that the existing process re-runs BrowserInit with the signalling process' command line. So I plumbed that back through again. Review URL: http://codereview.chromium.org/19746 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9034 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land this changelist to make BrowserInit work on Mac.beng@google.com2009-01-311-96/+129
| | | | | | | | R=pinkerton,brettw Review URL: http://codereview.chromium.org/19528 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9019 0039d316-1c4b-4281-b951-d872f2087c98
* Rollback 8998beng@google.com2009-01-311-130/+97
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8999 0039d316-1c4b-4281-b951-d872f2087c98
* Bring up BrowserInit on MacOS X.beng@google.com2009-01-301-97/+130
| | | | | | Review URL: http://codereview.chromium.org/19695 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8998 0039d316-1c4b-4281-b951-d872f2087c98
* Register .crx file handler to install Chrome extensions.mpcomplete@google.com2009-01-301-10/+9
| | | | | | | Have files of that type automatically download and open. Review URL: http://codereview.chromium.org/19403 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8995 0039d316-1c4b-4281-b951-d872f2087c98
* Simple installation of extensions using chrome.exe ↵erikkay@google.com2009-01-291-0/+9
| | | | | | | | --install-extensionChanged manifest filename to end in .json.Updated authoring script to include sha256 hash of zip file. Review URL: http://codereview.chromium.org/18477 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8926 0039d316-1c4b-4281-b951-d872f2087c98
* Remove extraneous uses of the --enable-user-scriptaa@chromium.org2009-01-281-2/+4
| | | | | | | | | | switch. It's better to check this at one chokepoint (initialization) and let the rest of the code work the same, but end up as no-ops. Review URL: http://codereview.chromium.org/18401 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8800 0039d316-1c4b-4281-b951-d872f2087c98
* Move MessageWindow out into its own file. BrowserInit is now ↵ben@chromium.org2009-01-271-275/+3
| | | | | | | | | | cross-platform-capable. Fix up the header includes in browser_init.cc/h removing a bunch of windows stuff. Review URL: http://codereview.chromium.org/19034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8762 0039d316-1c4b-4281-b951-d872f2087c98
* Add user script support to extensions.aa@chromium.org2009-01-251-3/+1
| | | | | | | | | | | | | | | This is implemented mostly by relying on the existing user script code. But since extension user scripts are declared, not discovered in a directory, I had to add support for adding 'lone' user scripts to UserScriptMaster. This led to a bit of refactoring. Note that this CL relies on: http://codereview.chromium.org/18352 Review URL: http://codereview.chromium.org/18198 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8614 0039d316-1c4b-4281-b951-d872f2087c98
* Two things:ben@chromium.org2009-01-241-0/+1
| | | | | | | | | - remove views dependencies from browser by moving profile related dialog actions into BrowserWindow. - simplify the include dependencies in TabStripModel (making it easier to bring up on mac) by implementing more of its high level functionality in the delegate. Review URL: http://codereview.chromium.org/18736 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8606 0039d316-1c4b-4281-b951-d872f2087c98
* Fix SecondLaunch unit test.evan@chromium.org2009-01-211-1/+2
| | | | | | | | | BUG=6722 Review URL: http://codereview.chromium.org/18472 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8410 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-211-26/+24
| | | | | | | | | | | current process's command line. One explicit goal of this change is to *not* deal with the string/wstring issues at the API on POSIX; the functions are the same as before, which means they remain as broken as before. (I did try to fix the internals, though, so migrating the callers is now possible by adding platform-appropriate hooks.) Review URL: http://codereview.chromium.org/18248 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8347 0039d316-1c4b-4281-b951-d872f2087c98
* Fix issue 6296 by using a dedicated delegate instance for each infobar that ↵tim@chromium.org2009-01-161-0/+2
| | | | | | | | | | | | | the PasswordManager opens, rather than always using the PasswordManager itself as the delegate. The crash was occuring because before one infobar completely finished closing (i.e during its close animation), another password infobar would be opened, and for a moment in time two infobars are pointing to the same delegate. When the initial closing animation completes, it would null-out a field (pending_decision_manager_), which the now visible infobar would depend on when the user clicks one of the native buttons. This click would dereference a null member, hence causing the crash. Other clients of infobars seem to be immune to this problem because they either all create dedicated delegate instances per infobar, or they don't reset any state on InfoBarClosed. I think (at the very least) the infobar code should document that it can be risky to use a "shared" delegate due to the possibility of two simultaneously visible infobars referring to the same delegate. Review URL: http://codereview.chromium.org/18065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8236 0039d316-1c4b-4281-b951-d872f2087c98
* Move url_* to net subdirben@chromium.org2009-01-161-1/+1
| | | | | | Review URL: http://codereview.chromium.org/18305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8224 0039d316-1c4b-4281-b951-d872f2087c98
* Move a bunch of TabContents related files into a tab_contents subdirben@chromium.org2009-01-151-2/+2
| | | | | | Review URL: http://codereview.chromium.org/18250 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8058 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes two session restore bugs:sky@google.com2008-12-111-1/+11
| | | | | | | | | | | | | | | | . If the user launches incognito we don't attempt to restore last session and instead just do default launch behavior (new tab page). . Don't show the session restore info bar when launched incognito. I'm assuming that if the user launched in incognito they were previously running incognito so that there is nothing to restore. BUG=4381 5119 TEST=turn on session restore and launch with --incognito, make sure the incognito window comes up. Review URL: http://codereview.chromium.org/13368 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6776 0039d316-1c4b-4281-b951-d872f2087c98
* Makes the tab restore service persist closed tabs/windows to disk andsky@google.com2008-12-061-4/+3
| | | | | | | | | | | | | | | | | reload them when asked. Sorry for largish looking change. It's made big by refactoring common code between TabRestoreService and SessionService into a common superclass. At the same time I removed some dead code and shuffled the session related classes into a single directory for easier perusal. BUG=384 TEST=close the browser, start the browser and make sure the new tab page shows closed windows/tabs from the previous session. Review URL: http://codereview.chromium.org/13152 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6490 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce ExtensionsService. Load extensions on startup from a directory inaa@chromium.org2008-12-051-0/+6
| | | | | | | | | | the profile if a command-line flag is present. Please carefully scrutinize the threading/ref-counting schenanigans. Review URL: http://codereview.chromium.org/12876 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6403 0039d316-1c4b-4281-b951-d872f2087c98
* Tear out all the old infobar code.ben@chromium.org2008-12-031-1/+0
| | | | | | | | http://crbug.com/4620 Review URL: http://codereview.chromium.org/13077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6273 0039d316-1c4b-4281-b951-d872f2087c98
* Convert Alternate NavURL Fetcher to use the new infobar framework.ben@chromium.org2008-12-031-2/+2
| | | | | | | | http://crbug.com/4620 Review URL: http://codereview.chromium.org/13070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6268 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash with plugin installer infobar due to the infobardelegate not being ↵ben@chromium.org2008-11-251-1/+2
| | | | | | | | | | removed from the containing TabContents. http://crbug.com/4620 Review URL: http://codereview.chromium.org/12624 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5957 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land 5929 (r5882) with crash fix and also this change:ben@chromium.org2008-11-251-9/+44
| | | | | | | | | | | http://codereview.chromium.org/11392/show which fixes the remainder of the UI test issues apparently. http://crbug.com/4620 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5954 0039d316-1c4b-4281-b951-d872f2087c98
* Land this change again now I've fixed the crash.ben@chromium.org2008-11-191-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5669 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 5596 because it broke the buildnsylvain@chromium.org2008-11-181-1/+1
| | | | | | Review URL: http://codereview.chromium.org/11439 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5598 0039d316-1c4b-4281-b951-d872f2087c98
* Last couple of bits of new-frame related cleanup:ben@chromium.org2008-11-181-1/+1
| | | | | | | | | | | | | - Remove frame_util.cc, moving functions to BrowserList (endsession) and BrowserView (GetBrowserWindowForHWND) - Tidy up interface for TabIconView model. The model now sources only the information it needs (loading state and favicon). - Replace BrowserType class with an enum on Browser. http://crbug.com/2320 http://crbug.com/3363 Review URL: http://codereview.chromium.org/10786 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5596 0039d316-1c4b-4281-b951-d872f2087c98
* Add Terminate() to the Process object, have RenderProcessHost use this to ↵brettw@google.com2008-11-141-5/+3
| | | | | | | | | | avoid some more Windows specific code. Move Process and SharedMemory into the base namespace (most changes). Review URL: http://codereview.chromium.org/10895 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5446 0039d316-1c4b-4281-b951-d872f2087c98
* Re-do the way browser windows are shown:ben@chromium.org2008-11-141-68/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove the path from WinMain to the Browser object passing the show_command. For the Browser object, this is a problem since this value isn't portable. For the code in general it involves a lot of ugly wiring. It's completely unnecessary since the value is obtainable via GetStartupInfo. - Remove show_command plumbing from all over the place (session restore, web app launcher, etc) Change the way browser windows are constructed: - The browser constructor now takes just a type and a profile, and simply initializes the object. - Some configuration that used to be part of the constructor that was only used in one or two use cases (initial bounds, maximized state, web app name) are split into separate setters. - Window creation is split out into a separate step to be called post configuration. - Assorted static helper functions added to Browser to make construction of common types easy. - Remove Browser::Show in favor of BrowserWindow::Show - Adjust all callers to use the new helpers. Change the way ChromeViews restores window placement: - Split restored size determination from restored maximized determination. They are needed by the code at different times. Size restoration happens when the window is constructed and Window::SetInitialBounds is called. Maximized state restoration happens when the window is shown for the first time and SW_SHOWMAXIMIZED or SW_SHOWNORMAL is needed. Thus, replace WindowDelegate::RestoreWindowPosition with WindowDelegate::RestoreWindowBounds and WindowDelegate::RestoreMaximizedState. - Window::SetInitialBounds calls WindowDelegate::RestoreWindowBounds - Window::Show calls WindowDelegate::RestoreMaximizedState - Adjusts all WindowDelegate implementations that override RestoreWindowPosition to implement these new methods instead. - Move "playback/record" mode window size setting from browser_init to Browser::RestoreWindowBounds. - Provide a virtual function on Window called GetShowState that determines the default show state to be used when Window::Show is called. For most windows and dialogs this is SW_SHOWNORMAL. AeroGlassFrame/OpaqueFrame (the browser window frames) override this since they're the app's main windows to return the value provided by GetStartupInfo which gives the value from the app shortcut. http://crbug.com/3557 Review URL: http://codereview.chromium.org/10896 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5417 0039d316-1c4b-4281-b951-d872f2087c98
* More cleanup in Browser:ben@chromium.org2008-11-111-1/+1
| | | | | | | | | | - remove "RunSimpleFrameMenu" method that isn't used anymore. - rename Browser::GetType() to Browser::type() Review URL: http://codereview.chromium.org/10605 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5209 0039d316-1c4b-4281-b951-d872f2087c98
* Changes session restore to account for apps and popups. If you havesky@google.com2008-10-301-43/+50
| | | | | | | | | | | | | | | | | | | | | session restore enabled any time you transition from no tabbed browsers to a tabbed browser (in the same profile) we restore your last session, where the last session was any previously open tabbed browsers. For example, if you start Chrome from an installed app shortcut then create a new tabbed browser (by any means) we'll restore your last session. This gives the illustion that apps are running in their own process. I would love to have test coverage of this, but I'm loathe to write anymore flakey UI tests. Need to revisit post 1.0. BUG=1883 TEST=thoroughly test session restore, especially with application shortcuts and popups. Review URL: http://codereview.chromium.org/8856 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4202 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb the referrer throughout the OpenURL APIs.ericroman@google.com2008-10-271-1/+1
| | | | | | | | | | | | | http://code.google.com/p/chromium/issues/detail?id=3224 Caveats: * Did not update TabNavigation yet. Hence session restore will continue to load the tabs with empty referrer. * Did not plumb referrer into incognito url open. (Not sure what the right thing to do is here with respect to privacy vs compatibility.) * Did not plumb referrer throughout the automation controller. No functional impact here, but it makes the code inconsistent with the non-automation version. Review URL: http://codereview.chromium.org/8186 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4036 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce header dependencies.evanm@google.com2008-10-221-0/+1
| | | | | | | | | Random files in V8Bindings were getting rebuilt when I touched process_util.h. I tracked it down to stats_table.h and shared_memory.h. This change cuts down some dependencies there; more could be removed if we made some of our FooHandle typedefs into abstract data types instead. Review URL: http://codereview.chromium.org/7307 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3770 0039d316-1c4b-4281-b951-d872f2087c98