summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/ppapi_param_traits.cc
Commit message (Collapse)AuthorAgeFilesLines
* Make the Pepper Flash net address just private, not Flash-specific.viettrungluu@chromium.org2011-11-101-8/+9
| | | | | | | | | | | Note that, though the PP_Flash_NetAddress struct is being renamed, binary compatibility is being maintained. It's also safe to just rename the PPB_Flash_NetAddress interface without maintaining backwards compatibility since Pepper Flash isn't using it yet. Review URL: http://codereview.chromium.org/8511032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109335 0039d316-1c4b-4281-b951-d872f2087c98
* Create ppapi_proxy.dll and ppapi_shared.dll.darin@chromium.org2011-08-261-1/+0
| | | | | | | | | | | | | | | | This involves introducing the following macros: PPAPI_PROXY_EXPORT - for symbols exported from ppapi/proxy PPAPI_SHARED_EXPORT - for symbols exported from ppapi/shared_impl PPAPI_THUNK_EXPORT - for symbols exported from ppapi/thunk NOTE: shared_impl and thunk are still linked together, but I thought it was cleaner to give thunk its own macro. R=brettw@chromium.org Review URL: http://codereview.chromium.org/7687005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98508 0039d316-1c4b-4281-b951-d872f2087c98
* Convert FileRefImpl and URLRequestInfo to shared_impl.brettw@chromium.org2011-08-261-18/+16
| | | | | | | | | | One nice side effect of this change is that there are no longer any IPCs associated with the request info. Instead, we just send the parameters to the host when we open a url loader. Review URL: http://codereview.chromium.org/7706021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98391 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the pp::proxy namespace to the ppapi::proxy namespace.brettw@chromium.org2011-08-181-50/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is more consistent with the stuff in shared_impl, and removes a lot of namespace using goop. Add a unified resource tracker shared between the proxy and the impl. This renames the old ResourceObjectBase to Resource and removes the old PluginResource. It moves the resource tracker from the impl to the shared_impl, and makes the proxy use it. Some things become a little less neat because there's no proxy resource base class. In particular GetDispatcher() is now gone. I considered whether to add a helper base class that provides this function, but decided against it and had individual resource classes implement this when their implementation would find it useful. This is because ultimately I want more of this functionality to move into the shared_impl, and it's easier to do that if there are fewer proxy-specific things in the resources. This changes the way that plugins are added to the tracker. Previously they would only be in the tracker if the plugin had a reference to them, although they could be alive if the impl had a scoped_ptr referencing an object. This actually has the bug that if we then give the resource back to the plugin, it wouldn't be refcounted properly and everything would get confused. Now the tracker tracks all live resource objects whether or not the plugin has a ref. This works basically like the var tracker (it would be nice if the var and resource trackers shared more code, but that would further complicate this already overcomplicated patch). The resource tracker takes an extra ref whenever the plugin has one or more, and otherwise just tracks live resources. BUG= TEST= Review URL: http://codereview.chromium.org/7655002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97367 0039d316-1c4b-4281-b951-d872f2087c98
* Add a unified resource tracker shared between the proxy and the impl.brettw@chromium.org2011-08-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This renames the old ResourceObjectBase to Resource and removes the old PluginResource. It moves the resource tracker from the impl to the shared_impl, and makes the proxy use it. Some things become a little less neat because there's no proxy resource base class. In particular GetDispatcher() is now gone. I considered whether to add a helper base class that provides this function, but decided against it and had individual resource classes implement this when their implementation would find it useful. This is because ultimately I want more of this functionality to move into the shared_impl, and it's easier to do that if there are fewer proxy-specific things in the resources. This changes the way that plugins are added to the tracker. Previously they would only be in the tracker if the plugin had a reference to them, although they could be alive if the impl had a scoped_ptr referencing an object. This actually has the bug that if we then give the resource back to the plugin, it wouldn't be refcounted properly and everything would get confused. Now the tracker tracks all live resource objects whether or not the plugin has a ref. This works basically like the var tracker (it would be nice if the var and resource trackers shared more code, but that would further complicate this already overcomplicated patch). The resource tracker takes an extra ref whenever the plugin has one or more, and otherwise just tracks live resources. Review URL: http://codereview.chromium.org/7629017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97314 0039d316-1c4b-4281-b951-d872f2087c98
* Move host resource from the proxy to the shared_impl.brettw@chromium.org2011-08-131-13/+12
| | | | | | | | | | | This is needed by my new unified resoruce tracker, which will use this file from the shared_impl in the new resource base object. I fixed up the namespaces for the callers. Longer term, I want to put the proxy in the ppapi namespace which will eliminate some of this mess. Review URL: http://codereview.chromium.org/7623018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96678 0039d316-1c4b-4281-b951-d872f2087c98
* Reland http://codereview.chromium.org/7452002/ againdmichael@chromium.org2011-07-201-24/+0
| | | | | | | | | | | | | | Update chromoting input events. (Clang caught this. Thanks, Clang!) Note I'm leaving in temporary backwards-compatibility. BUG=None TEST=ppapi tests TBR=brettw,sergeyu Review URL: http://codereview.chromium.org/7466008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93234 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 93223 - Reland http://codereview.chromium.org/7452002/dmichael@chromium.org2011-07-201-0/+24
| | | | | | | | | | | | | | | | | | Update chromoting input events. (Clang caught this. Thanks, Clang!) Note I'm leaving in temporary backwards-compatibility. brettw, just need a rubber-stamp. This is the same as the last CL. awong/garykac/sergeyu, looking for someone on chromoting team to glance at my changes and make sure I didn't do anything you don't like. This is a high priority for 14, so please look if you can. BUG=None TEST=ppapi tests Review URL: http://codereview.chromium.org/7466002 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/7471006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93229 0039d316-1c4b-4281-b951-d872f2087c98
* Reland http://codereview.chromium.org/7452002/dmichael@chromium.org2011-07-201-24/+0
| | | | | | | | | | | | | | | Update chromoting input events. (Clang caught this. Thanks, Clang!) Note I'm leaving in temporary backwards-compatibility. brettw, just need a rubber-stamp. This is the same as the last CL. awong/garykac/sergeyu, looking for someone on chromoting team to glance at my changes and make sure I didn't do anything you don't like. This is a high priority for 14, so please look if you can. BUG=None TEST=ppapi tests Review URL: http://codereview.chromium.org/7466002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93223 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 93202 - Remove HandleInputEvent from PPP_Instance and freeze to 1.0.dmichael@chromium.org2011-07-201-0/+24
| | | | | | | | | | | | | | Note I'm leaving in temporary backwards-compatibility. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2035 TEST=ppapi tests Review URL: http://codereview.chromium.org/7452002 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/7467002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93208 0039d316-1c4b-4281-b951-d872f2087c98
* Remove HandleInputEvent from PPP_Instance and freeze to 1.0.dmichael@chromium.org2011-07-201-24/+0
| | | | | | | | | | | Note I'm leaving in temporary backwards-compatibility. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2035 TEST=ppapi tests Review URL: http://codereview.chromium.org/7452002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93202 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PPBoolToBool and BoolToPPBool and use PP_FromBool and PP_ToBool instead.brettw@chromium.org2011-07-081-2/+2
| | | | | | | | | | I will remove ppapi/cpp/common.h when I'm sure nacl doesn't need it. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/7237039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91809 0039d316-1c4b-4281-b951-d872f2087c98
* Migrating PPB_FileIO_Dev, PPB_FileRef_Dev, and PPB_FileSystem_Dev ↵sanga@chromium.org2011-07-071-7/+7
| | | | | | | | | dependencies to PPB_FileIO, PPB_FileRef, and PPB_FileSystem. Also fixed some lint errors. Review URL: http://codereview.chromium.org/7248047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91733 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land the reverted CL:yzshen@chromium.org2011-07-011-0/+35
| | | | | | | | | | | | | | http://src.chromium.org/viewvc/chrome?view=rev&revision=91150 Comparing with the previous CL, this CL makes changes to ppapi/proxy/ppapi_proxy_test.{h,cc} TEST=None BUG=None Review URL: http://codereview.chromium.org/7210030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91310 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 91150 - Define PPB_Flash_TCPSocket and PPB_Flash_SSLSocket.dpapad@chromium.org2011-06-301-35/+0
| | | | | | | | | | | | TEST=None BUG=None Review URL: http://codereview.chromium.org/7191005 TBR=yzshen@chromium.org Review URL: http://codereview.chromium.org/7293001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91153 0039d316-1c4b-4281-b951-d872f2087c98
* Define PPB_Flash_TCPSocket and PPB_Flash_SSLSocket.yzshen@chromium.org2011-06-301-0/+35
| | | | | | | | | TEST=None BUG=None Review URL: http://codereview.chromium.org/7191005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91150 0039d316-1c4b-4281-b951-d872f2087c98
* Make the Pepper proxy support in-process font rendering.brettw@chromium.org2011-05-101-41/+0
| | | | | | | | | | | | | This implements a WebKit thread in the PPAPI plugin process so we can do the font calls without IPC. The existing font support was refactored into a virtual class (to prevent PPAPI from depending on WebKit and creating a circular GYP dependency). This moves the renderer sandbox support into content/common so that it can be used by the PPAPI process. Review URL: http://codereview.chromium.org/6981001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84856 0039d316-1c4b-4281-b951-d872f2087c98
* Properly serialize FileRef_CreateInfo vectors. This has the same serializationbrettw@chromium.org2011-04-211-35/+81
| | | | | | | | | | problem as vectors of SerializedVars. TEST=manual BUG=none Review URL: http://codereview.chromium.org/6879101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82507 0039d316-1c4b-4281-b951-d872f2087c98
* Convert PP_rect to use new IPC generation.tsepez@chromium.org2011-04-201-60/+0
| | | | | | Review URL: http://codereview.chromium.org/6882088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82350 0039d316-1c4b-4281-b951-d872f2087c98
* Implement proxying for FileRef and FileChooser.brettw@chromium.org2011-02-171-0/+29
| | | | | | | | | | This also changes the FileRef interface to remove the Query function, since there is no close function, there's no way to cancel the current request, which makes memory management of the info structure very difficult. Review URL: http://codereview.chromium.org/6519057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75331 0039d316-1c4b-4281-b951-d872f2087c98
* Implement proxy for FlashMenu and Run/QuitMessageLooppiman@google.com2011-02-151-0/+21
| | | | | | | | | BUG=none TEST=Pepper Flash Review URL: http://codereview.chromium.org/6432001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74981 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some bugs with incorrect ! (both missing and extra) in the proxy error ↵brettw@chromium.org2011-01-281-30/+0
| | | | | | | | | | | | | | handling. Go back to using the old code for the audio created notification. There was a bug deserializing one of the handles, and the new code I wrote didn't turn out to be necessary anyway. TEST=audio plays in out-of-process proxy (manual) BUG=none Review URL: http://codereview.chromium.org/6341015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73003 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor PPAPI proxy resource handling to maintain which host they came from,brettw@chromium.org2011-01-271-27/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and to map back to that host when calling functions on them. Adds a mapping between resources generated by the hosts to a new list inside the plugin so there can't be overlaps. This means there are now two meanings for a PP_Resource, one in the plugin process and one in the host process. This is potentially very confusing. I introduced a new object called a HostResource that always represents a "host" PP_Resource to try to prevent errors. In the plugin side of the proxy, it only deals with PP_Resources valid in the plugin, and SerializedResources valid in the host. It also encapsulates the associated instance, which simplifies some code. Each PluginResource object maintains its SerializedResource which the proxy uses to send to the host for requests. This requires getting the PluginResource object in more proxy calls. This fixes a bug in var sending introduced in my previous patch. The var releasing from EndSendPassRef used the host var rather than the plugin var. I had to add more plumbing to get the dispatcher at this location and convert to a plugin var. I removed the separate file for ImageData and put it in ppb_image_data_proxy like for the other resource types. TEST=some unit tests included BUG=none Review URL: http://codereview.chromium.org/6334016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72879 0039d316-1c4b-4281-b951-d872f2087c98
* Make PP_Resources associated with the Instance rather than the module. Thisbrettw@chromium.org2011-01-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | adds PP_Instance to the necessary places in the API to make this possible. String and Object vars used to be PP_Resources. But it is not practical to assocaited strings with an instance since then we can't have implicit var constructors and have to litter every string with an instance. So this changes vars to use their own tracking system associated with the module (i.e. keeping the current semantics) and making it no longer a resource. I made the internal Var IDs 32 bits since Neb is about to land his 64->32 change. Now it force-deletes resources associated with an instance when that instance goes away. I added some additional code and tracking in ResourceTracker to do this. I could then remove the Instance::Observer class since the resource can use the (now renamed) StoppedTracking to know that it's being deleted in response to the instance being destroyed. TEST=ppapi ui tests BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71544 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for some of the PDF & Flash functionality. There are still a fewbrettw@chromium.org2010-11-121-0/+119
| | | | | | | | | | | 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
* Add support for proxying the font and char set interfaces.brettw@chromium.org2010-11-111-1/+1
| | | | | | | | 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
* Random updates for all added proxy interfaces I've done in the past week.brettw@chromium.org2010-11-091-1/+106
| | | | | | | | 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
* Core PPAPI proxy files. This includes the dispatcher which is the control pointbrettw@chromium.org2010-11-031-0/+190
| | | | | | | | | | | | 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-031-190/+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-031-0/+190
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