summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_process_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
* Move IdentityProvider usage from GCMDriverDesktop to GCMProfileServicejianli@chromium.org2014-06-171-14/+5
| | | | | | | | | | | | | | | | | This is the 1st step towards removing sign-in enforcement for GCM. We also remove the logic to pass account IDs to check-in request since it seems to work fine without them and TokenService::GetAccounts returns the empty list. BUG=384041 TEST=existing and new tests R=bartfab@chromium.org, fgorski@chromium.org, zea@chromium.org TBR=jochen@chromium.org, rogerta@chromium.org Review URL: https://codereview.chromium.org/330733002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277789 0039d316-1c4b-4281-b951-d872f2087c98
* Android: Remove app_window extension API.thestig@chromium.org2014-06-171-20/+23
| | | | | | | | BUG=305852 Review URL: https://codereview.chromium.org/328043003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277648 0039d316-1c4b-4281-b951-d872f2087c98
* Make SdchManager per-profile.rdsmith@chromium.org2014-06-151-8/+0
| | | | | | | | | | | | | | | | This will both allow SDCH dictionaries to be cached (as they can use the cache associated with the profile) and will provide privacy protection between different profiles (the existing of a dictionary in one profile will not be leaked to another profile). BUG=374914 R=jar@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=277160 Review URL: https://codereview.chromium.org/298063006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277322 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 277160 "Make SdchManager per-profile."viettrungluu@chromium.org2014-06-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On LSan, SdchManagerTest.CanUseMultipleDictionaries fails (leaks): http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/3073/steps/net_unittests/logs/stdio E.g.: Indirect leak of 34 byte(s) in 1 object(s) allocated from: #0 0x512b7b in operator new(unsigned long) /usr/local/google/work/chromium/src/third_party/llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:55 #1 0x7f4730122739 in __gnu_cxx::new_allocator<char>::allocate(unsigned long, void const*) /build/buildd/gcc-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/include/ext/new_allocator.h:92 #2 0x7f4730121d2c in std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&) /build/buildd/gcc-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:609 #3 0x7f4730121f04 in std::string::_Rep::_M_clone(std::allocator<char> const&, unsigned long) /build/buildd/gcc-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:631 #4 0x7f473011ec48 in std::string::reserve(unsigned long) /build/buildd/gcc-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:512 #5 0x7f473011f391 in std::string::append(unsigned long, char) /build/buildd/gcc-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:290 #6 0x7f473011eaeb in std::string::resize(unsigned long, char) /build/buildd/gcc-4.6-4.6.3/build/x86_64-linux-gnu/libstdc++-v3/include/bits/basic_string.tcc:647 #7 0x31d6642 in resize /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/basic_string.h:749 #8 0x31d6642 in base::Base64Encode(base::BasicStringPiece<std::string> const&, std::string*) base/base64.cc:13 #9 0x34a1d05 in net::SdchManager::UrlSafeBase64Encode(std::string const&, std::string*) net/base/sdch_manager.cc:541 #10 0x34a1124 in net::SdchManager::GenerateHash(std::string const&, std::string*, std::string*) net/base/sdch_manager.cc:508 #11 0x349facb in net::SdchManager::AddSdchDictionary(std::string const&, GURL const&) net/base/sdch_manager.cc:363 #12 0x803e06 in net::SdchManagerTest_CanUseMultipleDictionaries_Test::TestBody() net/base/sdch_manager_unittest.cc:403 [...] > Make SdchManager per-profile. > > This will both allow SDCH dictionaries to be cached (as they can use the > cache associated with the profile) and will provide privacy protection > between different profiles (the existing of a dictionary in one profile > will not be leaked to another profile). > > BUG=374914 > R=jar@chromium.org > > Review URL: https://codereview.chromium.org/298063006 TBR=rdsmith@chromium.org Review URL: https://codereview.chromium.org/331023002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277185 0039d316-1c4b-4281-b951-d872f2087c98
* Make SdchManager per-profile.rdsmith@chromium.org2014-06-141-8/+0
| | | | | | | | | | | | | | This will both allow SDCH dictionaries to be cached (as they can use the cache associated with the profile) and will provide privacy protection between different profiles (the existing of a dictionary in one profile will not be leaked to another profile). BUG=374914 R=jar@chromium.org Review URL: https://codereview.chromium.org/298063006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277160 0039d316-1c4b-4281-b951-d872f2087c98
* Componentize MetricsService.blundell@chromium.org2014-06-111-2/+2
| | | | | | | | | | | | | | | MetricsService, along with prefs that it uses, is moved into the Metrics component. A later CL will move MetricsService (and all other code in the metrics component) into the metrics namespace. BUG=374198 TBR=jochen Review URL: https://codereview.chromium.org/320553002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276229 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce plugin_metrics_provider_ usage in MetricsServiceblundell@chromium.org2014-06-061-7/+7
| | | | | | | | | | | | | | | | | | | This CL eliminates MetricsService's call to PluginMetricsProvider::RecordPluginChanges (replaced by a new API on MetricsProvider). It additionally adds a MetricsServicesManager::OnPluginLoadingError() API and has the plugin observer call that API rather than calling MetricsService directly. This change will enable easily moving MetricsService::LogPluginLoadingError() to ChromeMetricsServiceClient once the latter is the class that keeps a weak pointer to the plugin metrics provider. BUG=375776 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=274403 Review URL: https://codereview.chromium.org/308433004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275404 0039d316-1c4b-4281-b951-d872f2087c98
* Add browser-global GCMDriverbartfab@chromium.org2014-06-051-0/+49
| | | | | | | | | | | | | | | | | | This CL adds a browser-global GCMDriver instance. This GCM connection can be used even if no session is in progress and no user is signed in. Since GCMDriverDesktop was originally meant to work for signed-in users only, it still depends on an IdentityProvider. The CL introduces a temporary DummyIdentityProvider to satisfy the dependency. This dummy class will be deleted when GCMDriver's dependency on IdentityProvider is removed. BUG=376746 TEST=Covered by GCMDriverTest.* unit tests Review URL: https://codereview.chromium.org/301973009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275134 0039d316-1c4b-4281-b951-d872f2087c98
* Componentize chrome/browser/network_timehashimoto@chromium.org2014-06-041-3/+3
| | | | | | | | | | | | Move chrome/browser/network_time to components/network_time network_time.h is removed as it's unused. BUG=371470 TEST=git cl try Review URL: https://codereview.chromium.org/296453005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274887 0039d316-1c4b-4281-b951-d872f2087c98
* Revert of Reduce plugin_metrics_provider_ usage in MetricsService ↵tzik@chromium.org2014-06-031-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/308433004/) Reason for revert: This CL seems to cause bot failure on CI: http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/2745 Original issue's description: > Reduce plugin_metrics_provider_ usage in MetricsService > > This CL eliminates MetricsService's call to > PluginMetricsProvider::RecordPluginChanges (replaced by a new API on > MetricsProvider). It additionally adds a > MetricsServicesManager::OnPluginLoadingError() API and has the plugin observer > call that API rather than calling MetricsService directly. This change will > enable easily moving MetricsService::LogPluginLoadingError() to > ChromeMetricsServiceClient once the latter is the class that keeps a weak > pointer to the plugin metrics provider. > > BUG=375776 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=274403 TBR=asvitkine@chromium.org,isherman@chromium.org,jochen@chromium.org,blundell@chromium.org NOTREECHECKS=true NOTRY=true BUG=375776 Review URL: https://codereview.chromium.org/314583002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274418 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce plugin_metrics_provider_ usage in MetricsServiceblundell@chromium.org2014-06-031-7/+7
| | | | | | | | | | | | | | | | | This CL eliminates MetricsService's call to PluginMetricsProvider::RecordPluginChanges (replaced by a new API on MetricsProvider). It additionally adds a MetricsServicesManager::OnPluginLoadingError() API and has the plugin observer call that API rather than calling MetricsService directly. This change will enable easily moving MetricsService::LogPluginLoadingError() to ChromeMetricsServiceClient once the latter is the class that keeps a weak pointer to the plugin metrics provider. BUG=375776 Review URL: https://codereview.chromium.org/308433004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274403 0039d316-1c4b-4281-b951-d872f2087c98
* network_time: Remove NetworkTimeServicehashimoto@chromium.org2014-05-301-3/+6
| | | | | | | | | | | | | Use the local state instead of a pref belonging to a Profile. Save the time mapping when the network time is updated, load the saved time in the ctor. Delay initialization of BrowserProcess::network_time_tracker_ to access the local state. BUG=371470 TEST=git cl try Review URL: https://codereview.chromium.org/291333009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273784 0039d316-1c4b-4281-b951-d872f2087c98
* Shut down the ServiceWorker system as the browser's shutting down.jyasskin@chromium.org2014-05-301-0/+14
| | | | | | | | | | | | | | | | | | | | | This avoids a DCHECK in ProfileDestroyer::DestroyProfileWhenAppropriate. I also added a Chrome-side browsertest for the Service Worker system, where we can check other things that only show up with this embedder. I tried to move the DCHECK into ~BrowserContext so that we wouldn't need to expose the Terminate() function across the Content API, but: * BrowserContext doesn't know whether it's a "testing" profile. * There is no BrowserContext::GetOffTheRecordProfile with which to check that transitive processes have been shut down. * (Minor) GetHostsForProfile() works by iterating over all hosts, and moving the DCHECK to ~BrowserContext would have doubled the number of iterations needed. BUG=368570 Review URL: https://codereview.chromium.org/305723003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273741 0039d316-1c4b-4281-b951-d872f2087c98
* Create PluginMetricsProvider class.asvitkine@chromium.org2014-05-231-0/+1
| | | | | | | | | | | | | | | | Also changes ProvideStabilityMetrics() to take a SystemProfileProto* instead of the stability section, since the plugin provider needs to inspect things in the system profile when writing its stability data. Also, cleans up some header includes. BUG=374220 R=isherman@chromium.org, thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/299783004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272462 0039d316-1c4b-4281-b951-d872f2087c98
* Merge NetworkTimeNotifier to NetworkTimeTrackerhashimoto@chromium.org2014-05-191-1/+9
| | | | | | | | | | | | | | | To remove dependencies to BrowserProcess and IOThread from NetworkTimeTracker. Remove NetworkTimeNotifier from IOThread, add NetworkTimeTracker to BrowserProcess instead. Change all users to use the NetworkTimeTracker instance owned by BrowserProcess. Since NetworkTimeTracker is living in the UI thread, there is no need to have multi-thread callback chain in NetowrkTimeTracker, the only exception is sync_backend_host_impl.cc who needs a callback which can be run on the IO thread. BUG=371470 TEST=git cl try Review URL: https://codereview.chromium.org/271853004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271389 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce a MetricsServicesManager class.asvitkine@chromium.org2014-05-091-31/+19
| | | | | | | | | | | | | | | This class now owns MetricsService, VariationsService and RapporService as well as MetricsStateManager. The motivation is to be able to pass MetricsStateManager to VariationsService (in a followup CL), so that it can be used for simulation. BUG=315807 Review URL: https://codereview.chromium.org/263093003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269144 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of bookmark prompt experimentyosin@chromium.org2014-05-021-16/+0
| | | | | | | | | | | | This patch removes code for bookmark prompt experiment introduced by https://codereview.chromium.org/11028114/ BUG=367923 TEST=n/a NOTRY=true Review URL: https://codereview.chromium.org/268633002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267811 0039d316-1c4b-4281-b951-d872f2087c98
* Add profile-switches to signin-internals; move switches to componentmlerman@chromium.org2014-04-161-1/+1
| | | | | | | | | | | | | The profile related switches have been moved from chrome/common to components/signin/core/common. BUG=326577 TEST=chrome://signin-internals page should accurately reflect the status of the Web Enabled Sign In and New Profile Management Flags. Review URL: https://codereview.chromium.org/235813002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264056 0039d316-1c4b-4281-b951-d872f2087c98
* Move core extensions l10n code to //extensionsrockot@chromium.org2014-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | There are three important changes in this CL, all interdependent enough that it seemed best to tackle them at the same time. 1. message_bundle moves to //extensions. (mechanical) 2. extension_l10n_util moves to //extensions. (mechanical) 3. MessageBundle-related functionality from //chrome/c/e/extension_file_util has been moved into //extensions/common/file_util to support the move of extension_l10n_util. BUG=359836 TBR=sky@chromium.org for chrome/utility, browser_process_impl TBR=kalman@chromium.org for tabs API TBR=zork@chromium.org for //c/b/chromeos/input_method TBR=satorux@chromium.org for //c/b/chromeos/e/file_manager Review URL: https://codereview.chromium.org/228073005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262552 0039d316-1c4b-4281-b951-d872f2087c98
* Remove automation code from browser process.jam@chromium.org2014-04-021-23/+0
| | | | | | | | | BUG=316203 R=avi@chromium.org Review URL: https://codereview.chromium.org/221453005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260995 0039d316-1c4b-4281-b951-d872f2087c98
* Move destruction of WebRtcLogUploader to post threads teardown.grunell@chromium.org2014-03-281-1/+8
| | | | | | | | | | | | | | | | Needs to outlive the file thread. Fixes rare crash. Previous attempt (https://codereview.chromium.org/174493003) caused an inconsistent leak (https://code.google.com/p/chromium/issues/detail?id=348928). This CL makes sure pending URLFetchers are deleted before threads teardown and removes the reference to system request context in WebRtcLoggingHandlerHost. NOTRY=true BUG=344892 Review URL: https://codereview.chromium.org/211033006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@260167 0039d316-1c4b-4281-b951-d872f2087c98
* DevTools: remove the --remote-debugging-frontend flag.pfeldman@chromium.org2014-03-121-4/+2
| | | | | | | | | R=jam@chromium.org, lushnikov@chromium.org, vsevik@chromium.org TBR=jam (a simple flag removal) Review URL: https://codereview.chromium.org/189233008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256433 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 253551 "Move destruction of WebRtcLogUploader to post thr..."grunell@chromium.org2014-03-041-5/+4
| | | | | | | | | | | | | | | | | | | | | | This caused inconsistent render crash. BUG=348928 > Move destruction of WebRtcLogUploader to post threads teardown. > > Needs to outlive the file thread. > > Fixes rare crash. > > BUG=344892 > > Review URL: https://codereview.chromium.org/174493003 TBR=grunell@chromium.org Review URL: https://codereview.chromium.org/184223010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254744 0039d316-1c4b-4281-b951-d872f2087c98
* Move destruction of WebRtcLogUploader to post threads teardown.grunell@chromium.org2014-02-261-4/+5
| | | | | | | | | | | | Needs to outlive the file thread. Fixes rare crash. BUG=344892 Review URL: https://codereview.chromium.org/174493003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253551 0039d316-1c4b-4281-b951-d872f2087c98
* Add the storage_monitor:: namespace for the storage_monitor componentthiago.santos@intel.com2014-02-251-2/+2
| | | | | | | | | | | | This is a follow-up of the patch moving storage_monitor from chrome/ to components/. R=joi@chromium.org,thestig@chromium.org BUG= Review URL: https://codereview.chromium.org/172163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253122 0039d316-1c4b-4281-b951-d872f2087c98
* Only enable Rappor for UMA usersholte@chromium.org2014-02-241-1/+2
| | | | | | | | | | Also, destroy the RapporService during TearDown to clean up URLFetchers properly. BUG=328168 Review URL: https://codereview.chromium.org/170313007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253024 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of Randomized Aggregatable Privacy-Preserving Ordinal ↵holte@chromium.org2014-02-211-0/+8
| | | | | | | | | | | | | Responses (RAPPORs). See the design doc at http://www.chromium.org/developers/design-documents/rappor BUG=328168 TBR=darin@chromium.org Review URL: https://codereview.chromium.org/49753002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252492 0039d316-1c4b-4281-b951-d872f2087c98
* Don't use nested message loop during EndSessionscottmg@chromium.org2014-02-191-38/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously during EndSession, a nested message loop and a task posted to the FILE thread that posted a MessageLoop::Quit were used to communicate that the FILE thread had completed outstanding writes. However, during shutdown the GPU process might be terminated before the browser has run through this code. In that case, the GPU process host might process the "lost context" and try to re-establish (synchronously) a connection with the GPU process. In this case, Windows can deny the launch of the gpu process because the window station is terminating. This results in a browser hang waiting for the GPU, which turns into a crash when the watchdog timer kills the browser. To avoid all this, use the same mechanism as Linux -- create a waitable event and simply have the FILE thread signal it (meaning it's completed previous writes). By not re-entering a UI-thread message loop, we avoid having the GPU process host messages get processed. As a side-benefit, this also means that GPU paint messages are not processed, which (I think) will avoid the ugliness of sometimes having sad tabs rendered during shutdown. This could happen because the renderers are also asynchronously killed during shutdown and so it's a race between painting the next frame and the browser window being closed. R=piman@chromium.org, cpu@chromium.org, darin@chromium.org BUG=318527,47908,142501 Review URL: https://codereview.chromium.org/170023002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251922 0039d316-1c4b-4281-b951-d872f2087c98
* Make storage_monitor a componentthiago.santos@intel.com2014-02-171-21/+6
| | | | | | | | | | | | | | | | | Move storage_monitor to the components directory and: - Make the unit tests part of the components unit tests. - Update the include headers for both chrome and storage_monitor code. - Update the buildsystem dependencies and paths. - Update the DEPS files for both chrome and storage_monitor with the new restrictions. R=joi@chromium.org,thestig@chromium.org BUG= Review URL: https://codereview.chromium.org/152343005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251699 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Tabpose feature on mac, and supporting infrastructure (PaintAtSize)piman@chromium.org2014-02-141-6/+0
| | | | | | | | | | | | | | | | Tabpose has been behind a flag for 3 years, and UMA shows usage is very low. It is the unique user of the RenderWidgetSnapshotTaker, and the only user of RWH::PaintAtSize, which we want to remove. XIB changes: * Remove Tabpose menu entry "Show Tab Overview..." BUG=251960, 223336 R=cevans@chromium.org, jamesr@chromium.org, sky@chromium.org, viettrungluu@chromium.org Review URL: https://codereview.chromium.org/154083008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251439 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove some unused code, or make them platform specific.thestig@chromium.org2014-02-031-2/+0
| | | | | | | | Found by Scythe. Review URL: https://codereview.chromium.org/136113019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@248465 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce TranslateService and TranslateDownloadManagerdroger@chromium.org2014-01-291-0/+2
| | | | | | | | | | | | | | | This CL removes the TranslateDelegate interface and introduces TranslateService and TranslateDownloadManager. This will enable (in a future CL) to move TranslateScript and TranslateLanguageList in the Translate component, and TranslateDownloadManager will own them. BUG=332736 Review URL: https://codereview.chromium.org/145023015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247724 0039d316-1c4b-4281-b951-d872f2087c98
* Split the BrowserPolicyConnector into platform parts.joaodasilva@chromium.org2014-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The BrowserPolicyConnector is the class that instantiates the rest of the policy code and wires it up to the rest of the browser (e.g. by overriding local state prefs at the BrowserProcessImpl). It also hosts some utilities and other central components. That class has grown over time and contains many platform-specific parts; it also had chrome-specific code that can't be used on iOS. This change breaks the class into 3 pieces: - the new BrowserPolicyConnector is the base class and lives in the component, so that an iOS subclass can be created in a subsequent CL. This is what g_browser_process holds now. - chrome/browser/policy contains ChromeBrowserPolicyConnector which overrides it and provides Chrome-specific initialization. - chrome/browser/chromeos/policy contains BrowserPolicyConnectorChromeOS which inherits from ChromeBrowserPolicyConnector and adds ChromeOS-specific components. ChromeBrowserPolicyConnector and the future BrowserPolicyConnectorIos only add configuration and no new methods, so the base class available from g_browser_process covers all current uses. BrowserPolicyConnectorChromeOS has methods that are needed on ChromeOS, and can now be obtained via g_browser_process->platform_parts()->browser_policy_connector_chromeos(). This CL doesn't make any functional changes; no behavior should be changed at all. BUG=275292 TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/141133003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246087 0039d316-1c4b-4281-b951-d872f2087c98
* Move component updater artifacts into component_updater namespace.sorin@chromium.org2014-01-171-6/+10
| | | | | | | | | | | | sky@ please look at the files in chrome/browser for owner approval. Long term, the idea is to unify several updaters in Chrome, so having a specific namespace could help avoiding name conflicts. Short term, the change reduces some naming verbosity in the implementation but makes the call site names longer, so it is a wash. Review URL: https://codereview.chromium.org/138553004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245596 0039d316-1c4b-4281-b951-d872f2087c98
* A CL that caused writes to LocalState during startup was causing ↵erikwright@chromium.org2014-01-141-0/+3
| | | | | | | | | | | | | | | | browser_test crashes because there would often be uncommitted LocalState changes during shutdown. In that CL a hack was used to fix this - force commits immediately after those changes (which were expected to be one-time only). But the one-time changes were actually on every startup and potentially high volume so the many commits were causing significant performance regressions. This CL fixes the root of the problem. Before shutting down the worker threads, we should schedule a commit of LocalState. BUG=331273,330908,331766,332093,330795 Review URL: https://codereview.chromium.org/134483003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244647 0039d316-1c4b-4281-b951-d872f2087c98
* Delay setting the consent to send settings until after threads are runningjochen@chromium.org2014-01-131-3/+6
| | | | | | | | | BUG=333847 R=joaodasilva@chromium.org Review URL: https://codereview.chromium.org/136713002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244499 0039d316-1c4b-4281-b951-d872f2087c98
* Move kExtensionResourceScheme to extensions/common/constants.hjamescook@chromium.org2013-12-191-1/+1
| | | | | | | | | | | | app_shell needs it and doesn't want chrome dependencies BUG=none TEST=compiles TBR=yoz@chromium.org Review URL: https://codereview.chromium.org/98253008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241728 0039d316-1c4b-4281-b951-d872f2087c98
* Run all flag-checks for new-profile-managment et al through common functions ↵bcwhite@chromium.org2013-12-181-2/+2
| | | | | | | | | | | | | | | | | | | for future Finch integration. In order to do tests and a safe, controlled roll-out of Chrome's new profile management, we're going to enable it using a Finch experiment. The current tests of the existing command-line flags all need to be routed through common functions in order to override these settings if a Finch experiment is set. Affected flags are: --new-profile-management --enable-inline-signin --google-profile-info Note that there existed a function to test for NewProfileManagement but it was not in a good place for general testing and definitely not for other flags so it has been extracted as well. BUG=324046 Review URL: https://codereview.chromium.org/108803007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241698 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] User manager should show up as a standalone window.noms@chromium.org2013-12-171-0/+6
| | | | | | | | | BUG=324040 TEST=With the --new-profile-management flag on, start Chrome and click the avatar button. Select "View All Users". This should bring up the User Manager in a new, top-level window. Review URL: https://codereview.chromium.org/102913002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241336 0039d316-1c4b-4281-b951-d872f2087c98
* Move policy code into components/policy.joaodasilva@chromium.org2013-12-081-2/+2
| | | | | | | | | | | | | | | | | | The code moved to component/policy can be included on iOS, but can't depend on chrome/. This move includes an exception for the policy protobufs: - the generic cloud policy protobufs will be moved into a new repository, due to a dependency from a ChromeOS package - the user cloud policy protobuf and its decoding will move into a new component for user policy BUG=271392 TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/109743002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@239399 0039d316-1c4b-4281-b951-d872f2087c98
* Deleting pending URLFetchers in WebRtcLogUploader at shutdown.grunell@chromium.org2013-11-251-0/+4
| | | | | | Review URL: https://codereview.chromium.org/68163005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237123 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up PrefServiceBuilderisherman@chromium.org2013-11-191-2/+2
| | | | | | | | | | | | | | | | | * Use simple setters rather than With* methods. * Explicitly transfer memory ownership. * Rename "Builder" to "Factory" * Eliminate the side-effect of resetting the builder from the Create* methods. Along the way, fix a memory leak in the Android WebView. BUG=315499 TEST=none (code should continue to compile and tests should continue to pass) R=joi@chromium.org Review URL: https://codereview.chromium.org/64193003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235913 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the observer of the kMetricsReportingEnabled pref.joaodasilva@chromium.org2013-11-171-3/+5
| | | | | | | | | | | | | | | | | | | | This observer makes sure that the "Consent To Send Stats" file follows the value of the kMetricsReportingEnabled pref, which can be configured by the user or by management policy. However, OptionsUtil::ResolveMetricsReportingEnabled also Starts/Stops the MetricsService but it should never start under some conditions (e.g. on non-official builds). This fix calls GoogleUpdateSettings::SetCollectStatsConsent directly to update the state of the file, without changing the current state of the MetricsService. BUG=318761 R=jochen@chromium.org Review URL: https://codereview.chromium.org/68503015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@235527 0039d316-1c4b-4281-b951-d872f2087c98
* Make the "Consent To Send Stats" file follow the kMetricsReportingEnabled pref.joaodasilva@chromium.org2013-11-141-0/+18
| | | | | | | | | | | | | | | | | | The options UI updates the state of this file manually (besides setting the pref), but when the policy overrides the pref then the file should be updated to reflect the pref's value. On Windows a registry key is kept in sync with the pref instead of the consents file. After this fix it'll be possible to simply set the pref from the options UI, and to remove the ChromeOS-specific code (that reads from device settings). BUG=318761 Review URL: https://codereview.chromium.org/70233005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234979 0039d316-1c4b-4281-b951-d872f2087c98
* Move ExtensionsProcessManager to src/extensions, part 2jamescook@chromium.org2013-11-051-2/+5
| | | | | | | | | | | | | | * Move observation of NOTIFICATION_BROWSER_WINDOW_READY to Chrome * Remove remaining references to Profile * Tidy up ChromeTestSuiteInitializer BUG=313481 TEST=unit_tests and browser_tests ExtensionProcessManager* R=sky@chromium.org, yoz@chromium.org Review URL: https://codereview.chromium.org/56253002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233011 0039d316-1c4b-4281-b951-d872f2087c98
* In some tests the component updater singleton might be called first from the ↵cpu@chromium.org2013-11-021-0/+2
| | | | | | | | | | | | | IO thread which is not expected. This is observed today. BUG=none TBR=jam Review URL: https://codereview.chromium.org/56743002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232551 0039d316-1c4b-4281-b951-d872f2087c98
* Adding relaunch menu to Windows 8 Aura code. We expect following transitions ↵shrikant@chromium.org2013-10-311-2/+4
| | | | | | | | | | | | | | | | with new menu: 1. When in desktop mode, you should see "Relaunch Chrome in Windows 8 mode", if clicked it will kill current browser process and relaunches all open tabs in Windows 8 mode. 2. When in Windows 8 mode, menu is "Relaunch Chrome in desktop mode", if clicked it will kill current browser process (gets user out of Ash shell) and relaunches all tabs in desktop mode. Once we select to launch in different mode through these menu items we store new mode in registry and use this mode as default mode for next time launch. This means even if you click on desktop icon and last mode stored is metro, user will be switched to metro mode. BUG=280823 R=cpu@chromium.org, jschuh@chromium.org, sky@chromium.org, ananta, cpu Review URL: https://codereview.chromium.org/32843009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232120 0039d316-1c4b-4281-b951-d872f2087c98
* Convert extensions::LazyBackgroundTaskQueue from Profile to BrowserContextjamescook@chromium.org2013-10-291-0/+3
| | | | | | | | | | | | | | | | | To do this, introduce the concept of an ExtensionsBrowserClient that allows the extensions module to ask Profile-like questions of the embedder. The rest of the change is mostly mechanical. Also, introduce some conventions around profile() vs. browser_context() and GetForProfile() vs. GetForBrowserContext() so we can tell which pieces of the system have been converted. BUG=309909 TEST=browser_tests LazyBackgroundPageApiTest.* unit_tests LazyBackgroundTaskQueueTest.* Review URL: https://codereview.chromium.org/46793003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231641 0039d316-1c4b-4281-b951-d872f2087c98
* Don't commit prefs::kStabilitySessionEndCompleted change immediately on chromeososhima@chromium.org2013-10-191-1/+4
| | | | | | | | | | Chrome on ChromeOS gets killed and generate dump when hangs or didn't respond in time, so this isn't necessary. BUG=302578 Review URL: https://codereview.chromium.org/25484004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229535 0039d316-1c4b-4281-b951-d872f2087c98
* Invoke LeakSanitizer in BrowserProcessImpl::ReleaseModule().earthdok@chromium.org2013-10-151-0/+9
| | | | | | | | | | | | | | | Leak detection is normally invoked from an AtExit handler which runs very late in the shutdown process. This doesn't play well with Chrome, because memory is often intentionally leaked during shutdown, causing a flood of uninteresting leak reports. Instead we try to invoke leak detection at the earliest possible point in the shutdown process. BUG=307043 R=glider@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/26895007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228621 0039d316-1c4b-4281-b951-d872f2087c98