summaryrefslogtreecommitdiffstats
path: root/chrome/browser/plugin_service.h
Commit message (Collapse)AuthorAgeFilesLines
* Implement chrome://plugins page that can disable plugins.viettrungluu@chromium.org2010-03-241-1/+6
| | | | | | | | | BUG=736 TEST=Go to chrome://plugins/. Should be able to enable/disable plugins. Enabled/disabled plugins should persist between sessions. Review URL: http://codereview.chromium.org/1085003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42412 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 33344 - Relocate plugin list fetching to PluginServicejamesr@chromium.org2009-11-301-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We fetch the plugin list from three places. Previously, each location had custom code to proxy the query to the file thread. This change moves the query to the PluginService, which then internally manages posting to the file thread and calling back. I experimented with some different approaches to handling the lifetimes of the requests and responses. The approach now is simple: The PluginService plugin methods are called and respond on the IO thread. Two of the three consumers of the plugin lists are already on the IO thread, so they don't need any complicated thread handling. None of the callers ever need to cancel their requests: one is a singleton, and the other two always wait (in terms of holding a ref on the object) for the requests to complete. This makes lifetime management a lot simpler than it would otherwise be. With this change in place, I can then look at refactoring the PluginService implementation on Linux to do more complicated plugin loading as needed in bug 17863. BUG=17863 Review URL: http://codereview.chromium.org/437069 TBR=evan@chromium.org Review URL: http://codereview.chromium.org/456012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33369 0039d316-1c4b-4281-b951-d872f2087c98
* Relocate plugin list fetching to PluginServiceevan@chromium.org2009-11-301-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | We fetch the plugin list from three places. Previously, each location had custom code to proxy the query to the file thread. This change moves the query to the PluginService, which then internally manages posting to the file thread and calling back. I experimented with some different approaches to handling the lifetimes of the requests and responses. The approach now is simple: - The PluginService plugin methods are called and respond on the IO thread. Two of the three consumers of the plugin lists are already on the IO thread, so they don't need any complicated thread handling. - None of the callers ever need to cancel their requests: one is a singleton, and the other two always wait (in terms of holding a ref on the object) for the requests to complete. This makes lifetime management a lot simpler than it would otherwise be. With this change in place, I can then look at refactoring the PluginService implementation on Linux to do more complicated plugin loading as needed in bug 17863. BUG=17863 Review URL: http://codereview.chromium.org/437069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33344 0039d316-1c4b-4281-b951-d872f2087c98
* Tommi, please review everything. John please review the changes to ↵ananta@chromium.org2009-11-211-0/+5
| | | | | | | | | | | | | | | | | | plugin_service.cc/.h The test automation provider registers itself as a protocol factory for http/https requests. This is to ensure that intercepts set by the url request network tests work correctly. I was seeing these tests fail consistently on my setup as their intercept function would never get called. The other change is to add a simple mechanism based on a boolean flag to disable browser side plugins like gears which also intercept network requests and expect to be called on the IO thread. The chrome frame network tests run in a relatively simple environment where the network tests run in a separate thread (not the IO thread) which causes a number of DCHECKS to fire in debug build test runs. The flag used to determine whether browser plugins are loaded defaults to true. Review URL: http://codereview.chromium.org/414017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32739 0039d316-1c4b-4281-b951-d872f2087c98
* Take out the activex control.BUG=20259jam@chromium.org2009-09-081-4/+1
| | | | | | Review URL: http://codereview.chromium.org/200031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25650 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure we don't load plugins on the IO thread.jam@chromium.org2009-08-151-15/+2
| | | | | | | | | | I had to move the locks from PluginService to PluginList, so that a lock (which can block other threads) isn't held while loading the plugins. BUG=17938 TEST=added asserts which crash if plugins loaded on IO thread, current UI tests exercise them Review URL: http://codereview.chromium.org/164305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23501 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 23420. It caused a reliability regression.maruel@chromium.org2009-08-141-2/+15
| | | | | | | | | TBR=jam BUG=none TEST=reliability Review URL: http://codereview.chromium.org/165532 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23437 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure we don't load plugins on the IO thread.jam@chromium.org2009-08-141-15/+2
| | | | | | | | | | I had to move the locks from PluginService to PluginList, so that a lock (which can block other threads) isn't held while loading the plugins. BUG=17938 TEST=added asserts which crash if plugins loaded on IO thread, current UI tests exercise them Review URL: http://codereview.chromium.org/164305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23420 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 23064 - Ensure we don't load plugins on the IO threadsgk@google.com2009-08-111-5/+1
| | | | | | | | | | | BUG=17938 TEST=added asserts which crash if plugins loaded on IO thread, current UI tests exercise them Review URL: http://codereview.chromium.org/164305 TBR=jam@chromium.org Review URL: http://codereview.chromium.org/165321 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23073 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure we don't load plugins on the IO threadjam@chromium.org2009-08-111-1/+5
| | | | | | | | BUG=17938 TEST=added asserts which crash if plugins loaded on IO thread, current UI tests exercise them Review URL: http://codereview.chromium.org/164305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23064 0039d316-1c4b-4281-b951-d872f2087c98
* Refuse to load extension-private plugins for pages that don't belong to thatmpcomplete@google.com2009-06-051-12/+18
| | | | | | | | | | extension. BUG=12960 TEST=none Review URL: http://codereview.chromium.org/118198 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17743 0039d316-1c4b-4281-b951-d872f2087c98
* Change plugin handling in extension from "plugin_dir" to a "plugin" list ofmpcomplete@google.com2009-06-031-5/+0
| | | | | | | | | | | | dictionaries, which allows us to specify properties per plugin. This is the first part of allowing extensions to have plugins only accessible by the extension process. BUG=12960 Review URL: http://codereview.chromium.org/114072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17510 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up more of extension uninstall.aa@chromium.org2009-05-211-2/+12
| | | | | | | | | | | Also removed all external dependencies from ExtensionsService. It now only sends out notifications, which other services consume. This should allow us to unit test the ExtensionsService frontend, but I haven't added that yet. Review URL: http://codereview.chromium.org/113493 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16676 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Hook up more of extension uninstall."aa@chromium.org2009-05-211-9/+2
| | | | | | | | This reverts commit ebb5f616663f9d5ee78584187da16bba4ce96811. Review URL: http://codereview.chromium.org/113680 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16557 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up more of extension uninstall.aa@chromium.org2009-05-201-2/+9
| | | | | | | | | | | Also removed all external dependencies from ExtensionsService. It now only sends out notifications, which other services consume. This should allow us to unit test the ExtensionsService frontend, but I haven't added that yet. Review URL: http://codereview.chromium.org/113493 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16547 0039d316-1c4b-4281-b951-d872f2087c98
* TBR: Revert "Hook up more of extension uninstall."aa@chromium.org2009-05-201-9/+2
| | | | | | | | This reverts commit 5b2fc12fbca26b20ed4176ac740c58fe49360c4a. Review URL: http://codereview.chromium.org/113664 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16538 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up more of extension uninstall.aa@chromium.org2009-05-201-2/+9
| | | | | | | | | | | Also removed all external dependencies from ExtensionsService. It now only sends out notifications, which other services consume. This should allow us to unit test the ExtensionsService frontend, but I haven't added that yet. Review URL: http://codereview.chromium.org/113493 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16529 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome side of using WebPluginListBuilder.darin@chromium.org2009-04-241-1/+2
| | | | | | | | | | | | | | I also broke glue/webplugininfo.h out of glue/webplugin.h as part of this change. Eventually, glue/webplugin.h will go away and be moved into the WebKit API, but the structures left in glue/webplugininfo.h need to remain since they are used extensively throughout Chrome. BUG=10922 R=dglazkov Review URL: http://codereview.chromium.org/93116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14438 0039d316-1c4b-4281-b951-d872f2087c98
* Allow Flash (and other plugins) to be installed without restarting the ↵jam@chromium.org2009-04-231-1/+19
| | | | | | | | | | | browser. This works by monitoring the MozillaPlugins registry key and reloading the plugin list afterwards. Note: I'll commit the WebKit change separately, but putting it in this change right now so everything can be reviewed together. BUG=10574 Review URL: http://codereview.chromium.org/88020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14377 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor plugin process code which checks with the browser process before ↵jam@chromium.org2009-03-271-27/+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
* Add NPAPI plugins contained in extensions to the PluginList.mpcomplete@google.com2009-02-211-0/+5
| | | | | | Review URL: http://codereview.chromium.org/20521 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10139 0039d316-1c4b-4281-b951-d872f2087c98
* Make plugin_service.cc compile on Posix.jhawkins@chromium.org2009-02-201-1/+1
| | | | | | Review URL: http://codereview.chromium.org/20531 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10102 0039d316-1c4b-4281-b951-d872f2087c98
* Have ChildProcessInfo contain a list of all running child processes (i.e. ↵jam@chromium.org2009-02-131-67/+6
| | | | | | | | 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
* Fix a bunch of header includes. I removed some unnecessary headers from abrettw@chromium.org2009-02-011-0/+2
| | | | | | | | variety of places and added ones in other files that were accidentally depending on them. Review URL: http://codereview.chromium.org/19742 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9022 0039d316-1c4b-4281-b951-d872f2087c98
* Random bits of de-Winification for WebContents.brettw@chromium.org2009-01-301-9/+8
| | | | | | Review URL: http://codereview.chromium.org/19721 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8987 0039d316-1c4b-4281-b951-d872f2087c98
* Porting profiles to the Mac.avi@chromium.org2009-01-281-3/+3
| | | | | | Review URL: http://codereview.chromium.org/19623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8831 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Get render_process_host to build.agl@chromium.org2009-01-221-2/+2
| | | | | | | | | | | | This is an adopted CL from Evan. Original: http://codereview.chromium.org/14504 (see original for review comments etc) Review URL: http://codereview.chromium.org/16814 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8430 0039d316-1c4b-4281-b951-d872f2087c98
* * Revert "POSIX: Get render_process_host to build."agl@chromium.org2009-01-211-2/+2
| | | | | | | | | * Revert "Build fix: release builds seemed to break" Review URL: http://codereview.chromium.org/18460 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8386 0039d316-1c4b-4281-b951-d872f2087c98
* POSIX: Get render_process_host to build.agl@chromium.org2009-01-211-2/+2
| | | | | | | | | | | | This is an adopted CL from Evan. Original: http://codereview.chromium.org/14504 (see original for review comments etc) Review URL: http://codereview.chromium.org/16814 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8384 0039d316-1c4b-4281-b951-d872f2087c98
* mac bootstrapping of browser main and app startup bitspinkerton@google.com2009-01-161-0/+1
| | | | | | Review URL: http://codereview.chromium.org/18112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8185 0039d316-1c4b-4281-b951-d872f2087c98
* Change "dll" to "plugin" where appropriate.avi@google.com2009-01-061-8/+8
| | | | | | 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-8/+8
| | | | | | Review URL: http://codereview.chromium.org/16456 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7588 0039d316-1c4b-4281-b951-d872f2087c98
* Replace all instances of <hash_map> with a "base/hash_tabe.h",erg@google.com2008-09-081-3/+2
| | | | | | | | | | | which does the right thing based on whatever platform we're compiling for, along with changing the hardcoded "stdext::", which is a MSVC++ism to use base::hash_{map,set}. B=1869 Review URL: http://codereview.chromium.org/1629 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1862 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
* Add chrome to the repository.initial.commit2008-07-261-0/+241
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98