summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy
Commit message (Collapse)AuthorAgeFilesLines
* Revert 106142 - Add a new globals object for PPAPI tracking information.sail@chromium.org2011-10-1826-187/+145
| | | | | | | | | | | | | | | | | | | | | | This adds a specialization on the host and plugin side of the proxy. This replaces the ad-hoc singleton tracking done by the resource and var trackers with just being getters on this global object. Most code can use the single PpapiGlobals class. I also allow code to get the host and plugin specializations since some code needs access to some specific features of each side. In a later pass I'll move the other stuff out of TrackerBase and delete it. TEST=none BUG=none Review URL: http://codereview.chromium.org/8316008 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/8342016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106148 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new globals object for PPAPI tracking information.brettw@chromium.org2011-10-1826-145/+187
| | | | | | | | | | | | | | | | | | | This adds a specialization on the host and plugin side of the proxy. This replaces the ad-hoc singleton tracking done by the resource and var trackers with just being getters on this global object. Most code can use the single PpapiGlobals class. I also allow code to get the host and plugin specializations since some code needs access to some specific features of each side. In a later pass I'll move the other stuff out of TrackerBase and delete it. TEST=none BUG=none Review URL: http://codereview.chromium.org/8316008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106142 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the PPAPI unittests by hooking up the new proxy function.brettw@chromium.org2011-10-171-7/+11
| | | | | | | | | TEST=manually run ppapi_unittests BUG=none Review URL: http://codereview.chromium.org/8317011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105921 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash in PPB_FileChooser_Dev proxy.bbudge@google.com2011-10-171-2/+2
| | | | | | | | BUG=100419 TEST=manual Review URL: http://codereview.chromium.org/8298017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105891 0039d316-1c4b-4281-b951-d872f2087c98
* Move PPB/PPP_MouseLock out of dev/.yzshen@chromium.org2011-10-166-13/+13
| | | | | | | | | | BUG=41781 TEST=None Review URL: http://codereview.chromium.org/8295023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105707 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI Fullscreen: move out of Dev.polina@google.com2011-10-143-4/+5
| | | | | | | | BUG=41780 TEST=in CL Review URL: http://codereview.chromium.org/8291002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105590 0039d316-1c4b-4281-b951-d872f2087c98
* Proxy PPB_FileChooserTrusted for Flash.bbudge@google.com2011-10-133-1/+24
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8273016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105391 0039d316-1c4b-4281-b951-d872f2087c98
* Implement 'SAVEAS' mode for PPB_FileChooser_Impl. Also, fix the Save File ↵bbudge@chromium.org2011-10-135-17/+65
| | | | | | | | | | | dialog when thesuggested file name is a root directory, such as "C:\". BUG=73070 TEST=manual Review URL: http://codereview.chromium.org/8142018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105247 0039d316-1c4b-4281-b951-d872f2087c98
* Add global lock for Enter* classes. Add ScopedProxyLock for non-thunk ↵dmichael@chromium.org2011-10-115-28/+220
| | | | | | | | | | | proxies. Add multi-threading test for PPB_Var. BUG=92909 TEST=None yet Review URL: http://codereview.chromium.org/8016008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104931 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the charset, memory, and crypto interfaces to use the thunk system.brettw@chromium.org2011-10-1112-302/+27
| | | | | | | | | | This removes a bunch of plumbing for the proxy and impl sides, and uses the new macro system for registering the interface. This saves a lot of code and a bunch of boilerplate files could be deleted. Review URL: http://codereview.chromium.org/8159003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104850 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent reentrant destructors in the PluginModule.brettw@chromium.org2011-10-111-7/+19
| | | | | | | | | | | | | | | | This makes us not hold a ref to the PluginModule during sending async messages. Previously we would cancel callbacks in the PluginModule destructor and this would change the ref count from 0 to 1, and then back to 0, calling reentrantly into the destructor again. Not holding a ref during async messages prevent this problem. I also added some checking to detect sync messages during shutdown, and also reentrant destructors should this happen again. BUG = http://crosbug.com/21258, http://crbug.com/99398 Review URL: http://codereview.chromium.org/8222021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104847 0039d316-1c4b-4281-b951-d872f2087c98
* Convert URLUtil to the thunk system.brettw@chromium.org2011-10-107-302/+159
| | | | | | | | This removes some duplicate code between the proxy and the impl. Review URL: http://codereview.chromium.org/8159012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104741 0039d316-1c4b-4281-b951-d872f2087c98
* Convert video capture/decoder stuff to IDL.brettw@chromium.org2011-10-071-6/+7
| | | | | | | | | I revved the PPP_VideoDecoder interface since IDL wants to pass PP_Picture_Dev by pointer instead of by value. This also renames the VIDEO_CAPTURE interface string/define to VIDEOCAPTURE for consistency (what IDL wants to do). Review URL: http://codereview.chromium.org/8144008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104569 0039d316-1c4b-4281-b951-d872f2087c98
* Convert ppapi/* to use base::Bind.dmichael@chromium.org2011-10-049-19/+28
| | | | | | | | | | BUG=35223 TEST=ppapi_unittests, ppapi ui_tests Review URL: http://codereview.chromium.org/8141004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104018 0039d316-1c4b-4281-b951-d872f2087c98
* Add some checking for the font proxy.brettw@chromium.org2011-10-041-10/+21
| | | | | | | | | | | | Crash reports indicate that some plugins may be using this interface after the instance has been destroyed, which causes a crash. This patch detects that case and returns early. BUG=http://crosbug.com/20977 Review URL: http://codereview.chromium.org/8114009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103903 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the host dispatcher unittest file. This test doesn't pass because thebrettw@chromium.org2011-10-041-42/+0
| | | | | | | | | | behavior has changed, and what it tests is basically useless. TEST=none BUG=87647 Review URL: http://codereview.chromium.org/8116016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103902 0039d316-1c4b-4281-b951-d872f2087c98
* Restore comments about reentrancy in the HostDispatcher::Send functionananta@chromium.org2011-10-011-1/+7
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8095021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103598 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash in the renderer process which occurs in the PPAPI host code due ↵ananta@chromium.org2011-09-301-5/+6
| | | | | | | | | | | | | | | | | | | to the underlying plugin object getting destroyed in the context of an incoming ExecuteScript call while the renderer is waiting for an javascript function call on the plugin object to return. We need to grab a reference on the plugin module in the dispatcher code and in the plugin object as there are two crashes which occur here 1. When the dispatcher send is about to return from the Send call and it tries to unmarshal the return values. 2. The other crash is in the wrapper class Invoke function where we crash similarly. Fixes bug http://code.google.com/p/flapper/issues/detail?id=77 Review URL: http://codereview.chromium.org/8098001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103570 0039d316-1c4b-4281-b951-d872f2087c98
* Unused variables cleanup (gcc 4.6)pph34r@gmail.com2011-09-303-10/+10
| | | | | | | | | | | | Make BrokerDispatcher::OnMsgConnectToPlugin report result via IPC. BUG=87490 TEST=None Review URL: http://codereview.chromium.org/8091001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103501 0039d316-1c4b-4281-b951-d872f2087c98
* Additional update on Pepper IME API and boilerplate thunk/proxy implementation.kinaba@chromium.org2011-09-295-0/+161
| | | | | | | | | | | | | | | | | | | | | BUG=59425 TEST=Check that ppapi_tests compile (with GYP_DEFINES=shared_library, too). This CL is the second (out of three) part for adding IME support for PPAPI. It reflects comments from James Su to the previous CL: http://codereview.chromium.org/7882004. - Renamed ..._COMPOSTION_START to _IME_COMPOSITON_START. - Changed to assure GetSegment to return a strictly increasing sequence of segmentation points from 0 to the length. and, - Added the mostly boilerplate code for interfacing with in-process & out-of-process plugins. The actual implementation of the IME support will come as the next and the last part of this series of patches. Review URL: http://codereview.chromium.org/8059006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103234 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 102897 - Additional update on Pepper IME API and boilerplate ↵kinaba@chromium.org2011-09-275-161/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | thunk/proxy implementation. BUG=59425 TEST=Check that ppapi_tests compile. This CL is the second (out of three) part for adding IME support for PPAPI. It reflects comments from James Su to the previous CL: http://codereview.chromium.org/7882004. - Renamed ..._COMPOSTION_START to _IME_COMPOSITON_START. - Changed to assure GetSegment to return a strictly increasing sequence of segmentation points from 0 to the length. and, - Added the mostly boilerplate code for interfacing with in-process & out-of-process plugins. The actual implementation of the IME support will come as the next and the last part of this series of patches. Review URL: http://codereview.chromium.org/7978019 TBR=kinaba@chromium.org Review URL: http://codereview.chromium.org/8060005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102900 0039d316-1c4b-4281-b951-d872f2087c98
* Additional update on Pepper IME API and boilerplate thunk/proxy implementation.kinaba@chromium.org2011-09-275-0/+161
| | | | | | | | | | | | | | | | | | | | | BUG=59425 TEST=Check that ppapi_tests compile. This CL is the second (out of three) part for adding IME support for PPAPI. It reflects comments from James Su to the previous CL: http://codereview.chromium.org/7882004. - Renamed ..._COMPOSTION_START to _IME_COMPOSITON_START. - Changed to assure GetSegment to return a strictly increasing sequence of segmentation points from 0 to the length. and, - Added the mostly boilerplate code for interfacing with in-process & out-of-process plugins. The actual implementation of the IME support will come as the next and the last part of this series of patches. Review URL: http://codereview.chromium.org/7978019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102897 0039d316-1c4b-4281-b951-d872f2087c98
* Add PPB_Fullscreen_Dev;0.5. Keep 0.4 for backwards compatiblity and point itpolina@google.com2011-09-278-15/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to PPB_FlashFullscreen. The new implementation is based on http://codereview.chromium.org/7714017/ with some bug fixes. Update header comments. Main API differences between the old and the new implementation: - transition from fullscreen is now asynchronous and ends at DidChangeView just like transition to fullscreen; graphics devices cannot be bound during the transition. - when switching to/from fullscreen 3D resources no longer need to be re-created. - transitions to fullscreen are only possible when processing user user gestures. - transition to fullscreen results in 2 DidChangeViews, one for moving the plugin to the middle of the window and one for stretching the window and placing the plugin in the middle of the screen. - the size of the plugin is not changed when going to/from fullscreen. Testing: - Mapped ppapi_tests:test_fullscreen to ppapi_tests:test_flash_fullscreen. - Updated test_fullscreen to work with the new implementation. To be testable automatically this needs enhancements to the testing infrastructure for generating user gestures. For now marked the test as DISABLED. - Disabled NaCl's ppapi_ppb_fullscreen_browser_test for the same reasons as above. - To re-enable both tests, we will first need to add user gesture capabilites to PPB_Testing. - Build 0.4 ppapi_test:test_fullscreen and ran this out of process and in process with the newly build revision of chrome to verify backwards compatability. - In a separate CL, will update NaCl's ppapi_ppb_fullscreen_browser_test to work with the new implementation, for now only manually. BUG=41780 TEST=see above Review URL: http://codereview.chromium.org/7826017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102888 0039d316-1c4b-4281-b951-d872f2087c98
* Add Pepper API to use UDP mtilburg@adobe.com2011-09-267-0/+496
| | | | | | | | | | | | author: mtilburg@adobe.com BUG=none TEST=tested with pepper flash Review URL: http://codereview.chromium.org/8036036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102817 0039d316-1c4b-4281-b951-d872f2087c98
* Add a test for PPP_Instance_Private_Proxy, to verify reference counting.dmichael@chromium.org2011-09-234-12/+197
| | | | | | | | | BUG=90240 TEST=this test Review URL: http://codereview.chromium.org/7974013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102556 0039d316-1c4b-4281-b951-d872f2087c98
* Rename PPB_Fullscreen_Dev to PPB_FlashFullscreen.brettw@chromium.org2011-09-205-36/+37
| | | | | | | | | | | This is to make way for the new PPB_Fullscreen interface which will hopefully replace the old one at some point. This maintains backwards binary compat. I renamed two things related to the broker because the file wasn't being included in the proxy properly, and we never noticed they were wrong. This also fixes a crash in the test harness generating the list of tests, since there is no current test case for the DidChangeView call. Review URL: http://codereview.chromium.org/7917019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101999 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/scoped_ptr.hakalin@chromium.org2011-09-181-1/+1
| | | | | | | | | | | Fix remaining users to use base/memory/scoped_ptr.h. BUG= TEST= Review URL: http://codereview.chromium.org/7930009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101715 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new error code for a null callback on the main thread.brettw@chromium.org2011-09-165-7/+16
| | | | | | | | Convert the NaCl and ChromeIPC proxies to use the new value. Review URL: http://codereview.chromium.org/7885014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101556 0039d316-1c4b-4281-b951-d872f2087c98
* Properly proxy the fullscreen API.brettw@chromium.org2011-09-151-0/+1
| | | | | | | | This was not marked as proxied so it did not work out of process. Review URL: http://codereview.chromium.org/7909011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101361 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed ppb_opengles.h to ppb_opengles2.h.alokp@chromium.org2011-09-151-1/+1
| | | | | | Review URL: http://codereview.chromium.org/7888051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101308 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r101259 after fixing shared-library build issues.alokp@chromium.org2011-09-151-1/+3
| | | | | | | | | | | Removed the dependency of PepperPluginRegistry on Pepper proxy. We would need to move PepperPluginRegistry to webkit/plugins/ppapi so that it can be used by test_shell. But before we can move it, we need to remove all dependencies on content and pepper/proxy. TEST=Manually ran pepper 3d demos in-process and out-of-process. TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/7912001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101306 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 101259 - Removed the dependency of PepperPluginRegistry on Pepper proxy.stuartmorgan@chromium.org2011-09-151-2/+0
| | | | | | | | | | | | We would need to move PepperPluginRegistry to webkit/plugins/ppapi so that it can be used by test_shell. But before we can move it, we need to remove all dependencies on content and pepper/proxy. TEST=Manually ran pepper 3d demos in-process and out-of-process. Review URL: http://codereview.chromium.org/7885009 TBR=alokp@chromium.org Review URL: http://codereview.chromium.org/7903002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101262 0039d316-1c4b-4281-b951-d872f2087c98
* Removed the dependency of PepperPluginRegistry on Pepper proxy.alokp@chromium.org2011-09-151-0/+2
| | | | | | | | | We would need to move PepperPluginRegistry to webkit/plugins/ppapi so that it can be used by test_shell. But before we can move it, we need to remove all dependencies on content and pepper/proxy. TEST=Manually ran pepper 3d demos in-process and out-of-process. Review URL: http://codereview.chromium.org/7885009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101259 0039d316-1c4b-4281-b951-d872f2087c98
* Use enum instead of string to specify transport type.sergeyu@chromium.org2011-09-152-2/+2
| | | | | | | | | TEST=None BUG=41776 Review URL: http://codereview.chromium.org/7891014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101211 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 101189 - Use enum instead of string to specify transport type.sergeyu@chromium.org2011-09-142-2/+2
| | | | | | | | | | | | TEST=None BUG=41776 Review URL: http://codereview.chromium.org/7891014 TBR=sergeyu@chromium.org Review URL: http://codereview.chromium.org/7901002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101191 0039d316-1c4b-4281-b951-d872f2087c98
* Use enum instead of string to specify transport type.sergeyu@chromium.org2011-09-142-2/+2
| | | | | | | | | TEST=None BUG=41776 Review URL: http://codereview.chromium.org/7891014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101189 0039d316-1c4b-4281-b951-d872f2087c98
* Convert dev interfaces to use the macro system.brettw@chromium.org2011-09-144-15/+16
| | | | | | | | | | | | This converts the non-"weird" dev interfaces to using the macro system. The trusted and private ones are still remaining. This moves the find implementation to the instance API which saves some code and routing. Review URL: http://codereview.chromium.org/7887021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101177 0039d316-1c4b-4281-b951-d872f2087c98
* 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