summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_process_impl.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove the AudioManager singleton.tommi@chromium.org2011-12-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unit tests now instantiate their own AudioManager and can choose to use the default one or provide their own mock implementation without having to worry about conflicting with the singleton. The teardown sequence of the AudioManager and its thread has been cleaned up significantly and I don't think it has been completely tested before as the audio thread was terminated before all objects that belonged to the thread had a chance to do cleanup. The AudioManager unit tests do not use the actual audio thread, so this part seems to have been left out. In Chrome, the AudioManager instance is now owned by BrowserProcessImpl and always constructed on the UI thread. This instance is then shared in the same way that several other 'manager' type objects are shared to 'content' code, via content::ResourceContext. Audio specific classes do though receive a direct pointer to the AudioManager and are required to do proper reference counting if they need to hold onto the instance. I chose to use the ResourceContext rather than direct use of g_browser_process to avoid requiring another singleton when writing relatively simple tests that touch the AudioManager. I added a couple of safeguards to guard against future regressions: - Not more than one instance of the AudioManager should be created. - The AudioManager should not be addrefed by its own thread. This can basically become a circular reference and prevent deterministic shutdown. Reviewers: Of course you're free to review everything, but here's the breakdown in terms of the bare minimum from the standpoint of "Owners approval". I'm asking Henrik to be the main reviewer of the entire patch (sorry!). Henrik: Everything minus the below, but it would be great if you could take a look at the whole thing, specifically media/audio. Pawel: I'd like you to take a generic look at this approach. The key areas as far as the singleton itself goes are in media/audio/audio_manager[_base].* and chrome/browser/browser_process*.* Satish: content/browser/speech/* media/audio/audio_manager_base.* (new reference counting code) Andrew: content/browser/renderer_host/media/* content/renderer/media/webrtc_audio_device_unittest.cc (Owner) Avi: content/browser/renderer_host/render_process_host_impl.cc content/browser/resource_context.* William: chrome/browser/profiles/profile_io_data.cc chrome/browser/browser_process*.* Robert: This is basically a heads up. I hope that I didn't break the OpenBSD implementation, but unfortunately I have no way of knowing for sure. Shijing: Please take a look at AudioManagerLinux. I replaced the set of active streams with a simple counter. BUG=105249 TEST=content_unittests, media_unittests, browser_tests. Review URL: http://codereview.chromium.org/8818012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114084 0039d316-1c4b-4281-b951-d872f2087c98
* This goes most of the way to re-enabling chrome_frame_net_tests by making it ↵joi@chromium.org2011-12-121-4/+0
| | | | | | | | | | | | | | a content::BrowserMainParts. The tests are still disabled until we are able to test them on IE8 and older; on IE9 all tests currently pass except for a few that hang. Additionally, this makes chrome_frame_net_tests determine protocol version using the exact same version information as npchrome_frame.dll does, so that version mismatch due to the RC dependency problems we have sometimes seen should not happen any more with this test suite. While in there, I also updated the poor_mans_trybot.bat script. BUG=105435 Review URL: http://codereview.chromium.org/8894008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114080 0039d316-1c4b-4281-b951-d872f2087c98
* Respect default browser policybenwells@chromium.org2011-12-121-0/+5
| | | | | | | | | | | | | | | | | | This got broken with an earlier change to perform the change to the default browser setting on the FILE thread. The file thread isn't created at the point the default browser policy is enforced, this change moves the code to later in the startup process. BUG=106610 TEST=Manual testing performed with a hacked Chromium to always set Chrome as the default regardless of local policy. QA should test with all the policy machinery setup. Linux and Mac should be tested as well. Review URL: http://codereview.chromium.org/8872047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113977 0039d316-1c4b-4281-b951-d872f2087c98
* Remove BrowserThread::UnsafeGetBrowserThread, add UnsafeGetMessageLoopForThread.joi@chromium.org2011-12-071-5/+0
| | | | | | | | | | | | | | This also removes several accessors on BrowserProcess that are no longer used. I wanted to remove all retrieval of MessageLoop objects via BrowserThread, but this proved harder than it looked, because several net:: classes use MessageLoop and have fairly deep assumptions that it is a real MessageLoop, e.g. they use MessageLoopForIO with its IO observers and so forth. Therefore, we now have UnsafeGetMessageLoopForThread but UnsafeGetBrowserThread is gone. TBR=abodenha@chromium.org BUG=98716 Review URL: http://codereview.chromium.org/8769013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113377 0039d316-1c4b-4281-b951-d872f2087c98
* Remove dead code for gpu blacklist auto-update.zmo@google.com2011-12-031-3/+0
| | | | | | | | | BUG=103851 TEST=tree R=kbr Review URL: http://codereview.chromium.org/8758003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112879 0039d316-1c4b-4281-b951-d872f2087c98
* Remove IOThread::message_loop().joi@chromium.org2011-12-021-3/+0
| | | | | | | | | | | | | | | | | Instead introduce BrowserThread::UnsafeGetMessageLoop which is used in a couple of places. This will be removed in a follow-up change. I could have used UnsafeGetBrowserThread(id)->message_loop() but this is even easier to search for. Also, remove a couple of BrowserProcess accessors that aren't used by anybody, and that were using UnsafeGetBrowserThread. TBR=battre@chromium.org BUG=98716 Review URL: http://codereview.chromium.org/8775014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112697 0039d316-1c4b-4281-b951-d872f2087c98
* Have content/ create and destroy its own threads. (Re-land)joi@chromium.org2011-11-281-28/+23
| | | | | | | | | | | | | | | | | | | Change embedding API and embedders to allow for this. Push inheritance of base::Thread down to content::BrowserThreadImpl so that content::BrowserThread is just a namespace for API functions. This change temporarily disables chrome_frame_net_tests as agreed by the CF lead, see bug 105435. TBR=ben@chromium.org (IWYU change only) BUG=98716,104578,105435 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=111695 Reverted (problems on official bot): r111698 Review URL: http://codereview.chromium.org/8477004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111705 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 111695 - Have content/ create and destroy its own threads.joi@chromium.org2011-11-281-23/+28
| | | | | | | | | | | | | | | | | | | | | Reason: Problems on official builders. Change embedding API and embedders to allow for this. Push inheritance of base::Thread down to content::BrowserThreadImpl so that content::BrowserThread is just a namespace for API functions. This change temporarily disables chrome_frame_net_tests as agreed by the CF lead, see bug 105435. TBR=ben@chromium.org (IWYU change only) BUG=98716,104578,105435 Review URL: http://codereview.chromium.org/8477004 TBR=joi@chromium.org Review URL: http://codereview.chromium.org/8718012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111698 0039d316-1c4b-4281-b951-d872f2087c98
* Have content/ create and destroy its own threads.joi@chromium.org2011-11-281-28/+23
| | | | | | | | | | | | | | | | Change embedding API and embedders to allow for this. Push inheritance of base::Thread down to content::BrowserThreadImpl so that content::BrowserThread is just a namespace for API functions. This change temporarily disables chrome_frame_net_tests as agreed by the CF lead, see bug 105435. TBR=ben@chromium.org (IWYU change only) BUG=98716,104578,105435 Review URL: http://codereview.chromium.org/8477004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111695 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: remove support for legacy remote debugger.yurys@chromium.org2011-11-241-4/+0
| | | | | | | | | | | DevTools remote debugging protocol supersedes the legacy protocol and old implementation should be removed. BUG=104625 TEST=Existing tests Review URL: http://codereview.chromium.org/8635005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111540 0039d316-1c4b-4281-b951-d872f2087c98
* Make DevToolsManager a singleton, remove it from ContentBrowserClient.yurys@chromium.org2011-11-221-5/+0
| | | | | | | | | | | DevToolsManager should be created and destroyed inside content implementation, not by the embedder. BUG=104625 TEST=Exising tests Review URL: http://codereview.chromium.org/8609010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111106 0039d316-1c4b-4281-b951-d872f2087c98
* Add OVERRIDE to chrome/browser/.avi@chromium.org2011-11-211-1/+1
| | | | | | | | | BUG=104314 TEST=no change Review URL: http://codereview.chromium.org/8612007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110939 0039d316-1c4b-4281-b951-d872f2087c98
* Move enabling IPC logging for all child processes to the Content API.jam@chromium.org2011-11-181-13/+0
| | | | | | | BUG=98716 Review URL: http://codereview.chromium.org/8574070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110747 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove more forward declarations in various chrome/browser directories.thestig@chromium.org2011-11-161-2/+0
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8566028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110367 0039d316-1c4b-4281-b951-d872f2087c98
* redesign and reimplement proxy config service and tracker, revise proxy ui ↵kuan@chromium.org2011-11-041-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on cros * original plan was to revise proxy ui on cros for all proxy sources and network types, refer to bug rpt 21219 for ui details * redesign and reimplement PrefProxyConfigTracker and PrefProxyConfigService by switching the inter-dependencies between the two and renaming the latter - PrefProxyConfigService used to observe PrefProxyConfigTracker and retrieve new prefs proxy from the latter whenever the former gets notification of proxy change from prefs or delegate service to determine effective proxy config. Now, PrefProxyConfigTracker pushes new prefs proxy to the renamed ChromeProxyConfigService on the IO thread; the latter then uses it and proxy from delegate service to determine effective proxy config. - remove all thread-switching in PrefProxyConfigTracker which now lives and runs on UI thread, except for when it pushes proxy config to ChromeProxyConfigService on IO thread - enhances and moves ConfigState definition to namespace ProxyPrefs to indicate source of proxy config (policy, extension, other-precede, system, fallback) so that PrefProxyConfigTracker, ChromeProxyConfigService and chromeos::ProxyConfigServiceImpl can acccess it - extract code for deciding effective proxy config from PrefProxyConfigService into static PrefProxyConfigTracker method to be shared by all classes * re-design and re-implement chromeos::ProxyConfigServiceImpl - this now extends PrefProxyConfigTracker to act as a special of "prefs", handles all proxy changes from network and prefs notifications and uses PrefProxyConfigTracker to push effective proxy to ChromeProxyConfigService and hence to network stack - remove wrapper chromeos::ProxyConfigService - this is the authority on cros, and ChromeProxyConfigService does not have a delegat service. - provide proxy config to ui for all proxy sources: policy, extension, network or recommended (in order of precedence), also indicates if proxy is user-modifiable - handle user profile changes to use correct PrefProxyConfigTracker * modify CoreOptionsHandler and CoreChromeosOptionsHandler to implement dynamic monitoring of prefs::kProxy and on-the-fly ui changes of affected use-shared-proxies user pref * modify ui native code, html, css and javascript for internet options and proxy pages to show yellow banner with different messages (same banner as options page when there's policy), en/dis-able ui fields, set current user profile in backend * modify network dropdown menu to always show proxy settings menu item as long as there's a network * modify automation tests, PrefProxyConfigTracker and ProxyConfigSerivceImpl unittests to handle redesign, fix unittests that fail due to redesign BUG=chromium-os:20679,chromium-os:21219 TEST=verify per bugs rpts Review URL: http://codereview.chromium.org/8102019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108616 0039d316-1c4b-4281-b951-d872f2087c98
* Force-setting default browser through policy should not crash.benwells@chromium.org2011-11-011-0/+1
| | | | | | | | | | | | | | The call to set chrome as default browser due to policy needs to happen on the FILE thread. This change affects the call to set the default browser due to policy at startup and during runtime. BUG=101331 TEST=Manual testing performed Review URL: http://codereview.chromium.org/8409004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108059 0039d316-1c4b-4281-b951-d872f2087c98
* Remove --no-startup-window flag when restarting chrome.atwilson@chromium.org2011-10-281-1/+1
| | | | | | | | | | | | | This fixes the problem where if chrome launches in background mode at login, the next time we restart chrome we relaunch it in background mode again. BUG=92391 TEST=Install background app, restart computer so chrome is launched on startup, go to about:flags and change a flag and choose 'Restart' - chrome should reopen any open windows on restart. Review URL: http://codereview.chromium.org/8413023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107763 0039d316-1c4b-4281-b951-d872f2087c98
* Flipping the order of BackgroundModeManager and StatusTray members so that ↵rlp@chromium.org2011-10-271-2/+2
| | | | | | | | | | | the StatusTray is not deleted before the BackgroundModeManager. Technically this should not be an issue, but it can occur if the NOTIFICATION_APP_TERMINATING notification is not sent. BUG=101082 TEST=passes existing, but there are no repro steps for the crash to test Review URL: http://codereview.chromium.org/8393028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107644 0039d316-1c4b-4281-b951-d872f2087c98
* Move NotificationObserver, NotificationSource, and NotificationDetails to ↵jam@chromium.org2011-10-191-7/+7
| | | | | | | | | | | content/public/browser. This patch got way bigger than I wanted, but once I moved NotificationDetails, I figured I might as well mvoe the others since they're in the same files. In hindsight, I should have converted a subset of files at a time by leaving a using statement in the header. BUG=98716 TBR=joi git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106196 0039d316-1c4b-4281-b951-d872f2087c98
* Add CRL set updater.agl@chromium.org2011-09-301-0/+4
| | | | | | | | | | | | | This is just a dormant component updater for CRL sets. Since the call to start the initial load is commented out it's actually inactive, but it helps to split the CRL set change into parts to make it more easily reviewable. BUG=none TEST=none Review URL: http://codereview.chromium.org/8056013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103466 0039d316-1c4b-4281-b951-d872f2087c98
* Cosmetic cleanups in chrome/browser/policy/joaodasilva@chromium.org2011-09-211-2/+0
| | | | | | | | | | BUG=None TEST=Everything works as before, compiles cleanly Review URL: http://codereview.chromium.org/7941008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102100 0039d316-1c4b-4281-b951-d872f2087c98
* Move 2 manager references in BrowserProcessImpl to .cc filejamescook@chromium.org2011-09-201-4/+2
| | | | | | | | | | | Don't need to #include these headers in our header, we can move them to the .cc file. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/7973002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101996 0039d316-1c4b-4281-b951-d872f2087c98
* CrOS - Change OomPriorityManager from a Singleton to a member of ↵jamescook@chromium.org2011-09-201-1/+3
| | | | | | | | | | | BrowserProcessImpl BUG=none TEST=about:discards still shows a page listing open tabs Review URL: http://codereview.chromium.org/7973001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101995 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup AutomationProviderList to fix shutdown crashes on ChromeOS auto testsstevenjb@google.com2011-09-161-51/+54
| | | | | | | | | | | | | | There is a circular relationship between BrowserProcessImpl and AutomationProvider. To clean this up and eliminate a shutdown crash: 1. Eliminate the AutomationProviderList singleton instance; it is already clearly owned by BrowserProcessImpl 2. Eliminate the calls to g_browser_process->Add/ReleaseModule in AutomationProvider since BrowserProcessImpl already owns AutomationProviderList (which owns any AutomationProvider instances). This could possibly have side effects if AutomationProvider attempts to access the message loop after the last call to BrowserProcessImpl::ReleaseModule exits the message loop, but that shouldn't be happening. BUG=96030 TEST=./run_remote_tests.sh --remote=localhost --ssh_port 9222 --use_emerged suite_Smoke and ensure no crashes occur in ~AutomationProvider Review URL: http://codereview.chromium.org/7790031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101582 0039d316-1c4b-4281-b951-d872f2087c98
* Create a very simple TabContentsView (and not fully implemented yet) and add ↵jam@chromium.org2011-09-151-3/+0
| | | | | | | | | more supporting code to be able to load a page. Right now it's not rendering, but I suspect it's something small, and the patch has gotten large so I figure it's time to send it for review. BUG=90445 Review URL: http://codereview.chromium.org/7906008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101395 0039d316-1c4b-4281-b951-d872f2087c98
* linux: Remove long-dead X11 thread and tsan suppression.derat@chromium.org2011-09-091-4/+0
| | | | | | | | | | | | | | We stopped using the background X11 thread in r87381 but still had a pointer for it. I'm also removing a tsan suppression about a data race between ui::GetWindowGeometry() and views::GetWidgetPositionOnScreen() involving this thread. BUG=71634 TEST=compiled Review URL: http://codereview.chromium.org/7858011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100455 0039d316-1c4b-4281-b951-d872f2087c98
* Add "enabled" state to the ClientSideDetectionService.joaodasilva@chromium.org2011-08-231-4/+0
| | | | | | | | | | | | | | The service won't download the model nor report phishing URLs when disabled. It is only enabled if it exists (only when client side reporting is not disabled), and at least one profile has safe browsing enabled. BUG=88661 TEST=SafeBrowsing and phishing detection work as before. Review URL: http://codereview.chromium.org/7583007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97847 0039d316-1c4b-4281-b951-d872f2087c98
* Factor out dependncy on download throttling from core download code.jam@chromium.org2011-08-161-0/+3
| | | | | | | BUG=82782 Review URL: http://codereview.chromium.org/7660007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96991 0039d316-1c4b-4281-b951-d872f2087c98
* Move the core download files to content.jam@chromium.org2011-08-151-1/+1
| | | | | | Review URL: http://codereview.chromium.org/7618048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96829 0039d316-1c4b-4281-b951-d872f2087c98
* No need to have DevToolsManager reference countedyurys@chromium.org2011-08-041-1/+1
| | | | | | | | | | | Now that ForceReopenWindow method is gone(in r91695), the browser process should own the DevToolsManager. BUG=None TEST=existing DevTools tests Review URL: http://codereview.chromium.org/7461125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95396 0039d316-1c4b-4281-b951-d872f2087c98
* Component update part six, wire sigleton to browsercpu@chromium.org2011-08-031-0/+6
| | | | | | | | | | Also adds a minimalistic configurator TEST=none BUG=61602 Review URL: http://codereview.chromium.org/7545004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95336 0039d316-1c4b-4281-b951-d872f2087c98
* Move gpu preliminary info collection from IO thread to FILE thread.zmo@google.com2011-07-281-0/+4
| | | | | | | | | | In linux we need certain file IO to collect preliminary gpu info. BUG=84497 TEST=bots green Review URL: http://codereview.chromium.org/7519007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94592 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: move devtools_ui into content since it should be able to serve ↵pfeldman@chromium.org2011-07-271-2/+3
| | | | | | | | | | | devtools files. BUG=84078 TEST= Review URL: http://codereview.chromium.org/7453021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94290 0039d316-1c4b-4281-b951-d872f2087c98
* Convert ViewMsg_NetworkStateChanged from routed -> control,adamk@chromium.org2011-07-121-0/+4
| | | | | | | | | | | | | | | | | | | minimizing the number of required IPCs (since the online state is a per-WebKit singleton). In doing so, I've disentangled online state management from TabContents: it now resides off by itself in BrowserOnlineStateObserver, a tiny class owned by BrowserProcessImpl. This is an attempt to re-land r91390 without the OnProcessLaunched IPC (since r92062 solved that in a different way by using WebPreferences). The previous commit was reverted due to missing message_loop.h includes. R=darin@chromium.org Review URL: http://codereview.chromium.org/7343011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92233 0039d316-1c4b-4281-b951-d872f2087c98
* Removing a leftover function definition (see ↵marja@google.com2011-07-121-2/+0
| | | | | | | | | | | | http://codereview.chromium.org/7230052 for the removal of the function code). BUG=NONE TEST=compiles & links Review URL: http://codereview.chromium.org/7342004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92160 0039d316-1c4b-4281-b951-d872f2087c98
* Moving notification types which are chrome specific to a new header file ↵ananta@chromium.org2011-07-101-1/+1
| | | | | | | | | | | | | chrome_notification_types.h. This file lives in chrome\common. The chrome specific notifications start from NOTIFICATION_CONTENT_END which defines the end of the enum used by content to define notification types. The notificaton_type.h file in content\common has been renamed to content_notification_types.h BUG=76698 Review URL: http://codereview.chromium.org/7327007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91972 0039d316-1c4b-4281-b951-d872f2087c98
* Move code to clear web databases on shutdown to the database trackerjochen@chromium.org2011-07-081-3/+0
| | | | | | | | | | BUG=86928 TEST=test_shell_tests Review URL: http://codereview.chromium.org/7234014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91817 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 91390 (build breakage) - Convert ViewMsg_NetworkStateChanged from ↵adamk@google.com2011-07-021-4/+0
| | | | | | | | | | | | | | | | | | | | routed -> control allowing it to be sent from BrowserRenderProcessHost::OnProcessLaunched and minimizing the number of required IPCs (since the online state is a per-WebKit singleton). In doing so, I've disentangled online state management from TabContents: it now resides off by itself in BrowserOnlineStateObserver, a tiny class owned by BrowserProcessImpl. BUG=7469,86538 TEST=begin with network disconnected, open new tab, load test page attached to 7469, then re-connect network Review URL: http://codereview.chromium.org/7259004 TBR=eroman@chromium.org Review URL: http://codereview.chromium.org/7300018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91392 0039d316-1c4b-4281-b951-d872f2087c98
* Convert ViewMsg_NetworkStateChanged from routed -> controladamk@google.com2011-07-011-0/+4
| | | | | | | | | | | | | | | allowing it to be sent from BrowserRenderProcessHost::OnProcessLaunched and minimizing the number of required IPCs (since the online state is a per-WebKit singleton). In doing so, I've disentangled online state management from TabContents: it now resides off by itself in BrowserOnlineStateObserver, a tiny class owned by BrowserProcessImpl. BUG=7469,86538 TEST=begin with network disconnected, open new tab, load test page attached to 7469, then re-connect network Review URL: http://codereview.chromium.org/7259004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91390 0039d316-1c4b-4281-b951-d872f2087c98
* Make kClearSiteDataOnExit work for Flash plugins in a multi-profile environment.mirandac@chromium.org2011-06-301-1/+0
| | | | | | | | | | | Because Flash data is global among all profiles (and all browsers) on a machine, we can't clear site data easily per profile on exit. Instead, if this flag is set, we run Flash instances in Incognito mode for profiles that want to leave no data stored on exit. BUG=80794 TEST= Review URL: http://codereview.chromium.org/7230052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91168 0039d316-1c4b-4281-b951-d872f2087c98
* Move user cloud policy to BrowserProcess (was 6979011)gfeher@chromium.org2011-06-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | This CL basically does the following things: * Remove final dependencies of ProfilePolicyConnector on Profile * Take ProfilePolicyConnector away from Profile and put it into BrowserPolicyConnector. * Make BrowserPolicyConnector instance persistant and allow to exchange the CloudPolicySubsystem backend instead. * Introduce a new CloudPolicyProvider which combines two (or more) CloudPolicyCacheBase backends and applies their policies in a well defined order. That is the order in which the CloudPolicyCacheBases appear in the List of CloudPolicyProvider determines the precedence, early Providers get applied first and block the applied policies for later Caches. * Handles ProxyPolicies in CloudPolicyProvider making the old infrastructure around MergingPolicyConnector obsolete. * Consequently this means that user cloud policy can now serve local_state. Continuation of http://codereview.chromium.org/6979011/ Patch from sfeuz@chromium.org with additional work from gfeher@chromium.org BUG=none TEST=Unittests CloudPolicyProvider.* Review URL: http://codereview.chromium.org/7147015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90957 0039d316-1c4b-4281-b951-d872f2087c98
* Hooking MHTML generation to the browser.jcivelli@chromium.org2011-06-141-0/+4
| | | | | | | | | | | | | | This CL adds a class that can be used to generate MHTML for the current page of a tab. It is not yet surfaced in the UI. BUG=None TEST=Run the browser tests. Review URL: http://codereview.chromium.org/7044095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89047 0039d316-1c4b-4281-b951-d872f2087c98
* Remove g_browser_process dependency from content. Also make all the ↵jam@chromium.org2011-06-131-4/+0
| | | | | | | | | SyncChannels in the browser process ChannelProxy instead, since no code in the browser should send synchronous IPC messages. The renderer one was done like that a long time ago to send sync IPCs for accessibility, and we learnt that that doesn't work. BUG=76697 Review URL: http://codereview.chromium.org/7046100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88806 0039d316-1c4b-4281-b951-d872f2087c98
* Changes TemplateURLModel into TemplateURLService. Changes all access points ↵erg@google.com2011-06-071-1/+1
| | | | | | | | | | | | | | to go through the newly made ProfileKeyedServiceFactory subclass. In addition, makes further modifications to the unit testing stuff because the TemplateURL tests change the active TemplateURLService on a profile during the test. BUG=77155 TEST=unit tests R=mirandac Review URL: http://codereview.chromium.org/7056056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88153 0039d316-1c4b-4281-b951-d872f2087c98
* Remove ResourceDispatcherHost dependency on Chrome's LoginHandler and ↵jam@chromium.org2011-06-031-4/+4
| | | | | | | | | | | ExternalProtocolHandler. As part of this change, I've renamed the resource embedder interfaces from observer to delegates, since that's what they are now. I've also separated them into their own files and made both interfaces behave similarly in terms of ownership and treatment of filters. BUG=76697 Review URL: http://codereview.chromium.org/7058041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87796 0039d316-1c4b-4281-b951-d872f2087c98
* Remove last safebrowsing references from content.jam@chromium.org2011-06-021-0/+5
| | | | | | | BUG=77089 Review URL: http://codereview.chromium.org/7108003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87622 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the background X11 thread.tony@chromium.org2011-06-011-3/+0
| | | | | | | | | | | | After r87381, we no longer have anything that uses the background X11 thread. I think there's still considerable cleanup that can be done to gtk_native_view_id_manager.*, but I'll do that in a follow up. Review URL: http://codereview.chromium.org/7020013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87548 0039d316-1c4b-4281-b951-d872f2087c98
* Modifying the BackgroundModeManager to handle multiple profiles.rlp@chromium.org2011-05-281-0/+8
| | | | | | | | | | | | | | | The background mode manager is now owned by the broser The status tray is also owned by the browser process since there is only one per browser. Previously it was owned by the profile, but now that there are multiple profiles, it makes sense to have the browser process own it. Note: This CL does not unify the status tray into one icon. TEST=unittests (added BackgroundModeManagerTest::MultiProfile) BUG=80069, 82215 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=86726 Review URL: http://codereview.chromium.org/6914021 Review URL: http://codereview.chromium.org/7008026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87119 0039d316-1c4b-4281-b951-d872f2087c98
* Fix gpu acceleration with --in-process-gpu and --single-process modes.sievers@google.com2011-05-271-4/+0
| | | | | | | | | | | | With recent changes that have moved gpu message handling in the browser to the IO thread (and moved the handling of messages between gpu and renderer, that are mediated by the browser, to GpuProcessHost), the routing for such messages was broken when running the gpu thread (rather than process). The new approach is to always instantiate GpuProcessHost (even when running a gpu thread only) and have a real IPC channel between host and gpu thread. This makes the 'in-process' GPU code work similar to what the renderer does when running --single-process. Note that --single-process mode is potentially still a bit fragile with this, since ChildProcess and ChildThread are currently written to only allow a single static instance in one process (it would be better to instantiate GpuProcess and RenderProcess simultaneously), so ambiguous calls to access e.g. the main thread are possible. Review URL: http://codereview.chromium.org/7054005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86958 0039d316-1c4b-4281-b951-d872f2087c98
* Make --allow-cross-domain-auth-prompt equivalent to a preference.tsepez@chromium.org2011-05-261-0/+1
| | | | | | Review URL: http://codereview.chromium.org/6992081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86903 0039d316-1c4b-4281-b951-d872f2087c98