summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/plugin_channel.cc
Commit message (Collapse)AuthorAgeFilesLines
* Move plugin code to content.jam@chromium.org2011-03-161-328/+0
| | | | | | | TBR=avi Review URL: http://codereview.chromium.org/6672048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78386 0039d316-1c4b-4281-b951-d872f2087c98
* Remove last dependencies on chrome\common from chrome\plugin.jam@chromium.org2011-03-161-1/+1
| | | | | | | TBR=avi Review URL: http://codereview.chromium.org/6677064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78372 0039d316-1c4b-4281-b951-d872f2087c98
* Move plugin messages to content.jam@chromium.org2011-03-141-1/+1
| | | | | | | TBR=tsepez Review URL: http://codereview.chromium.org/6682033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78099 0039d316-1c4b-4281-b951-d872f2087c98
* Remove references to off the record from PluginChannel. Contributed by ↵jam@chromium.org2011-03-101-1/+1
| | | | | | | | | | vipul.bhasin@gmail.com, original change at http://codereview.chromium.org/6651017/ BUG=3333 Review URL: http://codereview.chromium.org/6657026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77656 0039d316-1c4b-4281-b951-d872f2087c98
* Move ChildThread and ChildProcess to content. Also move remaining code that ↵jam@chromium.org2011-03-081-1/+1
| | | | | | | | they depend on and which depends on them.TBR=avi Review URL: http://codereview.chromium.org/6628071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77249 0039d316-1c4b-4281-b951-d872f2087c98
* Implement basic crash detection and shutdown handling for out of process PPAPIbrettw@chromium.org2011-02-151-3/+5
| | | | | | | | | | | | | | | | | | plugins. Currently when a crash is detected we just delete as much stuff as is convenient, clear the plugin's backing store, and continue running. It does not hook up a sad plugin page yet. This adds a "proxy" interface for the proxy to tell the PPAPI backend implementation in the renderer about proxy-related stuff (like the plugin crashing). This also implements keeping the process alive for a period of time so we can re-use the same process. Review URL: http://codereview.chromium.org/6493004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74965 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete base/lock.h and fix up callers to use the new header file andbrettw@chromium.org2011-01-211-7/+7
| | | | | | | | | | | the base namespace. Fix several files including lock.h unnecessarily. BUG=none TEST=none Original review=http://codereview.chromium.org/6142009/ Patch by leviw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72106 0039d316-1c4b-4281-b951-d872f2087c98
* Update our use of the NPAPI ClearSiteData API.bauerb@chromium.org2011-01-111-7/+4
| | | | | | | | | BUG=58235 TEST=none Review URL: http://codereview.chromium.org/6148006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71039 0039d316-1c4b-4281-b951-d872f2087c98
* Move CancellationFlag and WaitableEvent to the synchronization subdirectory.brettw@chromium.org2011-01-021-1/+1
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/5977010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70369 0039d316-1c4b-4281-b951-d872f2087c98
* Make IPC::Channel::Listener:OnMessageReceived have a return value indicating ↵jam@chromium.org2010-12-241-4/+7
| | | | | | | | | whether a message was processed or not. TBR=brettw Review URL: http://codereview.chromium.org/5978003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70139 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land earlier patch that moves the NPAPI implementation from ↵brettw@chromium.org2010-12-211-4/+4
| | | | | | webkit/glue/plugins to webkit/plugins/npapi git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69808 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Move the NPAPI files from webkit/glue/plugins to webkit/plugins/npapi"chase@chromium.org2010-12-211-4/+4
| | | | | | | | | | | | Manually reverting r69755, which broke the tree. BUG=none TEST=none TBR=dmaclach@chromium.org Review URL: http://codereview.chromium.org/5998002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69771 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 69755 - Move the NPAPI files from webkit/glue/plugins to ↵chase@chromium.org2010-12-201-4/+4
| | | | | | | | | | | | | | | webkit/plugins/npapi" Manually reverting r69766, which was itself a failed revert of r69755. BUG=none TEST=none TBR=dmaclach@chromium.org Review URL: http://codereview.chromium.org/5996003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69768 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69755 - Move the NPAPI files from webkit/glue/plugins to ↵brettw@chromium.org2010-12-201-4/+4
| | | | | | | | | | | | | | | webkit/plugins/npapi and put them in the webkit::npapi namespace. BUG=none TEST=none Review URL: http://codereview.chromium.org/6012002 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/5961004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69766 0039d316-1c4b-4281-b951-d872f2087c98
* Move the NPAPI files from webkit/glue/plugins to webkit/plugins/npapi and putbrettw@chromium.org2010-12-201-4/+4
| | | | | | | | | | them in the webkit::npapi namespace. BUG=none TEST=none Review URL: http://codereview.chromium.org/6012002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69755 0039d316-1c4b-4281-b951-d872f2087c98
* Convert over to channel handlesdmaclach@chromium.org2010-12-081-39/+0
| | | | | | | | | | | | This hides some of the internals of the posix channels from users, and gets rid of several #ifdef POSIX blocks. Generally simplifies usage of channels xplatform. BUG=none TEST=build Review URL: http://codereview.chromium.org/5598010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68621 0039d316-1c4b-4281-b951-d872f2087c98
* Add PluginDataRemover.bauerb@chromium.org2010-11-181-0/+31
| | | | | | | | | BUG=58235 TEST=none Review URL: http://codereview.chromium.org/4832002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66615 0039d316-1c4b-4281-b951-d872f2087c98
* Convert implicit scoped_refptr constructor calls to explicit ones, part 1thakis@chromium.org2010-11-011-2/+2
| | | | | | | | | | | This CL was created automatically by this clang rewriter: http://codereview.appspot.com/2776043/ . I manually fixed a few rough spots of the rewriter output (doh1-3) and fixed all presubmit errors. BUG=28083 TEST=None Review URL: http://codereview.chromium.org/4192012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64573 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - chrome/plugin/.pkasting@chromium.org2010-10-211-5/+5
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3899004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63406 0039d316-1c4b-4281-b951-d872f2087c98
* Fix for the missing plugin message displayed at times on sites like youtube ↵ananta@chromium.org2010-08-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | while playing playlists, etc. The message is displayed when we fail to create a channel for the plugin process. The problem occurs because of a race condition between the plugin channel information being deleted from the channel map and the actual channel being deleted. This race occurs if the plugin is in the context of a sync call to the renderer which results in the plugin instance being deleted and the new one getting created in the same context. This results in the plugin channel information getting deleted from the map. The actual channel gets deleted only when the plugin sync call unwinds which occurs after the browser sends in a request to create the channel for the new plugin instance. Fix is to create the channel name with an incrementing number in the plugin process, if the mode is server. The channel map is still keyed off the process id and renderer id as before. Fixes bug http://code.google.com/p/chromium/issues/detail?id=43595 Bug=43595 Test=Covered by new ui test SelfDeleteCreatePluginInNPNEvaluate. The other change is a fix in the test plugin to delete a windows timer correctly and to add support for a new plugin test case. Review URL: http://codereview.chromium.org/3142039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57372 0039d316-1c4b-4281-b951-d872f2087c98
* Increase the plugin process teardown timeout from 10s to 5min.mbelshe@chromium.org2010-05-131-1/+1
| | | | | | | | | | | | | This change is somewhat arbitrary, but reduces churn on creating new plugin processes. When plugin initialization is expensive, this can reduce page load time. BUG=none TEST=none Review URL: http://codereview.chromium.org/2029010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47167 0039d316-1c4b-4281-b951-d872f2087c98
* Fix possible deadlock in PluginChannel.jam@chromium.org2010-05-121-1/+1
| | | | | | | | | This occurs when the renderer sends an async message with the unblock flag, and then a sync message right after. If the plugin process just made a sync (with no unblock) call to the renderer, it'll dispatch the first message, and if that leads to a sync call to the renderer, then the unblock flag won't get sent and a deadlock occurs. BUG=43617 Review URL: http://codereview.chromium.org/2045012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47063 0039d316-1c4b-4281-b951-d872f2087c98
* Fix NULL vs 0 problems which break the build with -Werror using GCC 4.5evan@chromium.org2010-05-061-1/+1
| | | | | | | | | | | BUG=none TEST=try to compile with gcc 4.5 Patch by Benjamin Jemlich <pcgod99@gmail.com>. Review URL: http://codereview.chromium.org/2007003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46601 0039d316-1c4b-4281-b951-d872f2087c98
* posix: handle the return value of close() in more places.evan@chromium.org2010-04-161-1/+2
| | | | | | | | | | | | | | | Generally, we don't expect it to fail and there isn't much we can do anyway, but it's good to at least consider each case and do something so we can continue to receive warnings in situations where we forgot to check the return code. (Bonus extra bugfix: use int where we previously had bool. I think it compiles to the same thing but the old code was definitely wrong.) Review URL: http://codereview.chromium.org/1564037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44844 0039d316-1c4b-4281-b951-d872f2087c98
* Fix problems with unloading/reloading/updating extensions that contain NPAPImpcomplete@chromium.org2010-04-061-0/+5
| | | | | | | | | | | 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
* Don't auto-close the renderer-side plugin channel file descriptor in themark@chromium.org2010-03-181-7/+30
| | | | | | | | | | | | | | | | | renderer process. Wait until the renderer has proved that it has access to its end of the socket before closing it manually. BUG=38459 TEST=Test case from bug 26754 comment 9 (affected Macs only): 1. Have lots of bookmarks (import Safari defaults) 2. Right-click on bookmark bar, and choose "Open All Bookmarks" Expect: no crash, no sad tabs, none of the following messages logged: a. LOG(ERROR) << "Refusing use of missing IPC channel " ... b. LOG(FATAL) << "Denying attempt to reuse initial IPC channel for " ... This test should be repeated many times. Review URL: http://codereview.chromium.org/1066001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41957 0039d316-1c4b-4281-b951-d872f2087c98
* Only clears the unblock flag on sync IPCs during other sync dispatchesjamesr@chromium.org2009-11-181-1/+1
| | | | | | | | BUG=22210 (this is not a partial mitigation, not a fix) Review URL: http://codereview.chromium.org/399043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32397 0039d316-1c4b-4281-b951-d872f2087c98
* Fix scripting during NPP_Destroy. Note that if the plugin is making a call ↵jam@chromium.org2009-10-061-3/+10
| | | | | | | | | | to the renderer so this instance is in the callstack, destruction will have to be asynchronous and so scripting still won't work. This change also fixes use of PluginChannel after it's deleted (if this was the last instance). BUG=23713, 23706 TEST=added ui test Review URL: http://codereview.chromium.org/258026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28141 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of the need for cross process events in order to get plugin ↵jam@chromium.org2009-09-291-2/+119
| | | | | | | | | | processes to run nested message loops when a dialog is shown. Instead use an async message that's broadcast from the renderer to all plugin processes that are connected to it, and which is dispatched on the plugin IO thread to set a process-local waitable event. This fixes showModalDialog on Linux/Mac. BUG=15891 TEST=covered by UI tests, undef's them for POSIX Review URL: http://codereview.chromium.org/242043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27456 0039d316-1c4b-4281-b951-d872f2087c98
* Gears File Drag Dropmichaeln@google.com2009-09-161-6/+13
| | | | | | | | | | | | | | | | | r24899 now keys the child security policy database based on renderer id, rather than renderer process id. Update gears drag drop to use the renderer id for the file policy access checks. This is a clone for submission of of noel's original CL http://codereview.chromium.org/195079 BUG=7995 Review URL: http://codereview.chromium.org/196145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26397 0039d316-1c4b-4281-b951-d872f2087c98
* Replace the RenderProcessHost.PID function that returns the OS-generatedbrettw@chromium.org2009-08-311-5/+5
| | | | | | | | | | | | | | | | | | | | process ID with an internally-generated id() function. This allows us the guarantee that the IDs are unique over the entire run of the application. This also cleans up some code associated with managing the PID. The main potentially interesting change is now the PID is set uniquely for every creation of RenderProcessHost. It used to be set cleared if the process went away, and re-set if the process was re-created. The ID generation is in ChildProcesInfo so it is also unique between workers and plugins. I had to change some significant things in resource_dispatcher_host_unittest to take into account this new generation of IDs. BUG=17828 TEST=none Review URL: http://codereview.chromium.org/160203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24899 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 24266 - This CL ensures that plugins always peek in the context of ↵ananta@chromium.org2009-08-251-19/+0
| | | | | | | | | | | | | | | | | | | | | outgoing sync calls. I will be watching the reliability test runs closely for any crashes which creep in due to reentrancies into plugins caused by this CL. This fixes bug http://code.google.com/p/chromium/issues/detail?id=15985 It is a touch tricky to implement a test case for this. Will add one hopefully in a subsequent CL Bug=15985 Test=Covered by UI test Review URL: http://codereview.chromium.org/173211 TBR=ananta@chromium.org Review URL: http://codereview.chromium.org/173384 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24296 0039d316-1c4b-4281-b951-d872f2087c98
* This CL ensures that plugins always peek in the context of outgoing sync calls. ananta@chromium.org2009-08-251-0/+19
| | | | | | | | | | | | | | | I will be watching the reliability test runs closely for any crashes which creep in due to reentrancies into plugins caused by this CL. This fixes bug http://code.google.com/p/chromium/issues/detail?id=15985 It is a touch tricky to implement a test case for this. Will add one hopefully in a subsequent CL Bug=15985 Test=Covered by UI test Review URL: http://codereview.chromium.org/173211 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24266 0039d316-1c4b-4281-b951-d872f2087c98
* linux/mac: fix another race condition with the plugin channelpiman@chromium.org2009-08-181-1/+0
| | | | | | | | | | | | | http://codereview.chromium.org/165280 helped a lot, but it turns out that the ResourceClientProxy keep a reference to the channel, and it's hard to clean those in time. To be on the safe side, remove the name->FD mapping when the channel is removed from the name->channel map. Also remove it when a channel error occurs. Again, to be on the safe side, the channel is unusable at this point (the other side may have closed it already), so it's better to drop it. BUG=18521 Review URL: http://codereview.chromium.org/171100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23666 0039d316-1c4b-4281-b951-d872f2087c98
* Delay releasing plugin process for 10s.cmp@google.com2009-08-071-1/+12
| | | | | | | | | | | | | | | | Change plugin process release from immediately after we navigate away from our last plugin reference to a task that is run 10s later. Original patch by John Abd-El-Malek (jam@chromium.org). BUG=11341 TEST=Open Chrome, load youtube.com, click Videos, verify all pages load correctly. Review URL: http://codereview.chromium.org/164157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22818 0039d316-1c4b-4281-b951-d872f2087c98
* Split the IPC code into ipc/agl@chromium.org2009-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits the ipc code from the common project. The 'common' project pulls in all of webkit, the v8 bindings, skia, googleurl, and a number of other projects which makes it very difficult to deal with especially for external projects wanting just to use some of Chromium's infrastructure. This puts the ipc code into its top-level ipc/ directory with a dependency only on base. The common project depends on the new ipc/ipc.gyp:ipc target so that all projects currently pulling common in to get the IPC code still have it available. This mostly follows agl's pre-gyp attempt to do this which was r13062. Known issues: - Currently a number of projects depend on chrome/chrome.gyp:common in order to use the IPC infrastructure. Rather than fixing all of these dependencies I have made common depend on ipc/ipc.gyp:ipc and added "ipc" to the include_rules section of DEPS so that checkdeps.py doesn't complain. Over time projects that need IPC should depend on the IPC project themselves and dependencies on common removed, although I don't think many projects that need IPC will be able to get away without common currently. - ipc/ipc_message_macros.h still has #include "chrome/common/..." inside of a ipc/ should not refer to files in chrome/... now. I'm not sure how to resolve this since it's really an IDE bug - the named pipe name (windows+linux) and the logging event name (all) + env variable (posix) refer explicitly to 'Chrome' which somewhat hurts the illusion of ipc/ being an independent library. I think this should be examined in a subsequent, much smaller patch. - I've eliminated the IPC.SendMsgCount counter since it was implemented in a way to create a dependency from ipc/ to chrome/common/chrome_counters. This is the same approach that r13062 took. http://codereview.chromium.org/155905 (Patch from James Robinson) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21342 0039d316-1c4b-4281-b951-d872f2087c98
* linux: fix renderer/plugin crash when loading multiple pages with pluginspiman@google.com2009-07-081-1/+2
| | | | | | | | | | Currently we crash if one renderer has a plugin and another one has a plugin that gets destroyed, and started again (e.g. reload). We get away with reload on a single page currently because the process gets torn down. This properly cleans up the socket and channel mapping on both sides, so it can be restarted. Review URL: http://codereview.chromium.org/155174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20112 0039d316-1c4b-4281-b951-d872f2087c98
* mac/linux: rework plugin channel file descriptor creationevan@chromium.org2009-06-271-10/+27
| | | | | | | | | | | | This CL fixes a bug where the same renderer could open several channels to the same plugin process, which end up having the same name. This CL makes it that there is only one channel for each (plugin, renderer) pair, just like on Windows. The socketpair is created in the plugin process (which can ensure that only one channel per renderer gets created), and sends the renderer side through the browser process. Note: this should essentially be a noop on Windows. Review URL: http://codereview.chromium.org/149062 Patch from Antoine Labour <piman@google.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19448 0039d316-1c4b-4281-b951-d872f2087c98
* posix: two related changes to make plugin IPC work on POSIX.evan@chromium.org2009-06-221-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | [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-13/+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/+13
| | | | | | | | | | | | | | | | | | | | | | | | [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-13/+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/+13
| | | | | | | | | | | | | | | | | | | | | | * 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
* Fix regression from r11509 which caused each plugin instance to have its own ↵jam@chromium.org2009-06-051-3/+4
| | | | | | | | | | IPC channel (doh!). BUG=119052 TEST=covered by ui test that Amit added Review URL: http://codereview.chromium.org/119158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17712 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: use strings, not wstrings for channel ids.evan@chromium.org2009-06-041-2/+2
| | | | | | | | | | 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
* linux (and some posix): multiprocess plugins compiling.evan@chromium.org2009-04-231-8/+10
| | | | | | | | | | | | | | | | | | | The goal of this change is to *not* make any behavioral change, but to instead just get all the plugin-related files linking on Linux with a bunch of NOTIMPLEMENTED()s in the appropriate places. It's enormous enough already without any refactorings or new features. Changes include: - Lots of gcc warning fixes. - Use portable replacements for Windows-specific functions (_strdup, etc.). - Use TransportDIB instead of just shared memory in the plugin messaging. Note that this is not fleshed out on Linux and on Windows it just hacks in the existing handles so there should be no functional change. - Fix --plugin-launcher to use cross-platform APIs. Review URL: http://codereview.chromium.org/79020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14338 0039d316-1c4b-4281-b951-d872f2087c98
* Make OpenProcessHandle report an error when it couldn't open the handle.phajdan.jr@chromium.org2009-04-031-1/+5
| | | | | | | | One more step to land http://codereview.chromium.org/54003 (chrome_process_util). Review URL: http://codereview.chromium.org/62004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13086 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor plugin process code which checks with the browser process before ↵jam@chromium.org2009-03-271-4/+4
| | | | | | | | | | | 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
* Expose whether we're in private browsing mode to plugins.I chose to ↵jam@chromium.org2009-03-261-1/+1
| | | | | | | | | 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
* Stop having renderers use both pids and a monotonically increasing ↵jam@chromium.org2009-03-121-12/+11
| | | | | | | | "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