summaryrefslogtreecommitdiffstats
path: root/chrome/browser/plugin_service.cc
Commit message (Collapse)AuthorAgeFilesLines
* Revert 48997 [causes Windows unit_tests to hang] - Group plugins in ↵viettrungluu@chromium.org2010-06-051-3/+73
| | | | | | | | | | | | | | | | | | | | | about:plugins and show update link for out-of-date ones. Patch by mavrommatis, original review here: <http://codereview.chromium.org/1991005>. Original description follows: (1) Group plugins with the same name together. (2) Show a download link for plugin versions with known security problems in about:plugins. BUG=3910 TEST=Open "chrome://plugins", see that plugins are grouped, and that any vulnerable plugins are marked red. Try enabling and disabling plugin groups. Review URL: http://codereview.chromium.org/2686001 TBR=viettrungluu@chromium.org Review URL: http://codereview.chromium.org/2652002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49003 0039d316-1c4b-4281-b951-d872f2087c98
* Group plugins in about:plugins and show update link for out-of-date ones.viettrungluu@chromium.org2010-06-051-73/+3
| | | | | | | | | | | | | | | | Patch by mavrommatis, original review here: <http://codereview.chromium.org/1991005>. Original description follows: (1) Group plugins with the same name together. (2) Show a download link for plugin versions with known security problems in about:plugins. BUG=3910 TEST=Open "chrome://plugins", see that plugins are grouped, and that any vulnerable plugins are marked red. Try enabling and disabling plugin groups. Review URL: http://codereview.chromium.org/2686001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48997 0039d316-1c4b-4281-b951-d872f2087c98
* Make webkit_glue not depend on default_plugin.thakis@chromium.org2010-06-021-0/+3
| | | | | | | | | | This removes a dependency cycle and should also make life easier for DRT. Revert http://codereview.chromium.org/1658012 Review URL: http://codereview.chromium.org/2358001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48731 0039d316-1c4b-4281-b951-d872f2087c98
* Add ppapi plugins to about:pluginsdarin@chromium.org2010-05-281-0/+21
| | | | | | | | | | | | Querying the plugin path and actual mime type is moved from creation of the WebPluginDelegate to creation of the WebPlugin. This cleaned up some code. R=jam BUG=45289 TEST=none Review URL: http://codereview.chromium.org/2262002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48484 0039d316-1c4b-4281-b951-d872f2087c98
* Disable internal plugin on all platforms by default.jam@chromium.org2010-05-261-6/+0
| | | | | | Review URL: http://codereview.chromium.org/2291003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48327 0039d316-1c4b-4281-b951-d872f2087c98
* Get the internal plugin working on Mac.jabdelmalek@google.com2010-05-261-0/+6
| | | | | | Review URL: http://codereview.chromium.org/2271002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48296 0039d316-1c4b-4281-b951-d872f2087c98
* Do case-insensitive checks for the plugin paths in case a user has different ↵jam@chromium.org2010-05-241-2/+4
| | | | | | | | shortcuts to the Chrome binary. Review URL: http://codereview.chromium.org/2155004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48097 0039d316-1c4b-4281-b951-d872f2087c98
* Don't use command line flags for enabling the internal pdf plugin. Instead, ↵jam@chromium.org2010-05-221-19/+57
| | | | | | | | disable it by default using the same mechanism that we use for about:plugins. Once we enable it by default, we just need to flip a boolean in the code and it'll be enabled for everyone. Review URL: http://codereview.chromium.org/2080016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47973 0039d316-1c4b-4281-b951-d872f2087c98
* Make disabled internal plugins stay disabled even when the version of Chrome ↵viettrungluu@chromium.org2010-05-051-2/+19
| | | | | | | | | | | | | | changes. This change is a bit hacky, but the proper change is to re-factor the plugins stuff (and such a change wouldn't be M5-able). BUG=42393 TEST=On Chrome with this CL, disable internal Flash. Update Chrome to a newer version (also with this CL). Check that internal Flash remains disabled. (Or hack the prefs file to test manually....) Review URL: http://codereview.chromium.org/1969007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46511 0039d316-1c4b-4281-b951-d872f2087c98
* No longer display EULA when internal Flash enabled (revert r42783 and most ↵viettrungluu@chromium.org2010-04-091-10/+0
| | | | | | | | | | | of r42674). BUG=none TEST=Run (branded, official) Google Chrome build with --enable-internal-flash; EULA "dialog" tab should no longer be shown, and our Flash should be enabled (check about:plugins). Without --enable-internal-flash, it should still not appear in about:plugins. Review URL: http://codereview.chromium.org/1527023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44147 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Temporary CL to debug test failure on the buildbot."mpcomplete@chromium.org2010-04-071-7/+0
| | | | | | | | This reverts commit 5c19b0409f047111de901755b5670efa5a2d4e8c. Review URL: http://codereview.chromium.org/1517020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43863 0039d316-1c4b-4281-b951-d872f2087c98
* Temporary CL to debug test failure on the buildbot.mpcomplete@chromium.org2010-04-071-0/+7
| | | | | | Review URL: http://codereview.chromium.org/1545023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43861 0039d316-1c4b-4281-b951-d872f2087c98
* Fix problems with unloading/reloading/updating extensions that contain NPAPImpcomplete@chromium.org2010-04-061-7/+14
| | | | | | | | | | | plugins, by ensuring that an extension's plugins are shut down and unloaded when the extension unloads. BUG=34670 BUG=32806 Review URL: http://codereview.chromium.org/1596009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43756 0039d316-1c4b-4281-b951-d872f2087c98
* Use internal pdf plugin with --internal-pdfjam@chromium.org2010-03-271-0/+7
| | | | | | Review URL: http://codereview.chromium.org/1462001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42886 0039d316-1c4b-4281-b951-d872f2087c98
* Temporary stuff for internal plugins, part 1.viettrungluu@chromium.org2010-03-251-0/+10
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1320002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42674 0039d316-1c4b-4281-b951-d872f2087c98
* Implement chrome://plugins page that can disable plugins.viettrungluu@chromium.org2010-03-241-1/+33
| | | | | | | | | 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
* 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