summaryrefslogtreecommitdiffstats
path: root/chrome/browser/plugin_service.cc
Commit message (Collapse)AuthorAgeFilesLines
* linux: also load plugins from ~/.config/google-chrome/Pluginsevan@chromium.org2010-01-271-0/+10
| | | | | | | | | | | This matches Mozilla, which uses ~/.mozilla/plugins. BUG=22261 TEST=watch an strace, see that it hits the appropriate dir when loading plugins Review URL: http://codereview.chromium.org/553102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37201 0039d316-1c4b-4281-b951-d872f2087c98
* Added Pepper 3D device that instantiates the GPU plugin and sends GLES2 ↵apatrick@google.com2009-12-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | commands to it via a command buffer. Added API for managing buffers to Pepper 3D device. Removed DCHECK from WebPluginImpl::SetWindow that checks against a windowless plugin being given a window handle. Please check this! Now an initially windowless plugin instance gets a handle when it requests a Pepper 3D context. Perhaps the window handle should be concealed from the underlying plugin isntance. Removed enable_gpu gyp variable and C macro. GPU code is always built on windows but not mac or linux. It is enabled at runtime with the --enable-gpu-plugin switch. Redesigned CommandBuffer interface so it exposes shared memory through a Buffer. This was necessary because Pepper has no notion of shared memory handles. The Buffer exposes the shared memory as both a handle (through base::SharedMemory) and the mapped address and size. Refactored CommandBufferEngine so mapped shared memory addresses and sizes are returned with a single call rather than two separate calls. Added 3D demo to pepper test plugin. TEST=try servers BUG=none Review URL: http://codereview.chromium.org/367002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35185 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 33344 - Relocate plugin list fetching to PluginServicejamesr@chromium.org2009-11-301-38/+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/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+11
| | | | | | | | | | | | | | | | | | 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
* Use GetSwitchValueASCII.tony@chromium.org2009-11-061-3/+2
| | | | | | | | | | | | BUG=24672 TEST=None Original patch by Thiago Farina <thiago.farina@gmail.com> at http://codereview.chromium.org/296004 Review URL: http://codereview.chromium.org/373013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31269 0039d316-1c4b-4281-b951-d872f2087c98
* Don't allow the browser to stay above a modal plugin window (Mac)stuartmorgan@chromium.org2009-11-041-0/+26
| | | | | | | | | | | There's a flicker of the modal window being hidden then coming forward again, and the menus still work, so we'll most likely have fake the modality more aggressively at some point. This gets us the basic infrastructure though, and solves the severe usability problem. BUG=20798 TEST=Open a modal plugin window (e.g., Gmail upload). Switch to another app, then back to Chrome; the plugin window should come to the front. Review URL: http://codereview.chromium.org/355021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30965 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify threading in browser thread by making only ChromeThread deal with ↵jam@chromium.org2009-10-271-6/+3
| | | | | | | | different thread lifetimes.The rest of the code doesn't get MessageLoop pointers since they're not thread-safe and instead just call PostTask on ChromeThread. If the target thread is not alive, then the task is simply deleted.In a followup change, I'll remove any remaining MessageLoop* caching. With this change, there's little to be gained by caching since no locks are involved if the target MessageLoop is guaranteed to outlive the current thread (inferred automatically by the order of the chrome_threads_ array).BUG=25354 Review URL: http://codereview.chromium.org/306032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30163 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a whole bunch of style nits.erg@google.com2009-10-131-2/+2
| | | | | | | | (Long term intention is to add a subset of cpplint.py to the presubmit script.) Review URL: http://codereview.chromium.org/276008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28914 0039d316-1c4b-4281-b951-d872f2087c98
* Add an option to disable NaCl at compile time for platforms where it doesn't ↵piman@chromium.org2009-10-021-0/+4
| | | | | | | | | | build yet Just add disable_nacl=1 to gyp defines Review URL: http://codereview.chromium.org/257029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27873 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-291-0/+3
| | | | | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27397 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27445 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27397 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-281-3/+0
| | | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Review URL: http://codereview.chromium.org/153002 TBR=gregoryd@google.com Review URL: http://codereview.chromium.org/235042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27400 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-281-0/+3
| | | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=27324 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27397 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27324 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-261-3/+0
| | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Review URL: http://codereview.chromium.org/153002 TBR=bradnelson@google.com Review URL: http://codereview.chromium.org/244017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27326 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-261-0/+3
| | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandboxCommitted: http://src.chromium.org/viewvc/chrome?view=rev&revision=27315 Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27324 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 27315 - First step towards NaClChrome integration:1. NaCl plugin ↵gregoryd@google.com2009-09-261-3/+0
| | | | | | | | | | | | becomes a builtin plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "internalnacl" is required to enable the builtin NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandbox Review URL: http://codereview.chromium.org/153002 TBR=gregoryd@google.com Review URL: http://codereview.chromium.org/244014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27317 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in ↵gregoryd@google.com2009-09-261-0/+3
| | | | | | | | plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin. NaCl still cannot run in Chrome sandbox, the flag automatically disables the sandbox Review URL: http://codereview.chromium.org/153002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27315 0039d316-1c4b-4281-b951-d872f2087c98
* Update renderer plugin cache when we load/unload extensions with plugins.mpcomplete@chromium.org2009-09-211-8/+24
| | | | | | | | | BUG=12306 TEST=Load and unload extensions that contain plugins and visit pages that use them. Also covered by tests. Review URL: http://codereview.chromium.org/201111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26748 0039d316-1c4b-4281-b951-d872f2087c98
* Preparing rollback in case things don't work out.bradnelson@google.com2009-09-181-10/+0
| | | | | | | | | | | This rolls back 26540, gregoryd's attempt at a nacl landing. BUG=None TEST=None Review URL: http://codereview.chromium.org/213019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26543 0039d316-1c4b-4281-b951-d872f2087c98
* This is a copy of http://codereview.chromium.org/153002/showgregoryd@google.com2009-09-181-0/+10
| | | | | | | | | | First step towards NaCl-Chrome integration:1. NaCl plugin becomes a built-in plugin in Chrome and runs in the renderer process.2. Most of the changes are related to launching the NaCl process (that loads and runs the NaCl module) and establishing the initial communication between that process and the NaCl plugin.3. This CL relies on another CL that contains the changes on the Native Client side: http://codereview.chromium.org/1501904. Command line flag "--internal-nacl" is required to enable the built-in NaCl plugin.5. NaCl still cannot run in Chrome sandbox, so the "--no-sandbox" flag is also required TBR=bradnelson Review URL: http://codereview.chromium.org/207025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26540 0039d316-1c4b-4281-b951-d872f2087c98
* Take out the activex control.BUG=20259jam@chromium.org2009-09-081-16/+13
| | | | | | Review URL: http://codereview.chromium.org/200031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25650 0039d316-1c4b-4281-b951-d872f2087c98
* This changelist fixes some issues with the NPAPI WMP plugin work in Chrome. ↵jam@chromium.org2009-09-041-6/+1
| | | | | | | | | | | | The first is that we need to disable windowless mode since it doesn't work in the NPAPI plugin (Safari does this as well, and sites don't use windowless for Firefox). The second is to make UpdateGeometry message synchronous for WMP. The problem I saw was that while handling that message, the plugin might disaptch a NPObject Invoke method to play a video, which WMP doesn't expect and it leads to the video never playing. While touching these files, I made some small cleanup by reverting the change that made WebPluginProxy not have a WebPluginDelegateImpl pointer, which added a bunch of unnecessary methods to WebPluginDelegate. BUG=20259 TEST=use --no-activex and try playing the videos on http://www.nana10.co.il/Section/?SectionID=10847&sid=235 Review URL: http://codereview.chromium.org/196012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25433 0039d316-1c4b-4281-b951-d872f2087c98
* Load extensions that have their manifest in the Prefs on the UI thread.mpcomplete@chromium.org2009-08-211-13/+9
| | | | | | | | | | | | | | | | There is some migration code for loading old extensions which we do on the UI thread as well, for simplicity. This will only happen the first time the user starts Chrome, so I think it's OK. Also cleaned up the EXTENSIONS_LOADED notification to send out a single extension, instead of a 1-element list of extensions. BUG=18293 TEST=loading extensions should still work Review URL: http://codereview.chromium.org/174208 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23997 0039d316-1c4b-4281-b951-d872f2087c98
* Cleaning up lines longer than 80 chars under src/chrome/browser. mark@chromium.org2009-08-171-1/+2
| | | | | | | | | | | | | | | | | | | Command: awk '{if ( length($0) > 80 ) { print FILENAME, FNR, $0 } }' *.cc *.h # recursive find . -type f \( -name '*.cc' -o -name '*.h' \) -exec awk '{if ( length($0) > 80 ) { print FILENAME, FNR, $0 } }' {} \; Patch by Pierre-Antoine LaFayette <pierre.lafayette@gmail.com> BUG=None TEST=None Code review URL: http://codereview.chromium.org/164566 Review URL: http://codereview.chromium.org/171066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23583 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor IDMap to support safe removing of elements during iteration.phajdan.jr@chromium.org2009-08-171-4/+4
| | | | | | | | | TEST=Covered by unit_tests and other automated tests. http://crbug.com/19202 Review URL: http://codereview.chromium.org/164518 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23572 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure we don't load plugins on the IO thread.jam@chromium.org2009-08-151-34/+9
| | | | | | | | | | 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-9/+34
| | | | | | | | | 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-34/+9
| | | | | | | | | | 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-12/+0
| | | | | | | | | | | 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-0/+12
| | | | | | | | 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
* Replace std:;wstring with std::string and string16 in locale-name related APIs.jshin@chromium.org2009-06-241-1/+2
| | | | | | | | | | | | | | | 1. Change the locale param to be std::string because they're always ASCII and change call-sites accordingly. 2. Add GetStringFUTF16 to l10n_util. On Windows, they're inline helpers calling the correspondingGetStringF returning wstring while on Mac/Linux, they just return the result of |string16 GetStringF|without converting to wstring. This is part 1 of the fix for issue 8647. Some of newly introduced conversions are temporary and will be removed later (e.g. ASCIIToWide applied to the result of GetApplicationLocale in a few places). Note : this CL will be landed after http://codereview.chromium.org/147038 is landed. BUG=8647 (http://crbug.com/8647) TEST=Pass l10n_util_unittest and other unit tests Review URL: http://codereview.chromium.org/126223 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19183 0039d316-1c4b-4281-b951-d872f2087c98
* posix: two related changes to make plugin IPC work on POSIX.evan@chromium.org2009-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | [re-retry, seeing if reliability bots like it] * use a new ChannelHandle type when passing IPC channels over IPC The current POSIX code assumes that one end of a channel is always a new child process (a renderer). For plugins we need to be able to construct channels between each of the browser, plugin, and renderer. This change augments the messages related to creating channels to allow passing in a base::FileDescriptor containing the socket. The intent is that the browser process, as the initial interchange between plugin and renderer, creates the socketpair() on their behalf and hands each their respective end of the connection. * register channel endpoint names in the global pipe map The plugin code assumes it can map from a string to a channel endpoint at basically any time. So whenever we get a channel endpoint over IPC, we install it in a global map of channel endpoints. Review URL: http://codereview.chromium.org/113157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18950 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "posix: two related changes to make plugin IPC work on POSIX."evan@chromium.org2009-06-221-1/+1
| | | | | | | | This looks like it might be to blame for reliability test failures, so I'm trying it out. This reverts commit r18888. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18905 0039d316-1c4b-4281-b951-d872f2087c98
* posix: two related changes to make plugin IPC work on POSIX.evan@chromium.org2009-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | [retry, fix windows compile failure] * use a new ChannelHandle type when passing IPC channels over IPC The current POSIX code assumes that one end of a channel is always a new child process (a renderer). For plugins we need to be able to construct channels between each of the browser, plugin, and renderer. This change augments the messages related to creating channels to allow passing in a base::FileDescriptor containing the socket. The intent is that the browser process, as the initial interchange between plugin and renderer, creates the socketpair() on their behalf and hands each their respective end of the connection. * register channel endpoint names in the global pipe map The plugin code assumes it can map from a string to a channel endpoint at basically any time. So whenever we get a channel endpoint over IPC, we install it in a global map of channel endpoints. Review URL: http://codereview.chromium.org/113157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18888 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "posix: two related changes to make plugin IPC work on POSIX."evan@chromium.org2009-06-191-1/+1
| | | | | | This reverts commit r18850, as it had a compile failure. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18851 0039d316-1c4b-4281-b951-d872f2087c98
* posix: two related changes to make plugin IPC work on POSIX.evan@chromium.org2009-06-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | * use a new ChannelHandle type when passing IPC channels over IPC The current POSIX code assumes that one end of a channel is always a new child process (a renderer). For plugins we need to be able to construct channels between each of the browser, plugin, and renderer. This change augments the messages related to creating channels to allow passing in a base::FileDescriptor containing the socket. The intent is that the browser process, as the initial interchange between plugin and renderer, creates the socketpair() on their behalf and hands each their respective end of the connection. * register channel endpoint names in the global pipe map The plugin code assumes it can map from a string to a channel endpoint at basically any time. So whenever we get a channel endpoint over IPC, we install it in a global map of channel endpoints. Review URL: http://codereview.chromium.org/113157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18850 0039d316-1c4b-4281-b951-d872f2087c98
* Refuse to load extension-private plugins for pages that don't belong to thatmpcomplete@google.com2009-06-051-6/+31
| | | | | | | | | | 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
* ipc: use strings, not wstrings for channel ids.evan@chromium.org2009-06-041-1/+1
| | | | | | | | | | They're ASCII anyway. TEST=covered by existing tests Review URL: http://codereview.chromium.org/119131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17682 0039d316-1c4b-4281-b951-d872f2087c98
* Change plugin handling in extension from "plugin_dir" to a "plugin" list ofmpcomplete@google.com2009-06-031-9/+10
| | | | | | | | | | | | 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
* Remove unused code from ExtensionsService.mpcomplete@google.com2009-05-261-1/+1
| | | | | | | | Move extension.* from browser to common, so it can be included by the utility process. Review URL: http://codereview.chromium.org/115716 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16880 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up more of extension uninstall.aa@chromium.org2009-05-211-0/+38
| | | | | | | | | | | 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-40/+0
| | | | | | | | 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-0/+40
| | | | | | | | | | | 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-40/+0
| | | | | | | | 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-0/+40
| | | | | | | | | | | 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
* Allow Flash (and other plugins) to be installed without restarting the ↵jam@chromium.org2009-04-231-1/+44
| | | | | | | | | | | 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-26/+1
| | | | | | | | | | | 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 the details about ResourceDispatcherHost messages from child processes. ↵jam@chromium.org2009-03-171-1/+1
| | | | | | | | 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
* NO CODE CHANGEdeanm@chromium.org2009-03-101-1/+0
| | | | | | | | | Normalize end of file newlines in chrome/. All files end in a single newline. Review URL: http://codereview.chromium.org/42015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
* Make plugin_process_host.cc and child_process_host.cc compile on Posix.jhawkins@chromium.org2009-02-231-7/+1
| | | | | | Review URL: http://codereview.chromium.org/27018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10210 0039d316-1c4b-4281-b951-d872f2087c98