summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy
Commit message (Collapse)AuthorAgeFilesLines
* s patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-13110-2152/+1202
| | | | | | | | | | | | | | | | | | | | | | | | interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev). This re-lands my previous change. Original Review URL: http://codereview.chromium.org/7874002 This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration. This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces. Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file. So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation. This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary. I folded Console into the Instance API which removed a bunch of code. I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore. Review URL: http://codereview.chromium.org/7887001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100936 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r100853, 100851. Win_shared build is broken.brettw@chromium.org2011-09-13110-1202/+2152
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100854 0039d316-1c4b-4281-b951-d872f2087c98
* Rename more interface -> interface name to fix the Windows build.brettw@chromium.org2011-09-132-3/+3
| | | | | | | | | TEST=none BUG=none TBR=noelallen Review URL: http://codereview.chromium.org/7850029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100853 0039d316-1c4b-4281-b951-d872f2087c98
* This patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-13110-2152/+1202
| | | | | | | | | | | | | | | | | | | | | | | | interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev). This re-lands my previous change. Original Review URL: http://codereview.chromium.org/7740038 This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration. This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces. Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file. So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation. This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary. I folded Console into the Instance API which removed a bunch of code. I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore. Review URL: http://codereview.chromium.org/7874002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100851 0039d316-1c4b-4281-b951-d872f2087c98
* Coverity: Initialize member variables.jhawkins@chromium.org2011-09-123-3/+8
| | | | | | | | | | | | | CID_COUNT=23 CID=100941,100986,100987,101015,101016,101017,101227,101229,101230,101332,101333,101334,101335,101336,101337,101355,101356,101359,101362,101363,101381,101389,101417 BUG=none TEST=none R=kmadhusu@chromium.org Review URL: http://codereview.chromium.org/7780013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100774 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100748 - This patch tries to remove most of the manual registration ↵dmazzoni@chromium.org2011-09-12110-1201/+2152
| | | | | | | | | | | | | | | | | | | | | | | | | for Pepper interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev). This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration. This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces. Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file. So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation. This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary. I folded Console into the Instance API which removed a bunch of code. I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore. Review URL: http://codereview.chromium.org/7740038 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/7844018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100754 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 100751 - Fix Windows build by renaming interface to iface.dmazzoni@chromium.org2011-09-122-9/+9
| | | | | | | | | | TEST=it compiles Review URL: http://codereview.chromium.org/7871005 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/7872007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100752 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Windows build by renaming interface to iface.brettw@chromium.org2011-09-122-9/+9
| | | | | | | TEST=it compiles Review URL: http://codereview.chromium.org/7871005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100751 0039d316-1c4b-4281-b951-d872f2087c98
* This patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-12110-2152/+1201
| | | | | | | | | | | | | | | | | | | | | | interfaces, and replaces it with a list of macros. When files want to know which Pepper interface names and structs there are, they define what they want to do with the macros, and then include the relevant files for the classes of interfaces they want (stable, private, dev). This does not convert all the dev interfaces. I just did a few to keep the patch smaller. So there is still a lot of manual registration. This fixes the previous design problem where we assumed one *_Proxy object == one interface. We have been hacking around this lately with duplicate GetInfo calls, but this doesn't work for PPP interfaces. Now, a _Proxy object is just there to help keep things organized. One proxy can handle zero, one, or many interfaces, and this mapping is controlled by just one line in the interfaces file. So for example, to add a new function to a new version of an interface with backward compatibility, you would add that function to the _api.h file, and write a thunk for the new interface. Then you only need to add one line to the interfaces_ppb_public_stable.h file and that will be hooked up with the proxy and the implementation. This removes some _proxy objects/files that were used only to declare that the interfaces existed, since they're no longer necessary. I folded Console into the Instance API which removed a bunch of code. I removed FileChooser 0.4. I think everybody has converted to the new one, and I think parts of it weren't even hooked up properly anymore. Review URL: http://codereview.chromium.org/7740038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100748 0039d316-1c4b-4281-b951-d872f2087c98
* Fix memory leak if user of IPC::SyncMessage never calls GetReplyDeserializer().dmichael@chromium.org2011-09-091-1/+0
| | | | | | | | | | | | | | | This isn't a problem for most real code, because SyncChannel and SyncMessageFilter do it for you. It shows up in ppapi_unittests (and presumably any other tests that rely on IPC::TestSink). Also removed some code that worked around the problem. Bonus: Allow running ppapi_unittests in tools/valgrind/chrome_tests.py. BUG=90240 TEST=valgrind trybots Review URL: http://codereview.chromium.org/7831060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100496 0039d316-1c4b-4281-b951-d872f2087c98
* Remove executable permission.yzshen@chromium.org2011-09-082-0/+0
| | | | | | | | | | | TBR=estade TEST=pass check_perms buildbot. BUG=None Review URL: http://codereview.chromium.org/7846021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100180 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce a new Pepper interface: PPB/PPP_MouseLock.yzshen@chromium.org2011-09-087-0/+183
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7828019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100166 0039d316-1c4b-4281-b951-d872f2087c98
* reconstitute moving 3d out of dev CL. (previous attempt was reverted)nfullagar@google.com2011-09-079-17/+17
| | | | | | | | | previous CL: http://codereview.chromium.org/7737013/ BUG= http://code.google.com/p/chromium/issues/detail?id=94320 TEST= try bots, manual testing Review URL: http://codereview.chromium.org/7837018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99968 0039d316-1c4b-4281-b951-d872f2087c98
* Use precompiled headers for most large projects where the .gyp filejoi@chromium.org2011-09-076-12/+15
| | | | | | | | | | | | | | is not a third party file. On my machine, this speeds up a full recompile of the 'chrome' target in Debug mode by about 18%. BUG=none TEST=it builds, existing tests pass Review URL: http://codereview.chromium.org/7706011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99949 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 99855 - Move PPAPI graphics3d and opengles interfaces out of Dev.nfullagar@google.com2011-09-069-17/+17
| | | | | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=94320 TEST= various nacl exmaples, try bots Review URL: http://codereview.chromium.org/7737013 TBR=nfullagar@google.com Review URL: http://codereview.chromium.org/7782020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99861 0039d316-1c4b-4281-b951-d872f2087c98
* Move PPAPI graphics3d and opengles interfaces out of Dev.nfullagar@google.com2011-09-069-17/+17
| | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=94320 TEST= various nacl exmaples, try bots Review URL: http://codereview.chromium.org/7737013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99855 0039d316-1c4b-4281-b951-d872f2087c98
* Replace the use of an int32* with an explicit profile for decoder configuration.fischman@chromium.org2011-09-015-20/+15
| | | | | | | | | | | | | | Replaces the error-prone, overly-general, error-containing, and brittle manually-terminated array-of-ints holding name/value pairs (except for names that don't take values) with a simple profile parameter (specifying only information we actually use today). BUG=none TEST=trybots, ovdatest, gles2 Review URL: http://codereview.chromium.org/7779001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99111 0039d316-1c4b-4281-b951-d872f2087c98
* Add movement information to PPB_MouseInputEvent.yzshen@chromium.org2011-08-316-7/+25
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7715021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98994 0039d316-1c4b-4281-b951-d872f2087c98
* Reland http://codereview.chromium.org/7648033dmichael@chromium.org2011-08-302-2/+6
| | | | | | | | | | | | Add means for running some tests only o-o-p, add messaging o-o-p test. BUG=None TEST=included TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/7799031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98861 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 98826 - Add means for running some tests only o-o-p. Add messaging ↵dtseng@chromium.org2011-08-302-6/+2
| | | | | | | | | | | | | | non-main thread test. BUG=92909 TEST=included Review URL: http://codereview.chromium.org/7648033 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/7806016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98833 0039d316-1c4b-4281-b951-d872f2087c98
* Add means for running some tests only o-o-p. Add messaging non-main thread test.dmichael@chromium.org2011-08-302-2/+6
| | | | | | | | | BUG=92909 TEST=included Review URL: http://codereview.chromium.org/7648033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98826 0039d316-1c4b-4281-b951-d872f2087c98
* Allow both Context3D and Graphics3D with the video decoderpiman@chromium.org2011-08-302-15/+29
| | | | | | | | | | BUG=none TEST=Pepper Flash Review URL: http://codereview.chromium.org/7765011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98742 0039d316-1c4b-4281-b951-d872f2087c98
* Create ppapi_proxy.dll and ppapi_shared.dll.darin@chromium.org2011-08-2617-27/+66
| | | | | | | | | | | | | | | | 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-2619-358/+169
| | | | | | | | | | 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
* Merge the plugin and impl side of the audio config and input event resources.brettw@chromium.org2011-08-258-97/+21
| | | | | | | | | | Now that we have a unified resource system, we no longer need the duplication on both sides of the proxy. This resource is now implemented entirely in shared_impl. Review URL: http://codereview.chromium.org/7621070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98185 0039d316-1c4b-4281-b951-d872f2087c98
* Don't use a scoped_refptr for StringVar::FromPPVarbrettw@chromium.org2011-08-227-14/+14
| | | | | | | | | | This was leftover from a previous design where I thought it would be necessary. It turns out it just made the code ugly and did unnecessary refcounting. Review URL: http://codereview.chromium.org/7621054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97751 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup in the file chooser API.brettw@chromium.org2011-08-208-29/+79
| | | | | | | | | | | | | | | This revs the file chooser interface to no longer pass a separate options structure. This structure was weird because it only had two members, and didn't have ownership of the string which is potentially dangerous. The new interface is a bit easier to call. I changed the string to take a Var, and the C++ layer now takes an Instance* rather than an Instance& which is consistent with the other interfaces. I updated the example. TEST=manual BUG= Review URL: http://codereview.chromium.org/7660017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97558 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the pp::proxy namespace to the ppapi::proxy namespace.brettw@chromium.org2011-08-18145-789/+644
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1855-513/+345
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Cleanup: base/scoped_ptr.h -> base/memory/scoped_ptr.h. (part 4)thestig@chromium.org2011-08-181-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/7670016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97286 0039d316-1c4b-4281-b951-d872f2087c98
* Removed config management from Graphics3D API. It will be better handled in ↵alokp@chromium.org2011-08-166-15/+5
| | | | | | | | | the EGL helper library. Also removed redundant enums from the API. Review URL: http://codereview.chromium.org/7576012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97019 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PPB_Flash_TCPSocket.InitiateSSL.yzshen@chromium.org2011-08-163-13/+86
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7535007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97005 0039d316-1c4b-4281-b951-d872f2087c98
* Add option to not generate resources on bind in OpenGL ESgman@chromium.org2011-08-161-1/+2
| | | | | | | | | | | | | | | | | | | This allowes us to more efficiently manage ids. It is not OpenGL ES 2.0 compatible though it probably fits most OpenGL ES programs. Note that we need to turn this off on Pepper and/or probably provide a way for Pepper to turn on on. I'm not sure of the path Pepper takes to setup. Assuming it goes through GraphicsContext3D then changes to webkit will be needed to get the flag all the way down through IPC to the GPU process. TEST=unit tests and ran a few pages in a chrome build BUG=92260 Review URL: http://codereview.chromium.org/7633060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96904 0039d316-1c4b-4281-b951-d872f2087c98
* Add MessageLoopProxy::currentnduca@chromium.org2011-08-152-2/+2
| | | | | | Review URL: http://codereview.chromium.org/7583053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96819 0039d316-1c4b-4281-b951-d872f2087c98
* Make WebPluginInfo more genericcpu@chromium.org2011-08-141-1/+1
| | | | | | | | | | | | | - To account for pepper plugins, it grows a type field - move WebPluginInfo from webkit::npapi to webkit:: and move the files as well. This will allow us to remove hacks to get pepper plugins to load soon BUG=89248 TEST=none Review URL: http://codereview.chromium.org/7648017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96718 0039d316-1c4b-4281-b951-d872f2087c98
* Move host resource from the proxy to the shared_impl.brettw@chromium.org2011-08-1379-408/+424
| | | | | | | | | | | 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
* Gracefully handle multiple Flush/Reset/Decode with same idpiman@chromium.org2011-08-121-3/+6
| | | | | | | | | | | | | | The DCHECKs don't trigger in release, and in any case it's a bit rude to have the renderer crash on a plugin that did the wrong thing, so send an error instead. BUG=None TEST=Pepper Flash Review URL: http://codereview.chromium.org/7628025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96649 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the old type system for proxied resources. These were no longer being ↵brettw@chromium.org2011-08-1212-100/+12
| | | | | | | | used. Review URL: http://codereview.chromium.org/7587011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96610 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure ppapi::WebKitForwarding::Font is deleted on the WebKit thread.yzshen@chromium.org2011-08-122-24/+43
| | | | | | | | | | | | We need to do so because we now have asserts which make sure ref/deref of RefCounted happen on the right thread. TEST=None BUG=None Review URL: http://codereview.chromium.org/7629006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96595 0039d316-1c4b-4281-b951-d872f2087c98
* Add the PP_Instance to resource object base.brettw@chromium.org2011-08-111-1/+2
| | | | | | | | | This will allow us to get the instance for a resource consistently in the proxy and webkit glue. Review URL: http://codereview.chromium.org/7461147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96473 0039d316-1c4b-4281-b951-d872f2087c98
* Move the refcounting from the proxy/impl resource object to the shared ↵brettw@chromium.org2011-08-111-3/+1
| | | | | | | | | | | | | | | | | | | resource object base class. Fix the audio and video code which shouldn't have derived from the ResourceObjectBase class. This produced a diamond inheritance on refcounted. The refcounting for resources is no longer threadsafe. We weren't doing any thread stuff with these, so this should be fine. There should be no behavior change. BUG= TEST= Review URL: http://codereview.chromium.org/7608033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96394 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the PluginResource to be refcounted.brettw@chromium.org2011-08-1126-63/+54
| | | | | | | | | This is to make the future transition to a shared resource tracker (which will use refcounted resources) easier. There should be no behavior change. Review URL: http://codereview.chromium.org/7608030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96324 0039d316-1c4b-4281-b951-d872f2087c98
* Unify var tracking between webkit and the proxy.brettw@chromium.org2011-08-0919-520/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the var tracking in the proxy with the var tracking in the shared_impl that's used by the implementation. It adds a new ProxyObjectVar to be the proxied plugin analog of NPObjectVar in the impl. This new object just keeps track of the host data. The tricky part is to make the var tracker able to do all the crazy messaging. This adds some virtual functions to the shared var tracker that we override in the plugin in PluginVarTracker. This removes the calls to the GetLiveObjectsForInstance in the var deprecated test. It turns out this function really can't be implemented properly in the proxy, and I don't know why it even worked before. A Release() call posts a non-nestable task so the object isn't released until later. So to implement the proxy for GetLiveObjectsForInstance we would also need to post a non-nestable task. But when the test runs we're getting called from within the plugin, so blocking on a non-nestable task deadlocks. So I just gave up and deleted the parts of the test that uses it. TEST=included BUG=none Review URL: http://codereview.chromium.org/7578001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96094 0039d316-1c4b-4281-b951-d872f2087c98
* PPB/PPP_VideoCapture_Dev proxypiman@chromium.org2011-08-099-3/+605
| | | | | | | | | | BUG=None TEST=VideoCapture sample (in a later CL) Review URL: http://codereview.chromium.org/7601005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95961 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 95309. Add a template to handle properly issuing completion callbacks.brettw@chromium.org2011-08-0810-107/+178
| | | | | | | | | | | | | | This fixes some bugs where we forgot to issue completion callbacks in some error cases in the proxy, and cleans up the cases that were already doing this properly. This removes the PPB_AudioTrusted_API and folds those functions into the regular Audio API. I'm trying to merge more things to have a smaller explosion of APIs and the boilerplate associated with them. Original review URL: http://codereview.chromium.org/7551032 Review URL: http://codereview.chromium.org/7585025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95859 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PPAPI VideoDecode out-of-process supportvrk@chromium.org2011-08-0610-35/+772
| | | | | | | | | | | | | This CL implements the proxy necessary for out-of-process video decoding and introduces a shared base class between the PPB_VideoDecoder_Impl and the proxy. BUG=NONE TEST=gles2 plugin runs with or without --ppapi-out-of-process flag, no crashes Review URL: http://codereview.chromium.org/7545014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95724 0039d316-1c4b-4281-b951-d872f2087c98
* Video Capture Pepper APIpiman@chromium.org2011-08-063-0/+8
| | | | | | | | | | | | The API is very simple at this point but works end-to-end. BUG=None TEST=VideoCapture sample (in a later CL) Review URL: http://codereview.chromium.org/7553003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95719 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 95309 - I need to fix some bugs with this.brettw@chromium.org2011-08-0310-177/+107
| | | | | | | | | | | | | | | Add a template to handle properly issuing completion callbacks. This fixes some bugs where we forgot to issue completion callbacks in some error cases in the proxy, and cleans up the cases that were already doing this properly. This removes the PPB_AudioTrusted_API and folds those functions into the regular Audio API. I'm trying to merge more things to have a smaller explosion of APIs and the boilerplate associated with them. Review URL: http://codereview.chromium.org/7551032 TBR=brettw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95342 0039d316-1c4b-4281-b951-d872f2087c98
* Add a template to handle properly issuing completion callbacks. This fixesbrettw@chromium.org2011-08-0310-107/+177
| | | | | | | | | | | | some bugs where we forgot to issue completion callbacks in some error cases in the proxy, and cleans up the cases that were already doing this properly. This removes the PPB_AudioTrusted_API and folds those functions into the regular Audio API. I'm trying to merge more things to have a smaller explosion of APIs and the boilerplate associated with them. Review URL: http://codereview.chromium.org/7551032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95309 0039d316-1c4b-4281-b951-d872f2087c98
* Proxy PPP_Messaging.dmichael@chromium.org2011-08-0315-43/+381
| | | | | | | | | | | I added a couple of tests while I was figuring out the ref counting problem I was having. Also lots of bonus spelling fixes. BUG=86123 TEST=ppp_messaging_proxy_test and ppapi_tests Review URL: http://codereview.chromium.org/7531003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95240 0039d316-1c4b-4281-b951-d872f2087c98