summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_process_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* DevTools: Make reloading inspector lead to the complete DevTools Client ↵pfeldman@chromium.org2009-06-051-2/+2
| | | | | | | | | Window reopening. BUG=12956 Review URL: http://codereview.chromium.org/119178 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17725 0039d316-1c4b-4281-b951-d872f2087c98
* Reverts parts of ↵jam@chromium.org2009-05-211-8/+0
| | | | | | | | http://src.chromium.org/viewvc/chrome?view=rev&revision=16474 which aren't needed anymore. Review URL: http://codereview.chromium.org/113669 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16642 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash on browser exit after opening TaskManager.phajdan.jr@chromium.org2009-05-201-0/+8
| | | | | | | | | | | | | | | | | | | | | TaskManager is a singleton, so it's destroyed by AtExitManager. At the time of destruction it cannot register AtExit callbacks (AtExitManager requires that). It turns out that some Windows view code wants to register an AtExit callback during destruction. For more info about view code, see http://src.chromium.org/viewvc/chrome?view=rev&revision=9161 The fix is to destroy the view early, using EnsureShutdown static method of TaskManager. It was also necessary to delete child views a bit earlier to avoid another crashed. Added a regression browser_test and verified that it's broken without this fix. http://crbug.com/11180 Review URL: http://codereview.chromium.org/114031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16474 0039d316-1c4b-4281-b951-d872f2087c98
* Linux download shelf icons first cut.estade@chromium.org2009-05-201-1/+1
| | | | | | | | | Nor do we have support for alternate file formats; nor do we have a default icon. BUG=http://crbug.com/8631 Review URL: http://codereview.chromium.org/113571 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16444 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that IO thread is not called in last actions by SDCH shutdownjar@chromium.org2009-05-131-2/+9
| | | | | | | | | | | | | Unregister the sdch_dictionary_fetcher so that it destroys any pending URLFetcher instances when we are nearing shutdown time. Dictionaries are only *potentially* useful (and not needed) for future SDCH fetches, so abandoning any pending items is safe and harmless. b=9669 r=wtc Review URL: http://codereview.chromium.org/113235 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16015 0039d316-1c4b-4281-b951-d872f2087c98
* Move src/chrome/views to src/views. RS=darin http://crbug.com/11387ben@chromium.org2009-05-081-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15604 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the "pick a new user data dir" dialog on windows.tc@google.com2009-05-061-2/+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
* 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
* Get rid of the ClipboardService class and header... it is nothing but a ↵ben@chromium.org2009-05-051-2/+2
| | | | | | | | | | shell around base::Clipboard now. http://crbug.com/11387 Review URL: http://codereview.chromium.org/105011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15274 0039d316-1c4b-4281-b951-d872f2087c98
* ImportantFileWriterphajdan.jr@chromium.org2009-04-281-2/+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
* Linux: move X operations from the IO to UI2 thread.agl@chromium.org2009-04-221-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (r14075 take two) Currently we perform several X operations on the IO thread including geometry and clipboard work. This is causing races inside Xlib and crashing the browser. These are the result of synchronous calls from the renderer, so we cannot route these requests to the UI thread without risking deadlock. Thus we introduce the UI2 thread. This thread has a second connection to the X server and can perform X operations safely the without UI thread. Work remains to be done: Since we still have the hack where we pass GtkWidget pointers into the renderer and back, we still have to access these structures from the IO and UI2 threads. This still needs to be fixed, but this is not the patch for it. Also, not all the X calls from the IO thread have been moved over in this patch; just a few small ones. http://codereview.chromium.org/67145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14206 0039d316-1c4b-4281-b951-d872f2087c98
* I managed to break test_shell. Reverting. I'll fix tomorrow.agl@chromium.org2009-04-211-15/+0
| | | | | | | Reverts r14075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14080 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: move X operations from the IO to UI2 thread.agl@chromium.org2009-04-211-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we perform several X operations on the IO thread including geometry and clipboard work. This is causing races inside Xlib and crashing the browser. These are the result of synchronous calls from the renderer, so we cannot route these requests to the UI thread without risking deadlock. Thus we introduce the UI2 thread. This thread has a second connection to the X server and can perform X operations safely the without UI thread. Work remains to be done: Since we still have the hack where we pass GtkWidget pointers into the renderer and back, we still have to access these structures from the IO and UI2 threads. This still needs to be fixed, but this is not the patch for it. Also, not all the X calls from the IO thread have been moved over in this patch; just a few small ones. http://codereview.chromium.org/67145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14075 0039d316-1c4b-4281-b951-d872f2087c98
* Currently we have two types of devtools UI: Chrome built in developer tools ↵yurys@google.com2009-03-231-2/+1
| | | | | | | | | | window and remote debugger connected over TCP(apavlov is working on it). To allow DevToolsManager coordinate both types of devtools uniformly their API is extracted into DevToolsClientHost interface. Fix purify errors in DevToolsManager unit tests. BUG=9150 Review URL: http://codereview.chromium.org/50009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12274 0039d316-1c4b-4281-b951-d872f2087c98
* Initial unit tests implementation.yurys@google.com2009-03-171-1/+2
| | | | | | Review URL: http://codereview.chromium.org/42233 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11855 0039d316-1c4b-4281-b951-d872f2087c98
* Move focus related files into a new chrome/views/focus subdirben@chromium.org2009-03-171-1/+1
| | | | | | | | TBR=sky Review URL: http://codereview.chromium.org/48056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11837 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
* DevToolsManager is a service in the browser process that manages all open ↵yurys@google.com2009-03-161-0/+8
| | | | | | | | | | | developer tools windows. It's supposed to route devtoools messages. Also it will notify DevToolsClient when inspected renderer crashes or when it's changes due to cross-site navigation. Currently when inspected tab is closed it will close devtools window as well. Devtools state moved from RenderViewHost and WebContentsView to the manager. Please look at devtools_manager.{h,cc} in the first place. Review URL: http://codereview.chromium.org/42076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11727 0039d316-1c4b-4281-b951-d872f2087c98
* Moving the storing/restoring of the focus from TabContents to ↵jcampan@chromium.org2009-03-121-7/+0
| | | | | | | | | | | | WebContentsView. This makes TabContents less dependent on views. This requires few contortions with DOMUIs (NTP, history and downloads tab) as they still need to set the initial focus specifically. BUG=None TEST=Run the interactive tests. Review URL: http://codereview.chromium.org/39269 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11501 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-101-1/+0
| | | | | | | | | Normalize end of file newlines in chrome/. All files end in a single newline. Review URL: http://codereview.chromium.org/42015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor render view context menu in preparation for porting.estade@chromium.org2009-03-071-1/+1
| | | | | | | | | | * RenderViewContextMenu is now cross platform. Each platform needs to implement an inheritor that fills in the virtual methods. * RenderViewContextMenuController was deleted. Platform agnostic elements from it were added to RenderViewContextMenu, while the Menu::Delegate implemenation was moved to RenderViewContextMenuWin. * Some more (minor) refactoring may need to be performed as the rest of the menu actions are ported. * include clipboard_service.h on all platforms (not sure why it wasn't included before) Review URL: http://codereview.chromium.org/40249 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11183 0039d316-1c4b-4281-b951-d872f2087c98
* Add FilePath setter/getter to pref service. Change callers to use it rather ↵estade@chromium.org2009-03-041-1/+1
| | | | | | | | | | | | | 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
* Remove memory model experimentjar@chromium.org2009-02-251-11/+0
| | | | | | | | | | | We've already removed the histograms (during cleanup of other files) so this just discards the remaining uses of the constants, along with the experiment establishment portion. r=mbelshe Review URL: http://codereview.chromium.org/27032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10352 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash when dns prefetching was being shut down without being started.phajdan.jr@chromium.org2009-02-231-1/+1
| | | | | | | | | | | | | | | | This happened when BrowserMain exited before the point when we initialized dns prefetching, but after BrowserProcessImpl was created. We do shutdown of dns prefetching in ~BrowserProcessImpl. Example way to trigger the crash: open a saved HTML page while Chrome is already running. Change ShutdownDnsPrefetch to EnsureDnsPrefetchingShutdown which does nothing if dns prefetching has not been initialized. This is the simplest way to prevent the crash and we don't want to complicate the startup sequence even more. BUG=7900 Review URL: http://codereview.chromium.org/27048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10201 0039d316-1c4b-4281-b951-d872f2087c98
* Bring download_file, download_manager into POSIX build.estade@chromium.org2009-02-221-1/+1
| | | | | | | | Also shuffle a bunch of headers. Review URL: http://codereview.chromium.org/27024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10155 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
* Clean up dns prefetch code, and also port it.phajdan.jr@chromium.org2009-02-191-0/+6
| | | | | | | | | | | | | | | | | | | | - remove slave threads and use HostResolver in asynchronous mode instead (while still limiting number of concurrent lookups) - make the implementation portable and make DnsMaster unit test compile and pass on Linux - add more tests to DnsMaster unit test to simulate various shutdown scenarios, concurrent lookups, and to verify that we don't exceed our limit of concurrent lookup requests) - remove some tests which relied on specifics of slaves' inner working - adjust initialization and shutdown of dns prefetching (now it relies on the IO message loop being present) Bonus: shutdown is almost instant now, no need to have a timeout. BUG=5687, 6683 Review URL: http://codereview.chromium.org/15076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10021 0039d316-1c4b-4281-b951-d872f2087c98
* Bring up save_package, save_item, save_file_manager on posix.estade@chromium.org2009-02-191-1/+1
| | | | | | Review URL: http://codereview.chromium.org/20479 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9999 0039d316-1c4b-4281-b951-d872f2087c98
* Relocate a NOTIMPLEMENTED() to its proper place.evan@chromium.org2009-02-131-6/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9722 0039d316-1c4b-4281-b951-d872f2087c98
* Port most of MetricsService to Mac and linux.paul@chromium.org2009-02-131-1/+1
| | | | | | Review URL: http://codereview.chromium.org/20338 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9720 0039d316-1c4b-4281-b951-d872f2087c98
* Porting unit tests in chrome/phajdan.jr@chromium.org2009-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | - 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
* Linux: get us to the point where we crash at browser->window()->Show()agl@chromium.org2009-02-051-0/+6
| | | | | | | Review URL: http://codereview.chromium.org/20098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9257 0039d316-1c4b-4281-b951-d872f2087c98
* Port the ResourceDispatcherHost to Mac and linux.paul@chromium.org2009-02-051-3/+6
| | | | | | Review URL: http://codereview.chromium.org/20073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9231 0039d316-1c4b-4281-b951-d872f2087c98
* Will the real BrowserProcessImpl please stand up?beng@google.com2009-02-011-12/+34
| | | | | | Review URL: http://codereview.chromium.org/19743 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9030 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes leak of shutdown event in BrowserProcess.sky@google.com2009-01-231-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/18534 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8555 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-211-1/+1
| | | | | | | | | | | 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
* Move functions required by the rest of the browser from RenderProcessHost to ↵brettw@chromium.org2009-01-161-1/+1
| | | | | | | | an interface and move the implementation to BrowserRenderProcessHost. This will allow me to write render view unit tests without using the actual renderer, but there are no tests yet. Review URL: http://codereview.chromium.org/18132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8188 0039d316-1c4b-4281-b951-d872f2087c98
* Move metrics files into a subdirben@chromium.org2009-01-161-1/+1
| | | | | | Review URL: http://codereview.chromium.org/18302 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8156 0039d316-1c4b-4281-b951-d872f2087c98
* WaitableEvent is the replacement for Windows events. Previously in the code, ↵agl@chromium.org2009-01-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | a HANDLE from CreateEvent was used for signaling, both within a process and across processes. WaitableEvent is the cross platform replacement for this. To convert: * HANDLE -> base::WaitableEvent* * ScopedHandle -> scoped_ptr<base::WaitableEvent> * CreateEvent -> new base::WaitableEvent * SetEvent -> base::WaitableEvent::Signal * ResetEvent -> base::WaitableEvent::Reset * ObjectWatcher -> base::WaitableEventWatcher * WaitForMultipleObjects -> static base::WaitableEvent::WaitMany ObjectWatcher remains for Windows specific code. WaitableEventWatcher has an identical interface save, * It uses WaitableEvents, not HANDLEs * It returns void from StartWatching and StopWatcher, rather than errors. System internal errors are fatal to the address space IMPORTANT: There are semantic differences between the different platforms. WaitableEvents on Windows are implemented on top of events. Windows events work across process and this is used mostly for modal dialog support. Windows events can be duplicated with DuplicateHandle. On other platforms, WaitableEvent works only within a single process. In the future we shall have to replace the current uses of cross-process events with IPCs. BEWARE: HANDLE, on Windows, is a void *. Since any pointer type coerces to void *, you can pass a WaitableEvent * where a HANDLE is expected without any build-time errors. Review URL: http://codereview.chromium.org/16554 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8126 0039d316-1c4b-4281-b951-d872f2087c98
* New attempt at landing the resource_dispatcher_host.cc splitting (broke the ↵jcampan@chromium.org2008-12-231-1/+1
| | | | | | | | | build on Friday). TBR=darin Review URL: http://codereview.chromium.org/15801 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7400 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting my CL to fix build bustage.jcampan@chromium.org2008-12-201-1/+1
| | | | | | | TBR=maruel Review URL: http://codereview.chromium.org/15099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7338 0039d316-1c4b-4281-b951-d872f2087c98
* This CL moves the different resource handlers from ↵jcampan@chromium.org2008-12-201-1/+1
| | | | | | | | | | | | | | | | resource_dispatcher_host.cc into their own files, into a new renderer_host directory. Their is no functionality change in this CL. The motivation for doing that was: - resource_dispatcher_host.cc has become very long and more than 1/3 of the code is for the resource handler. - having the resource handler in their own file allows having unit tests for them. BUG=none TEST=run all unit tests and UI tests. Review URL: http://codereview.chromium.org/14487 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7336 0039d316-1c4b-4281-b951-d872f2087c98
* A new shot at the old system monitor changelist.mbelshe@google.com2008-12-131-3/+0
| | | | | | Review URL: http://codereview.chromium.org/12883 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6974 0039d316-1c4b-4281-b951-d872f2087c98
* Rollbackmbelshe@google.com2008-12-011-0/+3
| | | | | | Review URL: http://codereview.chromium.org/13009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6127 0039d316-1c4b-4281-b951-d872f2087c98
* A new copy of the old system monitor changelist.mbelshe@google.com2008-11-301-3/+0
| | | | | | Review URL: http://codereview.chromium.org/12817 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6126 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/10958mbelshe@google.com2008-11-141-0/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5509 0039d316-1c4b-4281-b951-d872f2087c98
* Change to integrate SystemMonitor changes into chrome.mbelshe@google.com2008-11-141-3/+0
| | | | | | | | | | | | This enables the dynamic detection of battery status changes so that we can turn on/off the hi-res timer. Review URL: http://codereview.chromium.org/10264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5489 0039d316-1c4b-4281-b951-d872f2087c98
* Restore field trial for memory modeljar@google.com2008-10-201-2/+0
| | | | | | | | | | | | Rollback was not needed to correct distributed test regression. This reverts changes in 3608, which were done to try to repair the regression. r=huanr Review URL: http://codereview.chromium.org/7522 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3627 0039d316-1c4b-4281-b951-d872f2087c98
* Disable FieldTrial code to repair UI reliability test regressionjar@google.com2008-10-201-0/+2
| | | | | | | r=mbelshe Review URL: http://codereview.chromium.org/7520 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3608 0039d316-1c4b-4281-b951-d872f2087c98
* Construct a field trial to see if HIGH or MEDIUM memory model "works better"jar@google.com2008-10-191-1/+12
| | | | | | | | | | | | | | Includes definition of a FieldTrial class to support this. I have thoughts in my head about how this will eventually extend to be controllable via UMA (as well as being able to run tests defined at compile time, as was done in this example. r=mbelshe, mmentovai Review URL: http://codereview.chromium.org/7638 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3604 0039d316-1c4b-4281-b951-d872f2087c98