summaryrefslogtreecommitdiffstats
path: root/ppapi/thunk/interfaces_ppb_private.h
Commit message (Collapse)AuthorAgeFilesLines
* This adds the following to functions to the ppapi TCPSocket interface:raymes@chromium.org2012-04-121-0/+2
| | | | | | | | | | | | | 1) GetServer certificate, which returns the server X509Certificate if an SSL connection has been established. 2) AddChainBuilding certificate. This is currently unimplemented in Chrome but the interface and plumbing has been added so it can easily be hooked up. This should add a trusted/untrusted chain building certificate to be used by the client for a particular connection when performing the SSL handshake. BUG=114626 TEST=out/Release/browser_tests --gtest_filter=*PPAPITest.*TCP*Trusted* Review URL: http://codereview.chromium.org/9699100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131918 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up the file chooser proxy 0.6brettw@chromium.org2012-04-091-0/+4
| | | | | | | | | | | | This also removes the "old" style registration for the 0.5 version. BUG=122440 TEST= Review URL: http://codereview.chromium.org/10008064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131384 0039d316-1c4b-4281-b951-d872f2087c98
* Add the PPAPI X509 Certificate interface and implementation.raymes@chromium.org2012-04-041-0/+4
| | | | | | | | | | | | Adds the interface for accessing X509 certificate fields. Note that the interface uses a GetField(field) method for accessing various fields of the certificate and all resuls are returned as pp::Var. This greatly simplifies the implementation of the interface and process of adding/changing fields so it is probably better (at least in the short term for flash). BUG=114626 TEST=out/Debug/ui_tests --gtest_filter=*PPAPITest.*X509Certificate* NOTRY=true Review URL: http://codereview.chromium.org/9693024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130654 0039d316-1c4b-4281-b951-d872f2087c98
* Add CreateFromIPv[46]Address() in PPB_NetAddress_Private.sergeyu@chromium.org2012-03-221-0/+2
| | | | | | Review URL: http://codereview.chromium.org/9722008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128322 0039d316-1c4b-4281-b951-d872f2087c98
* Out-of-process implementation of the PPB_NetworkMonitor_Private interface.sergeyu@chromium.org2012-03-201-5/+7
| | | | | | | | | BUG=114808 Review URL: http://codereview.chromium.org/9677060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127762 0039d316-1c4b-4281-b951-d872f2087c98
* Add a private PPB_Talk_Private interface.varunjain@chromium.org2012-03-191-0/+3
| | | | | | | | | | | | It exposes one function that sends a message to the browser and issues a reply. The browser doesn't implement this yet. BUG=117564 TEST= Review URL: https://chromiumcodereview.appspot.com/9700028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127564 0039d316-1c4b-4281-b951-d872f2087c98
* Added out-of-process support for server sockets.ygorshenin@chromium.org2012-03-151-0/+4
| | | | | | | | | | BUG=108277 TEST=OutOfProcessPPAPITest.TCPServerSocketPrivate Review URL: http://codereview.chromium.org/9669038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126873 0039d316-1c4b-4281-b951-d872f2087c98
* HostResolver is exposed to plugin.ygorshenin@chromium.org2012-03-151-0/+3
| | | | | | | | | | BUG=114225 TEST=UI test TestHostResolverPrivate Review URL: http://codereview.chromium.org/9455092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126813 0039d316-1c4b-4281-b951-d872f2087c98
* Add NetworkList/NetworkMonitor hooks and C++ wrappers.sergeyu@chromium.org2012-03-051-0/+6
| | | | | | | | | | | BUG=114808 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=124797 Review URL: http://codereview.chromium.org/9545010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124927 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 124797 - Add NetworkList/NetworkMonitor hooks and C++ wrappers.sergeyu@chromium.org2012-03-031-6/+0
| | | | | | | | | | | | BUG=114808 Review URL: http://codereview.chromium.org/9545010 TBR=sergeyu@chromium.org Review URL: https://chromiumcodereview.appspot.com/9585033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124809 0039d316-1c4b-4281-b951-d872f2087c98
* Add NetworkList/NetworkMonitor hooks and C++ wrappers.sergeyu@chromium.org2012-03-031-0/+6
| | | | | | | | | BUG=114808 Review URL: http://codereview.chromium.org/9545010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124797 0039d316-1c4b-4281-b951-d872f2087c98
* GetBoundAddress will return the address that Bind actually bound to. If ↵yzshen@chromium.org2012-02-211-0/+2
| | | | | | | | | | | | there has not been a successful call to Bind, this method will return an error. BUG=no bug TEST=udp tests Review URL: https://chromiumcodereview.appspot.com/9212047 Patch from Mike Tilburg <mtilburg@adobe.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122910 0039d316-1c4b-4281-b951-d872f2087c98
* Rename PPB_Font to PPB_BrowserFont_Trusted.brettw@chromium.org2012-02-171-0/+8
| | | | | | | | | | | | | | | | | | | PPB_Font can never be exported to NaCl since it relies on in-process WebKit. So I'm renaming this to BrowserFont_Trusted to imply that this is the way that the browser would render fonts in the content area (if we export a font API to NaCl in the future, it will likely be a simpler native font API). The new API is binary compatible with the old font API, so I map PPB_Font to PPB_BrowserFont_Trusted for now to avoid breaking Flash (which uses this). When we update Flash and push it out, we can remove the mapping and PPB_Font. This does a lot of cleanup of the font implementation. It had complexity from the fact that it used to run on a different thread. I was able to remove a lot of code. Review URL: https://chromiumcodereview.appspot.com/9360045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122564 0039d316-1c4b-4281-b951-d872f2087c98
* Move the charset inteface to "trusted" (we can't implement this efficientlybrettw@chromium.org2012-02-091-0/+2
| | | | | | | | | | | | | | | in NaCl) and modify to no longer require the memory interface. This keeps the old interface and implements it in terms of the newer one. We can remove it when all callers have been updated. BUG= TEST= Review URL: http://codereview.chromium.org/9348069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121159 0039d316-1c4b-4281-b951-d872f2087c98
* PPB_NetAddress_Private: add getter methods for sockaddr.yzshen@chromium.org2012-02-091-0/+2
| | | | | | | | | | | | | | | | This CL is mostly contributed by Vinay(vinaya@adobe.com): http://codereview.chromium.org/9235035 Comparing with 9235035, this change: - fixes the NaCl Proxy. - adds untrusted tests. - does other small fixes. BUG=None TEST=test_net_address_private and test_net_address_private_untrusted Review URL: https://chromiumcodereview.appspot.com/9307115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121106 0039d316-1c4b-4281-b951-d872f2087c98
* Update PPAPI IDL generator to define versioned structs, and unversioned typedef.wez@chromium.org2012-01-051-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For interface Foo with versions A and B, structs will be defined for Foo_A and Foo_B, and a typedef generated from Foo_B to Foo. Versioning of IDL structs remains unchanged. (Follow-up to discussion on CL 8931019) *** This change breaks compatibility with C code that makes use of unversioned-named interface structs. :( *** We need to define a versioned-named struct for each interface's current version. We could: 1. Carry on defining the current struct unversioned and typedef a versioned name for it. The versioned type for the interface would be a typedef for the latest version and a struct for later versions, causing calling C code that uses it to break when a new version is added. 2. Define structs for all versions, and a separate unversioned struct. This would lose type equivalence between the versioned and unversioned copies of the latest interface specification, and lead to needless duplication, especially for one-version interfaces. 3. Do this CL. We break some C code once, by change the unversioned type from struct to typedef, but we avoid these headaches in future. C++ code shouldn't be affected. *** Contents of this CL, including notes on to-dos: This change requires updating thunk-getters to be defined using versioned names, so that the interface structs can be forward declared; the thunk-getters now have versioned names and return values. Changing the thunk-getter naming requires updating unit-tests to call the versioned names. It also requires some interface headers not generated from IDL to be manually updated to the new scheme (PPB_CharSet_Dev, PPB_Crypto_Dev, PPB_DirectoryReader_Dev, PPB_LayerCompositor_Dev, PPB_Graphics3D, PPB_Flash_Menu, PPB_Instance_Private, PPP_Pdf, PPB_Flash_NetConnector, PPB_GLESChromiumTextureMapping_Dev and PPB_Graphics3D_Trusted). The proxy GetInfo() calls are updated to use versioned interface macros and thunks. Similarly, most PPBs added in interface_list.cc are now added using versioned interface macros and thunk getters. Ditto PluginModule, and some of PluginInstance. Some implementations (e.g. PPB_CharSet_Dev) needed updating to use versioned thunk getters to fetch interfaces to use. The VideoDecoder interface size checks are for 32-bit are updated not to expect structs. It was necessary to replace forward declarations of interface structs with includes, and remove "struct" prefixes where unversioned names were used. In most cases the affected code should really be updated to cope with versions. PPP_Pdf has become PPP_Pdf_1. Other versionless structs that should be updated for consistenct include PPB_UMA_Private, PPB_GPU_Blacklist_Private, PPB_Proxy_Private, PPP_PDF, PPB_OpenGLES2, PPB_Flash_File_FileRef and PPB_Flash_File_ModuleLocal. Also PPP_Class_Deprecated, PPP_CursorControl_Dev, PPP_Find_Dev, PPP_NetworkState_Dev, PPP_Scrollbar_Dev, PPP_Selection_Dev, PPP_VideoCapture_Dev, PPP_Graphics3D and PPP_Instance_Private. The Graphics2D and GLES2 examples now use unversioned interface type names without "struct" prefix. It's not clear whether examples should use versioned names, to show best practice, or unversioned. The typedef hack in PPP_Instance IDL is gone. Yay. BUG=107398,108379 TEST=All Pepper and NaCl tests should continue to pass on Chromium bots. NaCl SDK examples build correctly. Review URL: http://codereview.chromium.org/8989006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116490 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a proxy for Pepper FileIO.brettw@chromium.org2011-12-101-0/+2
| | | | | | | | | | [ Reland of 113565 http://codereview.chromium.org/8764003 ] This splits apart the old in-process implementation into a new object in shared_impl that does most of the general tracking. This alllows that code to be shared by the proxy. BUG=http://crbug.com/101154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113953 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 113817 - Implement a proxy for Pepper FileIO.brettw@chromium.org2011-12-091-2/+0
| | | | | | | | | | | | | [ Reland of 113565 http://codereview.chromium.org/8764003 ] This splits apart the old in-process implementation into a new object in shared_impl that does most of the general tracking. This alllows that code to be shared by the proxy. BUG=http://crbug.com/101154 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/8898005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113819 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a proxy for Pepper FileIO.brettw@chromium.org2011-12-091-0/+2
| | | | | | | | | | [ Reland of 113565 http://codereview.chromium.org/8764003 ] This splits apart the old in-process implementation into a new object in shared_impl that does most of the general tracking. This alllows that code to be shared by the proxy. BUG=http://crbug.com/101154 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113817 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 113656 - Implement a proxy for Pepper FileIO.brettw@chromium.org2011-12-081-2/+0
| | | | | | | | | | | | | This splits apart the old in-process implementation into a new object in shared_impl that does most of the general tracking. This alllows that code to be shared by the proxy. BUG=http://crbug.com/101154 Review URL: http://codereview.chromium.org/8764003 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/8890037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113659 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a proxy for Pepper FileIO.brettw@chromium.org2011-12-081-0/+2
| | | | | | | | | | This splits apart the old in-process implementation into a new object in shared_impl that does most of the general tracking. This alllows that code to be shared by the proxy. BUG=http://crbug.com/101154 Review URL: http://codereview.chromium.org/8764003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113656 0039d316-1c4b-4281-b951-d872f2087c98
* Convert file ref private to use new registration.brettw@chromium.org2011-12-021-0/+1
| | | | | | | | | | This removes some manual registration code. It should also make FileRef private work in process, it didn't look like it was being registered for in-process use before. Review URL: http://codereview.chromium.org/8772027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112740 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Context3D/Surface3Dpiman@chromium.org2011-12-011-5/+0
| | | | | | | | | | | | Graphics3D is the new black. BUG=None TEST=None Review URL: http://codereview.chromium.org/8676042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112412 0039d316-1c4b-4281-b951-d872f2087c98
* Remove 'Flash' from TCP/UDP Pepper interfaces names. This CL preserves old ↵dpolukhin@chromium.org2011-11-161-0/+7
| | | | | | | | | | | idl and C/C++ headers for backward compatibility. Also TCP interface should be returned by old name. BUG=none TEST=build Review URL: http://codereview.chromium.org/8506016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110265 0039d316-1c4b-4281-b951-d872f2087c98
* Make the Pepper Flash net address just private, not Flash-specific.viettrungluu@chromium.org2011-11-101-1/+2
| | | | | | | | | | | 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
* Re-land r109086: Add private Pepper API for dealing with PP_Flash_NetAddress.viettrungluu@chromium.org2011-11-091-0/+1
| | | | | | | | | | | [The Win components build was already fixed, and the broken unrevert reverted. The original review was here: http://codereview.chromium.org/8357030 .] BUG=none TEST=none Review URL: http://codereview.chromium.org/8496045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109165 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 109160 - Revert 109153 - Revert 109086 - Add private Pepper API for ↵binji@chromium.org2011-11-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | dealing with PP_Flash_NetAddress. [The Win components breakage should be fixed by r109156.] BUG=none TEST=none Review URL: http://codereview.chromium.org/8357030 TBR=viettrungluu@chromium.org Review URL: http://codereview.chromium.org/8499045 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/8496043 TBR=viettrungluu@chromium.org Review URL: http://codereview.chromium.org/8498037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109161 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 109153 - Revert 109086 - Add private Pepper API for dealing with ↵viettrungluu@chromium.org2011-11-091-0/+1
| | | | | | | | | | | | | | | | | | | PP_Flash_NetAddress. [The Win components breakage should be fixed by r109156.] BUG=none TEST=none Review URL: http://codereview.chromium.org/8357030 TBR=viettrungluu@chromium.org Review URL: http://codereview.chromium.org/8499045 TBR=thakis@chromium.org Review URL: http://codereview.chromium.org/8496043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109160 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 109086 - Add private Pepper API for dealing with PP_Flash_NetAddress.thakis@chromium.org2011-11-091-1/+0
| | | | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8357030 TBR=viettrungluu@chromium.org Review URL: http://codereview.chromium.org/8499045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109153 0039d316-1c4b-4281-b951-d872f2087c98
* Add private Pepper API for dealing with PP_Flash_NetAddress.viettrungluu@chromium.org2011-11-081-0/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8357030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109086 0039d316-1c4b-4281-b951-d872f2087c98
* Add PPB_Fullscreen_Dev;0.5. Keep 0.4 for backwards compatiblity and point itpolina@google.com2011-09-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Rename PPB_Fullscreen_Dev to PPB_FlashFullscreen.brettw@chromium.org2011-09-201-1/+2
| | | | | | | | | | | 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
* s patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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-131-14/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100854 0039d316-1c4b-4281-b951-d872f2087c98
* This patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert 100748 - This patch tries to remove most of the manual registration ↵dmazzoni@chromium.org2011-09-121-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* This patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-121-0/+14
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