summaryrefslogtreecommitdiffstats
path: root/ppapi/thunk/ppb_scrollbar_thunk.cc
Commit message (Collapse)AuthorAgeFilesLines
* Delete FunctionGroupBase from Pepper.brettw@chromium.org2012-04-301-1/+1
| | | | | | | | | | | | | | | | | | | The FunctionGroupBase stuff was intended to used for our manual RTTI for interfaces not associated with resources. However, we've been putting most of those interfaces on the PPB_Instance_API which allows us to skip a whole lot of routing, setup, and boilerplate code. This patch moves the two remaining classes deriving from FunctionGroupBase and moves them to special getters on the globals class. We'll keep these classes around and since there are only two, it seems to warrant the special case. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10168026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134509 0039d316-1c4b-4281-b951-d872f2087c98
* Update PPAPI IDL generator to define versioned structs, and unversioned typedef.wez@chromium.org2012-01-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Convert transport, scrollbar, and query policy to IDL.brettw@chromium.org2011-10-051-2/+2
| | | | | | | | | | | This renames the scrollbar interface to not use the version number to make it consistent with other APIs. TEST=none BUG=none Review URL: http://codereview.chromium.org/8142001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104102 0039d316-1c4b-4281-b951-d872f2087c98
* Convert dev interfaces to use the macro system.brettw@chromium.org2011-09-141-1/+1
| | | | | | | | | | | | 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
* Pepper and WebKit API change to support a plugin knowing if a scrollbar is ↵jam@chromium.org2011-08-101-2/+10
| | | | | | | | | an overlay one. BUG=90530 Review URL: http://codereview.chromium.org/7538006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96244 0039d316-1c4b-4281-b951-d872f2087c98
* Fix typo in ppb_scrollbar_thunk.ccsail@chromium.org2011-06-291-1/+1
| | | | | | | | | | BUG=86181 TEST= Review URL: http://codereview.chromium.org/7273059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90977 0039d316-1c4b-4281-b951-d872f2087c98
* Make scrollbar GetThickness take a resource argument. This allows simlperbrettw@chromium.org2011-06-231-0/+87
routing of the request using the new thunk system. Support for the old interface is kept to keep pdf and nacl building. This removes the old Resource type introspection since this was the last resource using it. TEST=it compiles BUG=non Review URL: http://codereview.chromium.org/7228003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90272 0039d316-1c4b-4281-b951-d872f2087c98