summaryrefslogtreecommitdiffstats
path: root/chrome/service/service_process.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fix build failure with -Dremoting=0phajdan.jr@chromium.org2010-11-051-0/+2
| | | | | | | | | | | Patch by Mike Glibert. Original review: http://codereview.chromium.org/4416001 BUG=61797 TEST=Build with -Dremoting=0 Review URL: http://codereview.chromium.org/4570001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65184 0039d316-1c4b-4281-b951-d872f2087c98
* Add VideoReader and VideoWriter interfaces.sergeyu@chromium.org2010-11-031-5/+1
| | | | | | | | | | | Implemented VideoReader and VideoWriter for RTP and Protobuf. BUG=53986 TEST=None Review URL: http://codereview.chromium.org/4229003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64878 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure the service process kills all URLFetcher::Cores on shutdown.willchan@chromium.org2010-10-221-2/+30
| | | | | | | | | | | | | I'm not sure this is strictly necessary, since it may be that due to how the service process uses URLFetcher, that all fetches are already canceled by the time its IO thread shuts down. But this makes absolutely sure this is the case. Good practice in any case. This also makes it completely safe for us to have URLFetcher::Core stop using the DestructionObserver. BUG=59630 TEST=existing Review URL: http://codereview.chromium.org/3969006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63568 0039d316-1c4b-4281-b951-d872f2087c98
* Implement basic X11 screen capture on linux.ajwong@chromium.org2010-10-211-5/+12
| | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/3801012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63401 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - chrome/service/.pkasting@chromium.org2010-10-201-4/+3
| | | | | | | | | | Also, remove some extra {}s, simplify some code, and fix argument wrapping per style guide. BUG=none TEST=none Review URL: http://codereview.chromium.org/3940001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63257 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure to use scoped_refptr for refcounted params in audio/video/remotingwillchan@chromium.org2010-10-181-2/+6
| | | | | | | | | BUG=28083 TEST=existing Review URL: http://codereview.chromium.org/3821005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62949 0039d316-1c4b-4281-b951-d872f2087c98
* Spilt code in service_process_utils.cc into separate files for Windows and ↵sanjeevr@chromium.org2010-10-131-38/+5
| | | | | | | | | | | Posix. Added unit-tests for this file. Also created a ServiceProcessState class that manages global state for the service process. BUG=None TEST=Unit-tests, cloud print proxy. Review URL: http://codereview.chromium.org/3745001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62448 0039d316-1c4b-4281-b951-d872f2087c98
* Added the service process pid to the shared memory data. This will be used ↵sanjeevr@chromium.org2010-10-121-2/+2
| | | | | | | | | | | for tests. Also cleaned up some of the method names in service_process_utils.cc to make them clearer. BUG=None. TEST=Browser tests. Review URL: http://codereview.chromium.org/3727002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62223 0039d316-1c4b-4281-b951-d872f2087c98
* The IPC channel names and event names used by the service process now append ↵sanjeevr@chromium.org2010-10-091-7/+5
| | | | | | | | | | | | | the version string so that a browser with the same version only can talk to it. In addition, the service process writes its version into shared memory (the name of this shared mem does not use a version) and also listens on a shutdown event. This can be used by a newer service process to shutdown an older version when it starts. BUG=None TEST=Unittests, with an existing service process running, let chrome autoupdate and then run the service process again. It should kill the old one. Review URL: http://codereview.chromium.org/3603016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62066 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 61899 for breaking cookes on file:// URLs.willchan@chromium.org2010-10-081-6/+2
| | | | | | | | | | | | | | | | | | BUG=58553 ================================================= Fix instances of passing raw pointers to RefCounted objects in tasks. Some of these manually handled it correctly by using AddRef()/Release() pairs. I switched them to make_scoped_refptr() to be more consistent. This also makes them cleanup properly on MessageLoop shutdown if we start deleting tasks. BUG=28083 TEST=builds Review URL: http://codereview.chromium.org/3581008 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/3654001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62043 0039d316-1c4b-4281-b951-d872f2087c98
* Fix instances of passing raw pointers to RefCounted objects in tasks.willchan@chromium.org2010-10-081-2/+6
| | | | | | | | | | | Some of these manually handled it correctly by using AddRef()/Release() pairs. I switched them to make_scoped_refptr() to be more consistent. This also makes them cleanup properly on MessageLoop shutdown if we start deleting tasks. BUG=28083 TEST=builds Review URL: http://codereview.chromium.org/3581008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61899 0039d316-1c4b-4281-b951-d872f2087c98
* All communication with the cloud print proxy service from the browser now ↵sanjeevr@chromium.org2010-10-071-2/+14
| | | | | | | | | | | happens in the CloudPrintProxyService class. Added code to start the service process if the cloud print proxy was enabled. Also, when detect an auto-update, we send an IPC to the service process. The service process then shuts down when the browser disconnects. BUG=None TEST=Unit-tests, test Cloud Print proxy UI, test that when an update is available, the service process shuts down when the browser does. TBR=phajdan.jr Review URL: http://codereview.chromium.org/3617008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61871 0039d316-1c4b-4281-b951-d872f2087c98
* Removed the ServiceProcessType enum because a single service process should ↵sanjeevr@chromium.org2010-10-051-3/+2
| | | | | | | | | | | host all types of services. Also implemeneted a rudimentary singleton mechanism for the service process on Windows. BUG=None TEST=Test cloud print proxy and remoting UI. Review URL: http://codereview.chromium.org/3521012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61549 0039d316-1c4b-4281-b951-d872f2087c98
* The service process now enables a timebomb on startup to check if its ↵sanjeevr@chromium.org2010-10-041-6/+21
| | | | | | | | | | | services are needed. If not, it shuts down. Also the ShutdownIfNeeded method checks to see if clients are connected before shutting down. And we only try to recreate the channel if we were previously connected to a client. BUG=None. TEST=Run the service process without any enabled services. It should die within a minute. Review URL: http://codereview.chromium.org/3562004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61421 0039d316-1c4b-4281-b951-d872f2087c98
* The LSID for Cloud Print can now be supplied on the command line even if ↵sanjeevr@chromium.org2010-09-141-8/+18
| | | | | | | | | | | Cloud Print was previously enabled. This had broken during a recent change to remember the enabled state of Cloud Print in the service process. BUG=None TEST=With cloud print previously enabled, try launching the service process with a new LSID in the command line. Review URL: http://codereview.chromium.org/3384001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59387 0039d316-1c4b-4281-b951-d872f2087c98
* The Cloud Print proxy now handles auth errors and disables the cloud print ↵sanjeevr@chromium.org2010-09-131-0/+14
| | | | | | | | | | | | proxy. Also we detect loss of XMPP notifications and enter a job poll mode when we don't have notifications available. BUG=None. TEST=Test that the cloud print proxy disables itself when the token is invalid/expired. Also when the Talk token is invalid/expired, it should enter a job poll state. Review URL: http://codereview.chromium.org/3374007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59257 0039d316-1c4b-4281-b951-d872f2087c98
* Registered the service process to AutoRun (for Windows) if any service ↵sanjeevr@chromium.org2010-09-011-7/+80
| | | | | | | | | | | (CloudPrint or Remoting) is enabled. When all services are disabled, we delete the AutoRun key. Also remembered the enabled state of the Cloud Print Proxy in the service prefs. BUG=None TEST=After enabling cloud print or chromoting on Windows, the service process should auto start on user login. Review URL: http://codereview.chromium.org/3257011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58246 0039d316-1c4b-4281-b951-d872f2087c98
* Use named events instead of lock files for service processhclam@chromium.org2010-08-311-9/+7
| | | | | | | | | | | Use named events to signal that a service process is running. BUG=52891 TEST=browser_tests --gtest_filter=ServiceProcess* Review URL: http://codereview.chromium.org/3268003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58041 0039d316-1c4b-4281-b951-d872f2087c98
* Chromoting: Get screen size locally if it wasn't given in the mouse message.garykac@google.com2010-08-311-4/+4
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3229007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58002 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit r56600 - Start/stop service process when browser starts and stophclam@chromium.org2010-08-231-1/+20
| | | | | | | | | | | | | | | | | Save the information that the setup of remoting has completed. After setup has been completed we start and stop service process when --enable-remoting presents when browser starts. Also save the information in the service process that host is registered and ready to be used. Again start chromoting host automatically once the host registration is done. BUG=50244, 50242, 50243, 50249 Review URL: http://codereview.chromium.org/3153029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57120 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 56600 - ServiceProcessControlBrowserTest.LaunchAndIPC crashes.rvargas@google.com2010-08-181-19/+0
| | | | | | | | | | | | | | | | | | | | Start/stop service process when browser starts and stop Save the information that the setup of remoting has completed. After setup has been completed we start and stop service process when --enable-remoting presents when browser starts. Also save the information in the service process that host is registered and ready to be used. Again start chromoting host automatically once the host registration is done. Review URL: http://codereview.chromium.org/3185015 TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/3107024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56610 0039d316-1c4b-4281-b951-d872f2087c98
* Start/stop service process when browser starts and stophclam@chromium.org2010-08-181-0/+19
| | | | | | | | | | | | | | | Save the information that the setup of remoting has completed. After setup has been completed we start and stop service process when --enable-remoting presents when browser starts. Also save the information in the service process that host is registered and ready to be used. Again start chromoting host automatically once the host registration is done. Review URL: http://codereview.chromium.org/3185015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56600 0039d316-1c4b-4281-b951-d872f2087c98
* RemotingDirectoryService to register remoting hosthclam@chromium.org2010-08-181-14/+35
| | | | | | | | | | Complete the implementation of RemotingDirectoryService using URLFetcher. This will allow the remoting host to register when an IPC message is received. Review URL: http://codereview.chromium.org/3124026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56468 0039d316-1c4b-4281-b951-d872f2087c98
* Gaia authentication for access remoting directory and talkhclam@chromium.org2010-08-171-0/+24
| | | | | | | | | | | | | | | | We are now able to access remoting directory token and talk token through the chromoting setup dialog. These information are sent to the service process for enabling the chromoting host and perform the host registration. All the plumbing for starting the service process, enabling the chromoting host through through IPC commands are in place but host registration is stubbed out and will be completed in next patch. Review URL: http://codereview.chromium.org/3176014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56278 0039d316-1c4b-4281-b951-d872f2087c98
* ServiceProcessControl to launch a service process and communicate through IPC.hclam@chromium.org2010-08-121-13/+25
| | | | | | | | | | | | | | | | | | Added two class for use with service process: ServiceProcessControl Used by the browser to launch and connect to the service process, also used to receive messages from the service process. ServiceProcessControlManager A singleton to manage multiple ServicProcessControl. BUG=50244 TEST=browser_tests --gtest_filter=ServiceProcess* Review URL: http://codereview.chromium.org/3032061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55826 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit "Start chromoting host in the service process though a method call"hclam@chromium.org2010-08-101-13/+112
| | | | | | | | | | | | | | This change exposes method calls to configure the chromoting host and allow it to be started from a method. This will allow us to use IPC message to start the chromoting host. TEST=unit_tests --gtest_filter=ServiceProcess* BUG=50243, 50244 Review URL: http://codereview.chromium.org/3105002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55593 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55507 - Start chromoting host in the service process though a method ↵glen@chromium.org2010-08-101-112/+13
| | | | | | | | | | | | | | | | | | | call This change exposes method calls to configure the chromoting host and allow it to be started from a method. This will allow us to use IPC message to start the chromoting host. TEST=unit_tests --gtest_filter=ServiceProcess* BUG=50243, 50244 Review URL: http://codereview.chromium.org/3084024 TBR=hclam@chromium.org Review URL: http://codereview.chromium.org/3110004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55525 0039d316-1c4b-4281-b951-d872f2087c98
* Start chromoting host in the service process though a method callhclam@chromium.org2010-08-101-13/+112
| | | | | | | | | | | | | | This change exposes method calls to configure the chromoting host and allow it to be started from a method. This will allow us to use IPC message to start the chromoting host. TEST=unit_tests --gtest_filter=ServiceProcess* BUG=50243, 50244 Review URL: http://codereview.chromium.org/3084024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55507 0039d316-1c4b-4281-b951-d872f2087c98
* Added an IPC server in the service process to listen to commands. This is ↵sanjeevr@chromium.org2010-07-311-10/+40
| | | | | | | | | | | not used yet. BUG=None TEST=None for now since this code is not enabled. Review URL: http://codereview.chromium.org/3041036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54440 0039d316-1c4b-4281-b951-d872f2087c98
* [chromoting] Use zlib as the default encoder and decoderhclam@chromium.org2010-07-271-2/+2
| | | | | | | | | | Use EncoderZlib / DecoderZlib as default encoder and decoder. BUG=50246 Review URL: http://codereview.chromium.org/3034035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53742 0039d316-1c4b-4281-b951-d872f2087c98
* Moving Encoder and Decoder to remoting/basehclam@chromium.org2010-07-231-2/+1
| | | | | | | | | | | Putting Encder and Decoder together so we can have test that tests both of them. TEST=remoting_unittests Review URL: http://codereview.chromium.org/2840036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53427 0039d316-1c4b-4281-b951-d872f2087c98
* Start Chromoting Host Process in Chrome Servicehclam@chromium.org2010-07-011-0/+44
| | | | | | | | | | | | Enable chromoting host process if chrome is started with --type=service --enable-chromoting BUG=none TEST=chrome --type=service --enable-chromoting Review URL: http://codereview.chromium.org/2813038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51393 0039d316-1c4b-4281-b951-d872f2087c98
* Massively simplify the NetworkChangeNotifier infrastructure:pkasting@chromium.org2010-06-251-5/+5
| | | | | | | | | | | | | | * Use a process-wide object (singleton pattern) * Create/destroy this object on the main thread, make it outlive all consumers * Make observer-related functions threadsafe As a result, the notifier can now be used by any thread (eliminating things like NetworkChangeObserverProxy and NetworkChangeNotifierProxy, and expanding its usefulness); its creation and inner workings are much simplified (eliminating implementation-specific classes); and it is simpler to access (eliminating things like NetworkChangeNotifierThread and a LOT of passing pointers around). BUG=none TEST=Unittests; network changes still trigger notifications Review URL: http://codereview.chromium.org/2802015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50895 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 50402 (build failure) - Pass in NetLog to NetworkChangeNotifier.willchan@chromium.org2010-06-211-1/+2
| | | | | | | | | | | BUG=46822 Review URL: http://codereview.chromium.org/2857009 TBR=willchan@chromium.org Review URL: http://codereview.chromium.org/2843017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50406 0039d316-1c4b-4281-b951-d872f2087c98
* Pass in NetLog to NetworkChangeNotifier.willchan@chromium.org2010-06-211-2/+1
| | | | | | | | BUG=46822 Review URL: http://codereview.chromium.org/2857009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50402 0039d316-1c4b-4281-b951-d872f2087c98
* Added the ability in the service process to save and read state from a prefs ↵sanjeevr@chromium.org2010-05-211-6/+9
| | | | | | | | | | | file. Used this to save and read the cloud print proxy auth token and proxy id. BUG=None. TEST=Test Cloud Print Proxy (run it second time without LSID and ProxyId command-line args) Review URL: http://codereview.chromium.org/2066018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47945 0039d316-1c4b-4281-b951-d872f2087c98
* Added an implementation of the NetworkChangeNotifierThread interface for the ↵sanjeevr@chromium.org2010-05-211-0/+5
| | | | | | | | | | | service process and used it. BUG=None. TEST=Unit-test provided. Also test cloud print proxy. Review URL: http://codereview.chromium.org/2086020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47881 0039d316-1c4b-4281-b951-d872f2087c98
* Created a new process type called the service process to host background ↵sanjeevr@chromium.org2010-05-121-0/+48
tasks such as the Cloud Print Proxy. BUG=None. TEST=None. Review URL: http://codereview.chromium.org/2001009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47055 0039d316-1c4b-4281-b951-d872f2087c98