summaryrefslogtreecommitdiffstats
path: root/chrome/browser/plugin_process_host.cc
Commit message (Collapse)AuthorAgeFilesLines
* Port plugin messages.jam@chromium.org2009-04-011-32/+15
| | | | | | Review URL: http://codereview.chromium.org/49050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12928 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor plugin process code which checks with the browser process before ↵jam@chromium.org2009-03-271-26/+0
| | | | | | | | | | | shutdown, to avoid races in which the browser process thinks the process is fine to use while it's shutting down. I also removed PluginProcess/WorkerProcess since they didn't have any code in them now. I removed the plugin process code which waits 10 seconds before shutting itself down. That was a premature optimization, since testing with/without this didn't show any difference (see http://www/~jabdelmalek/chrome/test/plugins/processes.html). In both cases, the plugin on a page would get recreated in less than 100ms, even with reusing or starting a plugin process from scratch. We already spawn new renderer processes on back and forth if it's a different origin, and the plugin will be in the cache anyways. Review URL: http://codereview.chromium.org/53091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12703 0039d316-1c4b-4281-b951-d872f2087c98
* Hide StatsTable behind --enable-stats-table.mbelshe@google.com2009-03-271-0/+1
| | | | | | Review URL: http://codereview.chromium.org/49045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12690 0039d316-1c4b-4281-b951-d872f2087c98
* Expose whether we're in private browsing mode to plugins.I chose to ↵jam@chromium.org2009-03-261-1/+2
| | | | | | | | | implement this for multi-process mode only and not --single-process or --in-process-plugins, since I wanted to send this data from the browser process, not the renderer (in case it's exploited). BUG=158 Review URL: http://codereview.chromium.org/52037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12588 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor sandboxing code so that it can be used by worker processes.jam@chromium.org2009-03-181-55/+9
| | | | | | Review URL: http://codereview.chromium.org/42311 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12038 0039d316-1c4b-4281-b951-d872f2087c98
* Hide the details about ResourceDispatcherHost messages from child processes. ↵jam@chromium.org2009-03-171-54/+10
| | | | | | | | The usage of RDH is now like RD, the client sends the message to RDH to see if it should handle it. I added methods to the Receiver interface so that RDH can get to the process id/handle/type when starting requests. Review URL: http://codereview.chromium.org/42202 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11816 0039d316-1c4b-4281-b951-d872f2087c98
* Stop having renderers use both pids and a monotonically increasing ↵jam@chromium.org2009-03-121-37/+15
| | | | | | | | "host_id". This allows ResourceDispatcher to be used by child processes other than renderers. I've done minor related cleanup on the way to make the code simpler. Review URL: http://codereview.chromium.org/42054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11509 0039d316-1c4b-4281-b951-d872f2087c98
* A little cleanup of ResourceDispatcherHost to make it less renderer centric, ↵jam@chromium.org2009-03-101-19/+10
| | | | | | | | since it's used by plugin and worker processes. Review URL: http://codereview.chromium.org/43001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11393 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGE.maruel@google.com2009-03-051-3/+4
| | | | | | | Split the lines >80 cols. (Part 1) Review URL: http://codereview.chromium.org/39206 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11032 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that we display a sad face for a windowed plugin when the plugin ↵ananta@chromium.org2009-03-051-21/+34
| | | | | | | | | | | | | | | process crashes. This was a regression introduced by creating the plugin parent on the browser UI thread, which remains valid when the plugin process crashes. The fix is to track plugin wrapper windows in the PluginProcessHost class and destroy any remaining windows in the destructor. Removed the DestroyWindowTask which destroys the windows on the UI thread. We can achieve the same result by posting WM_CLOSE messages to these windows. This fixes http://code.google.com/p/chromium/issues/detail?id=7673 Bug=7673 Review URL: http://codereview.chromium.org/40120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10960 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash when installing plugins.jhawkins@chromium.org2009-03-031-2/+5
| | | | | | | | | | | * Make sure the scoped_ptr is initialized before trying to open a file. * Assign the result of FilePath::Append to download_file_path_. R=ananta BUG=8087 Review URL: http://codereview.chromium.org/28349 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10787 0039d316-1c4b-4281-b951-d872f2087c98
* Add logging to ExtensionsService, UserScriptMaster,aa@chromium.org2009-02-241-0/+1
| | | | | | | | | | | | | | | and PluginChannel to be able to see what happens when chrome runs extensions headless. It would be better to modify the existing IPC::Logging mechanism than add logging to PluginChannel, so that it could be useful for debugging other types of IPC problems. But I don't have time to do that right now. Review URL: http://codereview.chromium.org/28091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10302 0039d316-1c4b-4281-b951-d872f2087c98
* Make plugin_process_host.cc and child_process_host.cc compile on Posix.jhawkins@chromium.org2009-02-231-59/+106
| | | | | | Review URL: http://codereview.chromium.org/27018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10210 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce the amount of included header files. Vast change like in "Oh God! ↵maruel@chromium.org2009-02-181-0/+1
| | | | | | | | This revision changes half of the source files!". Review URL: http://codereview.chromium.org/20378 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9958 0039d316-1c4b-4281-b951-d872f2087c98
* Take out common functionality from PluginProcessHost and move it to ↵jam@chromium.org2009-02-181-125/+17
| | | | | | | | ChildProcessHost. Review URL: http://codereview.chromium.org/21443 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9935 0039d316-1c4b-4281-b951-d872f2087c98
* Have ChildProcessInfo contain a list of all running child processes (i.e. ↵jam@chromium.org2009-02-131-52/+34
| | | | | | | | instead of Service and other child process service maintain it). In a future change I'll start moving some of the code from PluginProcessHost to ChildProcessInfo. Review URL: http://codereview.chromium.org/24017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9804 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor plugin process code in the browser process so that the ↵jam@chromium.org2009-02-111-68/+42
| | | | | | | | browser/about:memory/task manager/metrics code doesn't depend on PluginProcessHost pointers. In a future changelist I'll add one central child process registry in the browser process. Review URL: http://codereview.chromium.org/20196 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9621 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds macro used to track the creation and destructionjcampan@chromium.org2009-02-041-0/+3
| | | | | | | | | | | of HWNDs, in an attempt to detect potential double-delete. A double-delete of a HWND might be responsible for the crasher http://crbug.com/4714 Note: this CL was previously committed and reverted because it broke the sandbox integration module. Review URL: http://codereview.chromium.org/21032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9161 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 9109.ojan@google.com2009-02-031-3/+0
| | | | | | | Broke the build. Review URL: http://codereview.chromium.org/20029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9110 0039d316-1c4b-4281-b951-d872f2087c98
* This CL adds macro used to track the creation and destructionjcampan@chromium.org2009-02-031-0/+3
| | | | | | | | | | | | of HWNDs, in an attempt to detect potential double-delete. A double-delete of a HWND might be responsible for the crasher http://crbug.com/4714 Review URL: http://codereview.chromium.org/21018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9109 0039d316-1c4b-4281-b951-d872f2087c98
* Remove most header file dependencies on the notification type list. It isbrettw@chromium.org2009-02-011-11/+13
| | | | | | | | | | | really painful to add more types, since lots of headers include the notification service to derive from the notification observer. This splits that out, so much less of the project should end up including notification_types.h ---Paths modified but not in any changelist: Review URL: http://codereview.chromium.org/19744 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9020 0039d316-1c4b-4281-b951-d872f2087c98
* Move proxy resolve requests out of plugin/renderer process, and into the ↵ericroman@google.com2009-01-311-58/+9
| | | | | | | | browser. Review URL: http://codereview.chromium.org/14142 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9006 0039d316-1c4b-4281-b951-d872f2087c98
* Change URLRequest to use a ref-counted buffer for actual IO.rvargas@google.com2009-01-291-8/+11
| | | | | | | | | | This will re-land http://codereview.chromium.org/18390 BUG=5325 Review URL: http://codereview.chromium.org/19004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8847 0039d316-1c4b-4281-b951-d872f2087c98
* Porting profiles to the Mac.avi@chromium.org2009-01-281-1/+2
| | | | | | Review URL: http://codereview.chromium.org/19623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8831 0039d316-1c4b-4281-b951-d872f2087c98
* revert r8603rvargas@google.com2009-01-241-11/+8
| | | | | | Review URL: http://codereview.chromium.org/18576 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8605 0039d316-1c4b-4281-b951-d872f2087c98
* Change URLRequest to use a ref-counted buffer for actual IO.The ref-counting ↵rvargas@google.com2009-01-241-8/+11
| | | | | | | | will prevent the deletion / reuse of memorywhile the buffer is actually being used by pending IO.This seems a very intrusive change, but at least we will be ableto make sure that it works without having to chase every singledestruction of an URLRequest to make sure that any pending IOwas cancelled, and also allows us to avoid blocking onthe object destruction.BUG=5325 Review URL: http://codereview.chromium.org/18390 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8603 0039d316-1c4b-4281-b951-d872f2087c98
* More speedup of scrolling when many windowed plugins in a page. Scrolling ↵jam@chromium.org2009-01-221-1/+2
| | | | | | | | | | | | is now at parity with single process browsers in my testing. This works by making painting of child windows asynchronous. The key is to send, not post, the custom message. This allows the redraw message to jump the queue and get dispatched before other queued [Windows, IPC] messages, which eliminates painting artifacts. Now that painting is asynchronous, I had to take out the SWP_NOREDRAW flag to DeferWindowPos. While it's slightly faster without it, the visual aritfacts are noticable. Review URL: http://codereview.chromium.org/18637 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8432 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a timing issue that caused gears to fail to load sometimes.mpcomplete@google.com2009-01-211-6/+5
| | | | | | | | BUG=http://b/issue?id=1559007 BUG=http://code.google.com/p/chromium/issues/detail?id=4219 Review URL: http://codereview.chromium.org/18604 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8417 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-211-21/+21
| | | | | | | | | | | current process's command line. One explicit goal of this change is to *not* deal with the string/wstring issues at the API on POSIX; the functions are the same as before, which means they remain as broken as before. (I did try to fix the internals, though, so migrating the callers is now possible by adding platform-appropriate hooks.) Review URL: http://codereview.chromium.org/18248 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8347 0039d316-1c4b-4281-b951-d872f2087c98
* Improve scrolling performance when there are many windowed plugins in a page.jam@chromium.org2009-01-161-0/+94
| | | | | | | | This works by parenting windowed plugins with an HWND that's hosted in the browser process, so that no synchronous cross process messages are used when scrolling. BUG=5428 Review URL: http://codereview.chromium.org/18082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8239 0039d316-1c4b-4281-b951-d872f2087c98
* Move functions required by the rest of the browser from RenderProcessHost to ↵brettw@chromium.org2009-01-161-1/+2
| | | | | | | | an interface and move the implementation to BrowserRenderProcessHost. This will allow me to write render view unit tests without using the actual renderer, but there are no tests yet. Review URL: http://codereview.chromium.org/18132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8188 0039d316-1c4b-4281-b951-d872f2087c98
* Change "dll" to "plugin" where appropriate.avi@google.com2009-01-061-17/+19
| | | | | | Review URL: http://codereview.chromium.org/16543 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7617 0039d316-1c4b-4281-b951-d872f2087c98
* Move plugins to FilePaths, some cleanupavi@google.com2009-01-061-21/+20
| | | | | | Review URL: http://codereview.chromium.org/16456 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7588 0039d316-1c4b-4281-b951-d872f2087c98
* New attempt at landing the resource_dispatcher_host.cc splitting (broke the ↵jcampan@chromium.org2008-12-231-1/+1
| | | | | | | | | build on Friday). TBR=darin Review URL: http://codereview.chromium.org/15801 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7400 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting my CL to fix build bustage.jcampan@chromium.org2008-12-201-1/+1
| | | | | | | TBR=maruel Review URL: http://codereview.chromium.org/15099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7338 0039d316-1c4b-4281-b951-d872f2087c98
* This CL moves the different resource handlers from ↵jcampan@chromium.org2008-12-201-1/+1
| | | | | | | | | | | | | | | | resource_dispatcher_host.cc into their own files, into a new renderer_host directory. Their is no functionality change in this CL. The motivation for doing that was: - resource_dispatcher_host.cc has become very long and more than 1/3 of the code is for the resource handler. - having the resource handler in their own file allows having unit tests for them. BUG=none TEST=run all unit tests and UI tests. Review URL: http://codereview.chromium.org/14487 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7336 0039d316-1c4b-4281-b951-d872f2087c98
* Misc proxy service changes.ericroman@google.com2008-12-101-0/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (1) Changed the proxy service ownership model -- rather than being a detail of the HTTP stack, it is now a dependency owned by UrlRequestContext. - ProxyService is owned by UrlRequestContext (before was HttpNetworkSession) - ProxyResolver is owned by ProxyService (before was HttpNetworkSession) Being able to share the proxy service is needed in several places, including incognito mode http context (http://crbug.com/3564), and for proxy resolving in the new FTP stack. (2) Added an IPC for getting of the ProxyResolverWinHttp dependency in the plugin process. Not hooked up yet, but intent is to route the proxy resolve requests through the browser process. (3) Changed some unit tests which were depending on the system proxy settings (this was a sideffect of their calling HttpNetworkLayer::CreateFactory(NULL)). (4) Moved the first-time ProxyService::UpdateConfig out of the constructor and into the initial request. Done to avoid startup perf regressions, since the ProxyService construction is now done earlier (on the startup critical path). BUG=3564 Review URL: http://codereview.chromium.org/12938 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6693 0039d316-1c4b-4281-b951-d872f2087c98
* Add Terminate() to the Process object, have RenderProcessHost use this to ↵brettw@google.com2008-11-141-2/+2
| | | | | | | | | | avoid some more Windows specific code. Move Process and SharedMemory into the base namespace (most changes). Review URL: http://codereview.chromium.org/10895 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5446 0039d316-1c4b-4281-b951-d872f2087c98
* Fix regression of b/issue?id=1280317. We need to do a case-insensitivempcomplete@google.com2008-10-311-4/+9
| | | | | | | | | compare of filenames to test if a plugin is Gears. BUG=1280317 Review URL: http://codereview.chromium.org/8784 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4322 0039d316-1c4b-4281-b951-d872f2087c98
* This fixes http://code.google.com/p/chromium/issues/detail?id=3769, whichananta@chromium.org2008-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | is to allow users to download the java plugin via our plugin installer. The plugin installer currently supports URLs which point to executable files. However the java runtime path is timed and changes frequently. As a stop gap fix for this, I added a facility in the plugin installer which indicates if a URL is a display URL. If yes then we navigate to this URL in a new tab, and allow the user to download the plugin from there. The format of the chrome_plugins_file.xml has been changed to have each plugin node specify a list of mime types. This reduces a great deal of duplicated information in the plugins file. Changed the plugin finder URL to http://dl.google.com/chrome/plugins/plugins2.xml to ensure that older clients continue to work. Bug=3769 R=jam Review URL: http://codereview.chromium.org/8729 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4260 0039d316-1c4b-4281-b951-d872f2087c98
* Make plugin processes (except Gears) run at normal priority.jam@chromium.org2008-10-131-2/+6
| | | | | | | | | This fixes a lot of the spurious unresponsive plugin dialogs, and also makes it so that the browser process isn't hung waiting for a low priority plugin process when cpu usage is high. I was able to simulate this by using 100% cpu in a test program. Before this change, the dialog always comes up and a flash video never plays. The browser process is also hung. With this change the video plays and I can interact with the browser. Review URL: http://codereview.chromium.org/7129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3323 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command-line switch to change the user agent.BUG=757345pkasting@chromium.org2008-09-241-0/+1
| | | | | | Review URL: http://codereview.chromium.org/4059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2571 0039d316-1c4b-4281-b951-d872f2087c98
* Adds a logging level command line switchcpu@google.com2008-08-291-0/+1
| | | | | | | | - Adds --log-level=n with n=0,1,2,3 - Increases the default logging level from INFO to WARNING there is way too much noise there. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1547 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Third times a charm! This is an attempt at re-landing r408. This time the ↵darin@google.com2008-08-081-2/+2
| | | | | | | | UI test is revised to give the browser a chance to notice a crashed tab. TBR=nsylvain git-svn-id: svn://svn.chromium.org/chrome/trunk/src@557 0039d316-1c4b-4281-b951-d872f2087c98
* rollback r498 and r500 to repair test bustagedarin@google.com2008-08-071-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@503 0039d316-1c4b-4281-b951-d872f2087c98
* Revised r408 such that we no longer sometimes fail ↵darin@google.com2008-08-071-2/+2
| | | | | | | | | | | | MetricsServiceTest.CrashRenderers. That test showed that we were exiting the browser process without noticing that a child process had crashed. I fixed that by simply adding a check to see if the child process is still around before initiating the normal close of the child process. This corresponds to the case where the browser decides to close a renderer. As a result, the race for the MessageLoop to receive a Task notifying the RenderProcessHost of a crashed renderer is removed from the picture. The bulk of this CL is just re-landing r408, which jar reviewed. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@498 0039d316-1c4b-4281-b951-d872f2087c98
* Revert change 408 to see if it fixes the ui tests.nsylvain@google.com2008-08-061-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@438 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more consumers of ML::WatchObject to ObjectWatcher.darin@google.com2008-08-051-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@408 0039d316-1c4b-4281-b951-d872f2087c98
* Move more net classes into the net namespace. Also remove the net_util ↵darin@google.com2008-07-311-2/+2
| | | | | | | | namespace in favor of the net namespace. This is a purely mechanical change. There should be no logic changes. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192 0039d316-1c4b-4281-b951-d872f2087c98