summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy
Commit message (Collapse)AuthorAgeFilesLines
* Move some misc thread-related stuff from base to base/thread and into the basebrettw@chromium.org2010-12-301-1/+1
| | | | | | | | | | namespace. This does not move the "hard" thread stuff (thread.h). TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6079009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70315 0039d316-1c4b-4281-b951-d872f2087c98
* Make IPC::Channel::Listener:OnMessageReceived have a return value indicating ↵jam@chromium.org2010-12-2445-55/+122
| | | | | | | | | 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
* Move the Pepper implementation from webkit/glue/plugins/pepper_* tobrettw@chromium.org2010-12-167-35/+35
| | | | | | | | | | | webkit/plugins/ppapi/*. This renamed the files and interface implementation classes from foo.cc/Foo to ppb_foo_impl/PPB_Foo_Impl to match the proxy ppb_foo_proxy/PPB_Foo_Proxy. This moves plugin_switches.* from webkit/glue/plugins to webkit/plugins. Review URL: http://codereview.chromium.org/5828003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69424 0039d316-1c4b-4281-b951-d872f2087c98
* Even more virtual method deinlining.erg@google.com2010-12-134-7/+10
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5741001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69041 0039d316-1c4b-4281-b951-d872f2087c98
* Start deinlining non-empty virtual methods. (This will be automatically checkederg@google.com2010-12-096-3/+17
| | | | | | | | | | | for in the future.) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5574006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68746 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: Simplify the magic required to create IPC message headers.This gets rid ↵jam@chromium.org2010-12-083-539/+525
| | | | | | | | | of having to include the files in a magic place because of xcode dependency issues, and just makes it simpler to create new IPC message classes. It also gets rid of including the X_messages_internal.h file multiple times, which simplifies things and should make the build a little faster. In a future change, I will remove the "internal.h" files since they're no longer needed. Review URL: http://codereview.chromium.org/5526008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68664 0039d316-1c4b-4281-b951-d872f2087c98
* Implement proxying GetModuleLocalDirContents in the Flash proxy.brettw@chromium.org2010-12-081-3/+34
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/5650002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68647 0039d316-1c4b-4281-b951-d872f2087c98
* Convert over to channel handlesdmaclach@chromium.org2010-12-082-3/+3
| | | | | | | | | | | | 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
* Teach PPAPI proxy to share image memory on Mac OS Xabarth@chromium.org2010-12-086-76/+157
| | | | | | | | | | | | | | | | | Instead of just using base::SharedMemory, we use SysV shared memory on Linux so that we can share memory with X. Normally we abstract this detail away with TransportDIB, but the TransportDIB lives in chrome/app, which is outside the dependency cone of ppapi/proxy. This patch creates a new abstraction at this layer of the dependency graph called ImageData::ImageHandle that represents shared memory for the purpose of image data. This patch also fills in the implementation of this abstraction on Mac OS X. Consequently, out-of-process PPAPI plugins on Mac can now draw to the screen. Review URL: http://codereview.chromium.org/5658003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68569 0039d316-1c4b-4281-b951-d872f2087c98
* Make webkit/glue/plugins no longer depend on ppapi/proxy directly. This causesbrettw@chromium.org2010-12-082-2/+15
| | | | | | | | | | | | | things that use webkit but otherwise don't need IPC to include the IPC directory. This patch moves the set-up of the proxy into the renderer. I also did a lot of clean-up of the initialization and it seems much nicer now. BUG=63684 TEST=manual PPAPI proxy testing git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68567 0039d316-1c4b-4281-b951-d872f2087c98
* Move more code from headers to implementation.erg@google.com2010-12-074-0/+31
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5624002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68534 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 68482 - Make webkit/glue/plugins no longer depend on ppapi/proxy ↵brettw@chromium.org2010-12-072-15/+2
| | | | | | | | | | | | | | | | | | | directly. This causes things that use webkit but otherwise don't need IPC to include the IPC directory. This patch moves the set-up of the proxy into the renderer. I also did a lot of clean-up of the initialization and it seems much nicer now. BUG=63684 TEST=manual PPAPI proxy testing Review URL: http://codereview.chromium.org/5592005 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/5616004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68486 0039d316-1c4b-4281-b951-d872f2087c98
* Make webkit/glue/plugins no longer depend on ppapi/proxy directly. This causesbrettw@chromium.org2010-12-072-2/+15
| | | | | | | | | | | | | | things that use webkit but otherwise don't need IPC to include the IPC directory. This patch moves the set-up of the proxy into the renderer. I also did a lot of clean-up of the initialization and it seems much nicer now. BUG=63684 TEST=manual PPAPI proxy testing Review URL: http://codereview.chromium.org/5592005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68482 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PPAPI proxy shutdown.brettw@chromium.org2010-12-034-4/+18
| | | | | | | | | | | | This just adds a message from the dispatcher in the renderer to the one in the plugin to terminate the process. The PpapiPluginProcessHost in the browser automatically cleans everything up when there's an IPC channel error. TEST=none BUG=none Review URL: http://codereview.chromium.org/5533002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68179 0039d316-1c4b-4281-b951-d872f2087c98
* Make the DrawGlyphs call have the proper const arguments, and make the proxiedbrettw@chromium.org2010-12-023-10/+18
| | | | | | | | | | | version of this API synchronous. Otherwise, the caller may end up trying to draw over the text that isn't there yet. TEST=none BUG=none Review URL: http://codereview.chromium.org/5555004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68108 0039d316-1c4b-4281-b951-d872f2087c98
* Add URLLoaderTrusted proxy, hook up Flash proxy. This actually starts usingbrettw@chromium.org2010-12-026-6/+88
| | | | | | | | | | | | | the disallow_trusted_interfaces_ flag which I hardcoded to false. In the future, we can use this to lock down the proxy more if necessary. This also fixes a bug where I swapped two arguments in the audio proxy. TEST=none BUG=none Review URL: http://codereview.chromium.org/5549004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68088 0039d316-1c4b-4281-b951-d872f2087c98
* Add a base class for objects that want to filter messages on the IO thread. ↵jam@chromium.org2010-12-021-1/+1
| | | | | | | | | I'll switch the filters to it in future separate changes. I've also taken out the special case for an initial filter from the IPC classes. The reason it existed was that there was a race condition of some messages not being filtered if a filter is added after construction but before launching the peer process. Taking it out allows us to add more than one filter and makes things a little cleaner. Review URL: http://codereview.chromium.org/5513001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68043 0039d316-1c4b-4281-b951-d872f2087c98
* Implement audio proxy for Pepper.brettw@chromium.org2010-12-0215-15/+635
| | | | | | | | | | | | | In addition to the basic proxying, this required some changes to the dispatcher and process infrastructure to get the handles of the processes available when I need them so I can duplicate the shared memory handles properly into the different processes. TEST=none BUG=none Review URL: http://codereview.chromium.org/4985001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68026 0039d316-1c4b-4281-b951-d872f2087c98
* Change trusted shared memory interface to match audio.nfullagar@google.com2010-12-026-26/+29
| | | | | | | | | | | | | - shm handle uint64_t -> int - more unification of shm size from int32_t -> uint32_t - GetNativeMemoryHandle() -> GetSharedMemory() BUG=none TEST=src/ppapi/examples/ Review URL: http://codereview.chromium.org/5410001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67910 0039d316-1c4b-4281-b951-d872f2087c98
* Implement DrawGlyphs and refactor the FontDescription serialization suchbrettw@chromium.org2010-11-146-132/+221
| | | | | | that it can be reused for this code. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66081 0039d316-1c4b-4281-b951-d872f2087c98
* Add a blank line to force this file to be recompiled on Mac on the bots.brettw@chromium.org2010-11-121-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65997 0039d316-1c4b-4281-b951-d872f2087c98
* Make the Graphics2D flush call an asynchronous operation. This tracks thebrettw@chromium.org2010-11-128-62/+195
| | | | | | | | | | | | | | | | | | | | callback in the plugin and adds a new message when a flush is complete in the renderer. I adapted the callback factory so it could be used for tracking the flush callbacks in the proxy in the renderer, and also changed the URL loader stuff (which had some custom management) around so that it also uses the factory. This also fixes a bug in font proxying where we would assert if there was a font creation error because the dispatcher wasn't set on the SerializedVar in the font decription. TEST=none BUG=none Review URL: http://codereview.chromium.org/4876003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65995 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for some of the PDF & Flash functionality. There are still a fewbrettw@chromium.org2010-11-1215-2/+1028
| | | | | | | | | | | unimplemented parts in the Flash proxy, and I only implemented the necessary part of the PDF one. TEST=none BUG=none Review URL: http://codereview.chromium.org/4752008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65951 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land previous change r65856. Add implementations for Fullscreen and ↵brettw@chromium.org2010-11-127-0/+340
| | | | | | CursorControl interfaces. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65914 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 65856 - Add implementations for Fullscreen and CursorControl interfaces.brettw@chromium.org2010-11-117-340/+0
| | | | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4809002 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/4822001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65857 0039d316-1c4b-4281-b951-d872f2087c98
* Add implementations for Fullscreen and CursorControl interfaces.brettw@chromium.org2010-11-117-0/+340
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4809002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65856 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for proxying the font and char set interfaces.brettw@chromium.org2010-11-116-4/+634
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4653006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65847 0039d316-1c4b-4281-b951-d872f2087c98
* Move URLLoader, URLRequestInfo, and URLResponseInfo out of the dev directorybrettw@chromium.org2010-11-108-35/+37
| | | | | | | | | | | | and rename accordingly. Rename URLResponseInfo.GetBody to GetBodyAsFileRef. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/4747001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65705 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused function.thakis@chromium.org2010-11-101-16/+0
| | | | | | | | BUG=None TEST=None TBR=brettw git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65685 0039d316-1c4b-4281-b951-d872f2087c98
* Fix clang build by removing redundant "const"brettw@chromium.org2010-11-101-2/+2
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4729002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65632 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a new process type for running PPAPI plugins. The process itself isbrettw@chromium.org2010-11-107-10/+16
| | | | | | | | | | | | | | | quite simple and just sets up the PPAPI dispatcher and loads the library. There is a new command line switch --ppapi-out-of-process which runs PPAPI plugins out of process using the new code path. There is some logic in RenderView and PepperPluginModule for setting up this connection, but it should be straightforward. TEST=none BUG=none Review URL: http://codereview.chromium.org/3915002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65614 0039d316-1c4b-4281-b951-d872f2087c98
* Add forgotten file from previous PPAPI CL.brettw@chromium.org2010-11-091-1/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65544 0039d316-1c4b-4281-b951-d872f2087c98
* Random updates for all added proxy interfaces I've done in the past week.brettw@chromium.org2010-11-0911-68/+342
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4609001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65543 0039d316-1c4b-4281-b951-d872f2087c98
* Convert Chrome PPAPI proxy from bool to PP_Bool.brettw@chromium.org2010-11-0817-94/+144
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4659001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65381 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for URLResponseInfo, URLRequestInfo, and Testing. The URLLoaderbrettw@chromium.org2010-11-056-0/+534
| | | | | | | | | | | tests now pass, except for the one that uses FileRef which isn't implemented yet. BUG=none TEST=URLLoader pepper test Review URL: http://codereview.chromium.org/4605001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65268 0039d316-1c4b-4281-b951-d872f2087c98
* Var serialization-related proxy stuff. This allows vars to be sent over IPCbrettw@chromium.org2010-11-057-0/+1252
| | | | | | | | | | | | | | | | | | | | | | and received with proper refcounting semantics. The basic design is that the SerializedVar is the thing actually handled by IPC. Then you use one of the many helper classes depending on whether you are sending or receiving and what the ownership semantics are. The helper classes, along with the VarSerialization interface makes the right thing happen for string conversion & refcounting. The VarSerialization class is implemented differently on the browser and plugin side and is where the differences in refcounting & strings are handled. This allows the rest of the code to be the same on both the plugin and browser side and allows vars to be sent back and forth. This patch references some files not in it like the dispatcher and various tracker classes. This is the cleanest cut I could make for a reasonably reviewable chunk. Review URL: http://codereview.chromium.org/4096008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65262 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for core and class (for calling from WebKit to the plugin). Thesebrettw@chromium.org2010-11-054-0/+551
| | | | | | | | | | | don't build by themselves, this is part of a larger patch. You can see most of the serialization mechanics already checked in to the same directory. TEST=none BUG=none Review URL: http://codereview.chromium.org/4345003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65261 0039d316-1c4b-4281-b951-d872f2087c98
* Instance interface implementation. These don't build by themselves, this isbrettw@chromium.org2010-11-056-0/+944
| | | | | | | | | | | part of a larger patch. You can see most of the serialization mechanics already checked in to the same directory. TEST=none BUG=none Review URL: http://codereview.chromium.org/4289005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65260 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for ImageData and Graphics2D. These don't build by themselves, thisbrettw@chromium.org2010-11-044-0/+548
| | | | | | | | | | | is part of a larger patch. You can see most of the serialization mechanics already checked in to the same directory. TEST=none BUG=none Review URL: http://codereview.chromium.org/4265002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65097 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for Var deprecated and some additional tracking information. Thesebrettw@chromium.org2010-11-034-0/+679
| | | | | | | | | | | don't build by themselves, this is part of a larger patch. You can see most of the serialization mechanics already checked in to the same directory. TEST=none BUG=none Review URL: http://codereview.chromium.org/4369001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64955 0039d316-1c4b-4281-b951-d872f2087c98
* Remove serialized var file from previous check that shouldn't have been there.brettw@chromium.org2010-11-031-457/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64875 0039d316-1c4b-4281-b951-d872f2087c98
* Core PPAPI proxy files. This includes the dispatcher which is the control pointbrettw@chromium.org2010-11-0321-0/+2293
| | | | | | | | | | | | on each end of the IPC channel. It includes the IPC message definitions. It also includes the base class for the interface proxying, and the core resource and var tracking. BUG=none TEST=none Review=http://codereview.chromium.org/4229002/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64874 0039d316-1c4b-4281-b951-d872f2087c98
* Revert PPAPI proxy change with too many files in it.brettw@chromium.org2010-11-0347-6325/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64870 0039d316-1c4b-4281-b951-d872f2087c98
* Core PPAPI proxy files. This includes the dispatcher which is the control pointbrettw@chromium.org2010-11-0347-0/+6325
on each end of the IPC channel. It includes the IPC message definitions. It also includes the base class for the interface proxying, and the core resource and var tracking. BUG=none TEST=none Review URL: http://codereview.chromium.org/4229002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64869 0039d316-1c4b-4281-b951-d872f2087c98