summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_process_impl.h
Commit message (Collapse)AuthorAgeFilesLines
* Policy to disable printinggfeher@chromium.org2010-10-011-2/+2
| | | | | | | | | | | | | Make Chrome refuse to print if the preference kPrintingEnabled is set to false. In this case, the 'Print...' option in the wrench menu is disabled, and if printing is invoked from JavaScript, then Chrome reports that no printer is installed. Changes to this preference after startup are also respected. BUG=54380 TEST=manual Review URL: http://codereview.chromium.org/3357011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61222 0039d316-1c4b-4281-b951-d872f2087c98
* Create DownloadStatusUpdater to keep track of download progressphajdan.jr@chromium.org2010-09-271-0/+7
| | | | | | | | | | | | | | | and update the application icon. We can't do that in DownloadManager because there are multiple DownloadManagers (one per Profile) and they would overwrite each other's updates. BUG=none TEST=none Review URL: http://codereview.chromium.org/3454018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60625 0039d316-1c4b-4281-b951-d872f2087c98
* Typo fix.avi@chromium.org2010-09-221-2/+2
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3455014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60201 0039d316-1c4b-4281-b951-d872f2087c98
* Policy: plugins disabled by policy should honor policy changes without ↵danno@chromium.org2010-09-101-0/+5
| | | | | | | | | | | Chrome relaunch. BUG=54620 TEST=PrefChangeRegistrarTest.* Review URL: http://codereview.chromium.org/3316007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59094 0039d316-1c4b-4281-b951-d872f2087c98
* Initial version of chrome.experimental.sidebar extension API. brettw@chromium.org2010-08-191-0/+5
| | | | | | | | | | | | | | BUG=51084 TEST=Run interactive_ui_tests and browser_tests. New: - sidebar Extension API (design doc: https://docs.google.com/a/google.com/Doc?docid=0AV4Qg3xyZ8RQZGZtbWIydDJfNWc0eHJtbmRm&hl=en); - Sidebar panel in Chrome browser view; Original review=http://codereview.chromium.org/2836040/show Patch by alekseys@google.com git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56716 0039d316-1c4b-4281-b951-d872f2087c98
* Added BackgroundModeManager which tracks when background apps are ↵atwilson@chromium.org2010-08-181-4/+0
| | | | | | | | | | | | | | | | | | | | loaded/unloaded and puts Chrome into BackgroundMode appropriately. Added EXTENSION_UNINSTALLING notification which is sent out when a notification is about to be uninstalled. Refactored StatusTray code to move StatusTray under the profile rather than attaching it to the browser process, and removed StatusTrayManager which is no longer needed now that BackgroundModeManager handles creating status icons. BUG=43382 TEST=background_mode_manager_unittests.cc Review URL: http://codereview.chromium.org/3134011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56596 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Continual header pruningerg@google.com2010-07-221-164/+25
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3029019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53391 0039d316-1c4b-4281-b951-d872f2087c98
* chromeos: except when signing off, disallow closing of last NTP of last ↵kuan@chromium.org2010-07-141-0/+11
| | | | | | | | | | | non-incognito normal browser, in which case, the window also cannot be closed. if the last normal browser is closeable and user closes it or the last tab in it, if it's a incognito browser, a new non-incognito browser will be opened, else the browser stays opened with all tabs closed and a NTP opened. before-unload-handlers are also taken care of. BUG=chromium-os:2711,chromium-os:3479,chromium-os:2568 TEST=verify per bug report. Review URL: http://codereview.chromium.org/2069002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52328 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: add stub for HTTP-based remote debugger interface.pfeldman@chromium.org2010-07-061-10/+4
| | | | | | Review URL: http://codereview.chromium.org/2802032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51661 0039d316-1c4b-4281-b951-d872f2087c98
* Win: Fix race possible during startup before first Browser is created.mattm@chromium.org2010-06-101-1/+2
| | | | | | | | | BUG=38572 TEST=uitest, also "chrome/Debug/chrome.exe & chrome/Debug/chrome.exe" Review URL: http://codereview.chromium.org/2664004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49348 0039d316-1c4b-4281-b951-d872f2087c98
* Create a dedicated cache thread and use it to create thervargas@google.com2010-05-181-0/+11
| | | | | | | | | | | Http cache. BUG=26730 TEST=none Review URL: http://codereview.chromium.org/1989014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47564 0039d316-1c4b-4281-b951-d872f2087c98
* r46025 reverted r46023 which caused a build break on chromeos.prasadt@chromium.org2010-04-301-4/+4
| | | | | | | | | | | | | | | This change reverts r46025 and fixes the build break which is just a one line change in chrome/browser/first_run_gtk.cc to move the definition of Upgrade::new_command_line_ to be inside a #if. Details on the change and code review feedback for the original CL can be found at http://codereview.chromium.org/1633021. BUG=40975 TEST=none Review URL: http://codereview.chromium.org/1691022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46103 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r46023: "Detect new instance of the browser when running in the ↵willchan@chromium.org2010-04-301-4/+4
| | | | | | | | | | background in persistent" Broke the build. Review URL: http://codereview.chromium.org/1718024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46025 0039d316-1c4b-4281-b951-d872f2087c98
* Detect new instance of the browser when running in the background in persistentprasadt@chromium.org2010-04-301-4/+4
| | | | | | | | | | | | | | | | | | mode, shutdown and restart the new instance. This is already done for Windows, this CL enables the functionality for Linux. We don't yet have a unit test for this. Local testing is done by: 1) Reducing the timer to 30 seconds. 2) Changing BrowserList::IsInPersistentMode to return true. 3) Setting BrowserProcessImpl::autoupdate_timer_ to 30 seconds interval. 4) Running "touch" command on chrome exe to pretend there is an update. BUG=40975 TEST=none Review URL: http://codereview.chromium.org/1633021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46023 0039d316-1c4b-4281-b951-d872f2087c98
* Auto restart when update available while running in the background on windows.atwilson@chromium.org2010-04-091-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | Landing on behalf of dbelenko@google.com. This is a new version of the older patch. Main changes include: 1. Rebased to a never Git revision to make things easier to land. 2. Chrome will now preserve the command line switches except for those that are blacklisted. 3. Fixed a race condition that would cause the browser to think it didn't exit cleanly after it's been restarted. 4. Fixed minor nits and omissions (indentation, etc). This patch adds a timer which fires every 6 hours and checks whether the browser is in the "persistent" (background) mode, and whether there's an update pending restart. If both conditions are true, the browser is restarted with blacklisted command line keys and all loose values stripped. In order to restart the browser in the background mode, the --long-lived-extensions key is also added to the command line. This change is Windows-only, and it won't become fully functional until Drew (atwilson) checks in his work that enables Chrome to go into background. Additionally, this addresses an issue where a restarted browser might load its profile data before the previous browser process exited - we now load the profile data *after* trying to contact the other browser. This exposed a race condition in SessionRestoreUITest.RestoreAfterClosingTabbedBrowserWithAppAndLaunching, so we disabled that test and logged http://crbug.com/40946. BUG=40975,40946 Review URL: http://codereview.chromium.org/1618012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44121 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 43989 - This is a new version of the older patch. Main changes include:atwilson@chromium.org2010-04-091-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 1. Rebased to a never Git revision to make things easier to land. 2. Chrome will now preserve the command line switches except for those that are blacklisted. 3. Fixed a race condition that would cause the browser to think it didn't exit cleanly after it's been restarted. 4. Fixed minor nits and omissions (indentation, etc). This patch adds a timer which fires every 6 hours and checks whether the browser is in the "persistent" (background) mode, and whether there's an update pending restart. If both conditions are true, the browser is restarted with blacklisted command line keys and all loose values stripped. In order to restart the browser in the background mode, the longlivedextensions key is also added to the command line. This change is Windowsonly, and it won't become fully functional until Drew (atwilson) checks in his work that enables Chrome to go into background. Review URL: http://codereview.chromium.org/1617001 TBR=atwilson@chromium.org Review URL: http://codereview.chromium.org/1517027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44041 0039d316-1c4b-4281-b951-d872f2087c98
* This is a new version of the older patch. Main changes include:atwilson@chromium.org2010-04-081-0/+15
| | | | | | | | | | | | | | | | | | | | | | | 1. Rebased to a never Git revision to make things easier to land. 2. Chrome will now preserve the command line switches except for those that are blacklisted. 3. Fixed a race condition that would cause the browser to think it didn't exit cleanly after it's been restarted. 4. Fixed minor nits and omissions (indentation, etc). This patch adds a timer which fires every 6 hours and checks whether the browser is in the "persistent" (background) mode, and whether there's an update pending restart. If both conditions are true, the browser is restarted with blacklisted command line keys and all loose values stripped. In order to restart the browser in the background mode, the --long-lived-extensions key is also added to the command line. This change is Windows-only, and it won't become fully functional until Drew (atwilson) checks in his work that enables Chrome to go into background. Review URL: http://codereview.chromium.org/1617001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43989 0039d316-1c4b-4281-b951-d872f2087c98
* Final removal of the bad dependency of chrome/common on chrome/browserphajdan.jr@chromium.org2010-03-101-20/+0
| | | | | | | | | | | Also convert app/gtk_dnd_util.h from a class to a namespace for consistency with added app/gtk_util.h. TEST=none BUG=none Review URL: http://codereview.chromium.org/669268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41177 0039d316-1c4b-4281-b951-d872f2087c98
* Initial implementation of status tray functionality (mac-only, currently).atwilson@chromium.org2010-03-061-0/+11
| | | | | | | | | | | | Added Mac implementation of StatusIcon, and added a simple click callback that displays the "extensions" tab when clicked on, to allow us to dogfood long-lived extensions. BUG=37375 Review URL: http://codereview.chromium.org/661454 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40847 0039d316-1c4b-4281-b951-d872f2087c98
* Next part of removing the dependency of chrome/common on chrome/browserphajdan.jr@chromium.org2010-03-061-3/+1
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/669184 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40834 0039d316-1c4b-4281-b951-d872f2087c98
* BSD port: another chunk of chrome/browser ifdef cleaningpvalchev@google.com2010-02-031-2/+2
| | | | | | Review URL: http://codereview.chromium.org/553153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38004 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 37913. Clear local state on exit.jochen@chromium.org2010-02-031-0/+4
| | | | | | | | | BUG=32719 TEST=none Review URL: http://codereview.chromium.org/560024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37936 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 37913 - Clear local state (cookies, databases, local storage) on exit.chase@chromium.org2010-02-031-4/+0
| | | | | | | | | | | | BUG=32719 TEST=none Review URL: http://codereview.chromium.org/564012 TBR=jochen@chromium.org Review URL: http://codereview.chromium.org/564023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37915 0039d316-1c4b-4281-b951-d872f2087c98
* Clear local state (cookies, databases, local storage) on exit.jochen@chromium.org2010-02-031-0/+4
| | | | | | | | | BUG=32719 TEST=none Review URL: http://codereview.chromium.org/564012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37913 0039d316-1c4b-4281-b951-d872f2087c98
* Pull IOThread out of BrowserProcessImpl. Move the dns prefetching ↵willchan@chromium.org2010-01-221-3/+2
| | | | | | | | | | | initialization into IOThread. The global host resolver and dns master have changed to be member variables of IOThread. BUG=26156,26159 Review URL: http://codereview.chromium.org/553026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36866 0039d316-1c4b-4281-b951-d872f2087c98
* Add autodetection of "intranet" redirection, for ISPs etc. that send typos ↵pkasting@chromium.org2010-01-081-1/+10
| | | | | | | | | | and nonexistent addresses to custom pages, and plumb it to the code that puts up infobars when users type in a search that appears to be an intranet address, so we don't show these for erroneous cases. BUG=31556 TEST=none Review URL: http://codereview.chromium.org/525079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35807 0039d316-1c4b-4281-b951-d872f2087c98
* Speculative fix for a chrome browser crash which occurs with ChromeFrame. ↵ananta@chromium.org2009-12-151-14/+2
| | | | | | | | | | | | | | | | | | | | Based on the crash dump, the crash occurs when the external tab container is being destroyed which in turn takes down the automation provider and the channel, etc. All this occurs in the context of OleUninitialize, which executes after BrowserMain returns, i.e. the message loop is now invalid, thus causing a crash while attempting to post a task to it. Based on this call stack it looks like it happens due to the enable-renderer-accessisibility flag. Fix is to move the OleInitialize/OleUnitialize calls to Platform::WillInitializeMainMessageLoop and Platform::DidEndMainMessageLoop. The Platform::DidEndMainMessageLoop function now executes as a task which is posted to the message loop prior to quitting it. This would ensure that the cleanup happens correctly. Fixes http://code.google.com/p/chromium/issues/detail?id=30383 Bug=30383 Review URL: http://codereview.chromium.org/501011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34611 0039d316-1c4b-4281-b951-d872f2087c98
* Make BrowserProcess::GetApplicationLocale thread safe and migratetony@chromium.org2009-12-101-1/+7
| | | | | | | | | | | | | | | | | callers of l10n_util::GetApplicationLocale to use this instead. In the browser process, it's wrong to call l10n_util::GetApplicationLocale with an empty string because then it won't consider the user pref value when resolving the locale. On Linux, it's also wrong to call l10n_util::GetApplicationLocale after startup because the call touches disk and on Linux, we assume that all of the program files can be deleted after startup (so updates in place can work). Review URL: http://codereview.chromium.org/476002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34206 0039d316-1c4b-4281-b951-d872f2087c98
* Assorted cleanup.estade@chromium.org2009-11-231-2/+0
| | | | | | | | process: grep for TODO(port), find cruft, clean it up Review URL: http://codereview.chromium.org/427004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32844 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bug when accessing g_browser_process->broker_services() at shutdown.jam@chromium.org2009-11-231-4/+12
| | | | | | | BUG=28501 Review URL: http://codereview.chromium.org/435001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32832 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r31665: themed mac startup time regressionapavlov@chromium.org2009-11-111-4/+0
| | | | | | | | | | BUG=none TEST=none TBR=yurys@chromium.org Review URL: http://codereview.chromium.org/387027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31685 0039d316-1c4b-4281-b951-d872f2087c98
* Set have_inspector_files_ in the UI thread as it is only read from that thread.apavlov@chromium.org2009-11-111-0/+4
| | | | | | | | | BUG=24419 TEST=TSAN Review URL: http://codereview.chromium.org/391017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31665 0039d316-1c4b-4281-b951-d872f2087c98
* Connect the various pieces for notifications... hook up ↵johnnyg@chromium.org2009-10-301-0/+12
| | | | | | | | | | | NotificationUIManager to BrowserProcess to DesktopNotificationService to RenderView. BUG=none TEST=none Review URL: http://codereview.chromium.org/342043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30557 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all MemoryModel-related code, since we're unlikely to use it again. ↵pkasting@chromium.org2009-09-301-7/+0
| | | | | | | | | | | | Also changes some sample code to use a random generic name ("PruningAlgorithm") instead of MemoryModel in hopes that no one will be confused. This does not remove IdleTimer, even though it now has no users. I do plan to remove it, but I want to do that in a separate commit so it's easy to reference and revert if at some later point we want this functionality. BUG=none TEST=none Review URL: http://codereview.chromium.org/242079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27652 0039d316-1c4b-4281-b951-d872f2087c98
* Implement about:ipc dialog for Mac.jrg@chromium.org2009-09-281-0/+9
| | | | | | | | | Convert IPC logging trigger from x-process waitable event to a messages sent to all processes. Review URL: http://codereview.chromium.org/192070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27405 0039d316-1c4b-4281-b951-d872f2087c98
* Mask the BrokerServices class behind an ifdef for Windows only; Linux and ↵jhawkins@chromium.org2009-08-211-1/+7
| | | | | | | | | | Mac have their own sandboxes. Remove the corresponding stubs from temp_scaffolding_stubs.h. BUG=none TEST=none Review URL: http://codereview.chromium.org/173228 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24032 0039d316-1c4b-4281-b951-d872f2087c98
* Don't show "Inspect Element" in the context menu if we can't inspect.agl@chromium.org2009-08-211-0/+12
| | | | | | | | | | Ubuntu want to ship with the inspector files in a separate package and having menu items which are broken isn't nice. http://codereview.chromium.org/174162 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23927 0039d316-1c4b-4281-b951-d872f2087c98
* Add checks to DEBUG mode that no instance of URLRequest or URLFetcher ↵ericroman@google.com2009-08-111-0/+4
| | | | | | | | | | | | | | | | | | | | survives the destruction of the IO thread. This checking is done by introducing a new helper class to base called LeakTracker. Classes that you want to check for leaks just need to extend LeakTracker. The reason I am picking on URLFetcher / URLRequest, is I believe we have a bug that is making an instance of URLFetcher to outlive the IO thread. This causes various sorts of badness. For example: If URLFetcher survives the IO thread, then URLRequestContext remains referenced and therefore also survives IO thread. In turn HostResolverImpl survives the IO thread, so any outstanding resolve requests are NOT cancelled before the IO thread is decomissioned. So now, when the worker thread doing the DNS resolve finally finishes (assuming it finishes before the rogue URLRequest is destroyed), it post the result to a defunct message loop. KAB00m! (http://crbug.com/15513) Moreover, I believe we hit this same problem sporadically in AutomationProxyTest.AutocompleteGetSetText -- the test is flaky on the buildbots, and I've seen DCHECKs which suggest it is related to this issue. BUG=http://crbug.com/18372 Review URL: http://codereview.chromium.org/160447 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23084 0039d316-1c4b-4281-b951-d872f2087c98
* There is no need for the browser process to have an accelerator handler.This ↵jcampan@chromium.org2009-07-291-10/+0
| | | | | | | | CL cleans this up.BUG=NoneTEST=Accelerator should work in Chrome and in the first run window. Review URL: http://codereview.chromium.org/160301 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22020 0039d316-1c4b-4281-b951-d872f2087c98
* Replace std:;wstring with std::string and string16 in locale-name related APIs.jshin@chromium.org2009-06-241-2/+2
| | | | | | | | | | | | | | | 1. Change the locale param to be std::string because they're always ASCII and change call-sites accordingly. 2. Add GetStringFUTF16 to l10n_util. On Windows, they're inline helpers calling the correspondingGetStringF returning wstring while on Mac/Linux, they just return the result of |string16 GetStringF|without converting to wstring. This is part 1 of the fix for issue 8647. Some of newly introduced conversions are temporary and will be removed later (e.g. ASCIIToWide applied to the result of GetApplicationLocale in a few places). Note : this CL will be landed after http://codereview.chromium.org/147038 is landed. BUG=8647 (http://crbug.com/8647) TEST=Pass l10n_util_unittest and other unit tests Review URL: http://codereview.chromium.org/126223 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19183 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash when the ThumbnailGenerator.brettw@chromium.org2009-06-171-12/+10
| | | | | | | | | | This happens when the ThumbnailGenerator is initialized because the NotificationService doesn't exist yet. This patch adds a function that TabContentscalls to make sure it is registered to avoid this problem. Review URL: http://codereview.chromium.org/126239 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18572 0039d316-1c4b-4281-b951-d872f2087c98
* Adds kind-of-live thumbnail generation for a potential tab switcher.brettw@chromium.org2009-06-161-0/+11
| | | | | | | | | | | | | | | | | | | | This listens to tab events and tries to keep thumbnails ready to go. See thumbnail_generator.cc for a more detailed design. This adds a painting observer to the RenderWidgetHost to enable this new behavior, as well as a notification to allow the thumbnail generator to hook its observer in. There is also a new notification that a backing store has been disabled, which required making the backing stores know about their owning widget hosts. This component is currently disabled. We just need to uncomment the member in Profile and it will start to work. Original review: http://codereview.chromium.org/118420 Review URL: http://codereview.chromium.org/126101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18540 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: Make reloading inspector lead to the complete DevTools Client ↵pfeldman@chromium.org2009-06-051-1/+1
| | | | | | | | | 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
* Headers cleanup in chrome/browser/phajdan.jr@chromium.org2009-06-031-2/+0
| | | | | | | | | | | - reduce header dependencies - miscellanous cleanups (add missing includes for OS_ defines etc) Further changesets may follow. I was only looking at header files up to character_encoding.h. Review URL: http://codereview.chromium.org/118072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17470 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of the ClipboardService class and header... it is nothing but a ↵ben@chromium.org2009-05-051-3/+3
| | | | | | | | | | 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
* Linux: move X operations from the IO to UI2 thread.agl@chromium.org2009-04-221-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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-14/+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/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Give each HistoryService instance it's own backend thread.tim@chromium.org2009-04-141-1/+0
| | | | | | | | | | | | | | | | | I had originally planned to push history_thread up to BrowserProcess, but was scared away by the comment in ~Profile that talks about HistoryService calling back into the bookmark bar model, and that it depended on join()ing at that particular time to ensure this doesn't happen after the bookmark bar model has been reset. I didn't use scoped_ptr for the thread because it makes the little dance in CleanUp awkward. TEST=any existing test that exersizes the history service. I added a ProfileManager test that would fail without this change. Review URL: http://codereview.chromium.org/73012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13703 0039d316-1c4b-4281-b951-d872f2087c98