summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/ppb_flash_proxy.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove the old PPB_Flash proxy.raymes@chromium.org2012-12-261-54/+0
| | | | | | | | | | | This removes the old, unused PPB_Flash proxy and related code. BUG= TBR=brettw Review URL: https://chromiumcodereview.appspot.com/11633034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174646 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor Flash Print to the new pepper resource modelraymes@chromium.org2012-12-211-8/+0
| | | | | | | | | | This refactors PPB_Flash_Print to the new pepper resource model. This is the last function from the ppb_flash_proxy to be refactored. The old proxy is still full of stale #includes and can now be removed entirely but this will be done in a separate CL. This was tested by printing from http://mycoloringbook.keasoftware.com/ Review URL: https://chromiumcodereview.appspot.com/11640033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174477 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor 4 PPB_Flash functions to the new PPAPI resource model.raymes@chromium.org2012-12-191-39/+0
| | | | | | | | | | | | | | | | | | | | | The functions being refactored are: -SetInstanceAlwaysOnTop -DrawGlyphs -GetProxyForURL -Navigate Each of these functions was manually tested with a Flash movie that uses it. Navigate() was tested on: -http://www.tjgames.com.br/jogos-online/169-Yan_Loong.htm -http://www.flonga.com/play/zombotron2.htm which were consistently causing instance deletion during a Navigate() call (causing https://code.google.com/p/chromium/issues/detail?id=165978). BUG=165978 Review URL: https://codereview.chromium.org/11510008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173980 0039d316-1c4b-4281-b951-d872f2087c98
* Refactored PPB_Flash GetSettings to the new pepper resource modelraymes@chromium.org2012-12-191-5/+0
| | | | | | | | | | | | This also removes unnecessary code from the PluginDelegate and PepperMessageFilter. BUG= Review URL: https://chromiumcodereview.appspot.com/11413200 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173850 0039d316-1c4b-4281-b951-d872f2087c98
* This refactors PPB_Flash GetLocalTimeZoneOffset to the new PPAPI resource ↵raymes@chromium.org2012-12-171-5/+0
| | | | | | | | | | | model. The in process implementation is removed. Associated plugin delegate code is also removed. BUG= Review URL: https://chromiumcodereview.appspot.com/11516020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173578 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 172806raymes@chromium.org2012-12-131-2/+38
| | | | | | | | | | | | | | | | | | | > Refactor 4 PPB_Flash functions to the new PPAPI resource model. > > The functions being refactored are: > -SetInstanceAlwaysOnTop > -DrawGlyphs > -GetProxyForURL > -Navigate > > Each of these functions was manually tested with a Flash movie that uses it. > > Review URL: https://chromiumcodereview.appspot.com/11510008 TBR=raymes@chromium.org Review URL: https://codereview.chromium.org/11576016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172927 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor 4 PPB_Flash functions to the new PPAPI resource model.raymes@chromium.org2012-12-131-38/+2
| | | | | | | | | | | | | | The functions being refactored are: -SetInstanceAlwaysOnTop -DrawGlyphs -GetProxyForURL -Navigate Each of these functions was manually tested with a Flash movie that uses it. Review URL: https://chromiumcodereview.appspot.com/11510008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172806 0039d316-1c4b-4281-b951-d872f2087c98
* Refactored the PPB_Flash_File_ModuleLocal/FileRef to the new ppapi resource ↵raymes@chromium.org2012-12-081-41/+2
| | | | | | | | | | model The refactors PPB_Flash_File_ModuleLocal/FileRef to the new resource model. Calls for both these interfaces are now made directly to the browser. This removes the in-process implementation for these interfaces also (as they are flash-only). Tests are added for PPB_Flash_File_ModuleLocal. Review URL: https://codereview.chromium.org/11359097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171902 0039d316-1c4b-4281-b951-d872f2087c98
* Use PP_BrowserFont_Trusted_Descriptionbrettw@chromium.org2012-12-071-11/+12
| | | | | | | | | | | | instead of PP_FontDescription_Dev for the FLash interface This changes the old interface without revving the version. This is because the new struct is exactly the same as the old one with a different name, so it will not break binary compat. BUG= Review URL: https://codereview.chromium.org/11475006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171865 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171408raymes@chromium.org2012-12-061-2/+41
| | | | | | | | | | | | > The refactors PPB_Flash_File_ModuleLocal/FileRef to the new resource model. Calls for both these interfaces are now made directly to the browser. This removes the in-process implementation for these interfaces also (as they are flash-only). Tests are added for PPB_Flash_File_ModuleLocal. > > Review URL: https://codereview.chromium.org/11359097 TBR=raymes@chromium.org Review URL: https://codereview.chromium.org/11437038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171562 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171389raymes@chromium.org2012-12-061-41/+2
| | | | | | | | | | | | | | | | | | | | The revert is causing browser tests to fail. Reverting the revert. > Revert 171080 > > > The refactors PPB_Flash_File_ModuleLocal/FileRef to the new resource model. Calls for both these interfaces are now made directly to the browser. This removes the in-process implementation for these interfaces also (as they are flash-only). Tests are added for PPB_Flash_File_ModuleLocal. > > > > Review URL: https://codereview.chromium.org/11359097 > > TBR=raymes@chromium.org > > Review URL: https://codereview.chromium.org/11437038 TBR=raymes@chromium.org Review URL: https://codereview.chromium.org/11450025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171408 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171080raymes@chromium.org2012-12-061-2/+41
| | | | | | | | | | | | > The refactors PPB_Flash_File_ModuleLocal/FileRef to the new resource model. Calls for both these interfaces are now made directly to the browser. This removes the in-process implementation for these interfaces also (as they are flash-only). Tests are added for PPB_Flash_File_ModuleLocal. > > Review URL: https://codereview.chromium.org/11359097 TBR=raymes@chromium.org Review URL: https://codereview.chromium.org/11437038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171389 0039d316-1c4b-4281-b951-d872f2087c98
* The refactors PPB_Flash_File_ModuleLocal/FileRef to the new resource model. ↵raymes@chromium.org2012-12-041-41/+2
| | | | | | | | Calls for both these interfaces are now made directly to the browser. This removes the in-process implementation for these interfaces also (as they are flash-only). Tests are added for PPB_Flash_File_ModuleLocal. Review URL: https://codereview.chromium.org/11359097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171080 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor 3 PPB_Flash functions to the new resource model.raymes@chromium.org2012-12-041-8/+0
| | | | | | | | | | | | | | This refactors the following flash functions to the new resource model. -GetProxyForURL -UpdateActivity -SetCrashData BUG= Review URL: https://chromiumcodereview.appspot.com/11415140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170907 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor PPB_Flash_Fullscreen to the new resource model.raymes@chromium.org2012-11-301-11/+0
| | | | | | | | | | | This moves PPB_Flash_Fullscreen to the new ppapi resource model and removes the in-process implementation. BUG= Review URL: https://chromiumcodereview.appspot.com/11421066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170346 0039d316-1c4b-4281-b951-d872f2087c98
* Deprecate and remove unused PPB_Flash functions.raymes@chromium.org2012-11-261-9/+0
| | | | | | | | | | | | | | | | | | | There are a number of functions in PPB_Flash which have been unused for some time. These are: RunMessageLoop/QuitMessageLoop - Deprecated in M18 GetSettingInt - Deprecated in M21 GetDeviceID - Deprecated in M21 InvokePrinting - Deprecated in M21 This change removes the implementations of those functions so that they do not have to be implemented in the new proxy. It also marks them as deprecated in PPB_Flash for version 13.0. The change also removes PPB_Flash interfaces which are <12.4 because they are pre-M21. BUG= Review URL: https://chromiumcodereview.appspot.com/11411102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169516 0039d316-1c4b-4281-b951-d872f2087c98
* Move flash clipboard to the new proxy and add custom format supportraymes@chromium.org2012-11-011-24/+0
| | | | | | | | | | | | | This moves the flash clipboard interface to the new pepper proxy. It also adds support for copying/pasting data of custom data formats (which is needed for flash). BUG=154497 TEST=Added new pepper tests Review URL: https://chromiumcodereview.appspot.com/11225021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165548 0039d316-1c4b-4281-b951-d872f2087c98
* Implement plugin side of sync EnumerateVideoCaptureDevicesraymes@chromium.org2012-10-111-0/+5
| | | | | | | | | | This implements the plugin side of PPB_Flash::EnumerateVideoCaptureDevices which is a synchronous version of PPB_VideoCapture::EnumerateVideoDevices. The result is output into a PP_ArrayOutput. This also adds a unittest which does some basic testing of the messages sent, but mainly demonstrates how to write PluginResource unittests when dealing with sync messages (and adds some infrastructure to make it easy to do this). Once VideoCapture is implemented as a new-style resource, the code for this will simplify a lot. Review URL: https://chromiumcodereview.appspot.com/11039012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161265 0039d316-1c4b-4281-b951-d872f2087c98
* Convert url request info to new proxy API.brettw@chromium.org2012-09-191-2/+6
| | | | | | | | | | | | | | This splits out the helper functions in the in-process version to a new file: url_request_info_util. This will be moved to content/renderer when we move the url_loader. The unit test was moved from webkit/plugins/ppapi to content/renderer/ppapi. I made it a browsertest which allowed the removal of a little boilerplate. I had to add "internal" functions for loading stuff with just the data struct rather than a resource so the proxy doesn't have to create an in-process URLRequestInfo resource (which can't be created now when running out-of-process) just to create a request. This should be a little more efficient now anyway, and these duplicates will go away when such code moves to the new proxy design. BUG= Review URL: https://codereview.chromium.org/10913257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157588 0039d316-1c4b-4281-b951-d872f2087c98
* Add PP_FlashLSORestrictions to the list of settings supported by the ↵bauerb@chromium.org2012-08-021-0/+3
| | | | | | | | | | Flash_GetSetting Pepper API. BUG=132410 Review URL: https://chromiumcodereview.appspot.com/10831045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149711 0039d316-1c4b-4281-b951-d872f2087c98
* This adds an interface for setting crash data from a plugin. It also ↵raymes@chromium.org2012-06-271-0/+3
| | | | | | | | | | | | provides an implementation for setting crash URLs. BUG=134176 TEST=Added test case to sanity check API call. Also hooked up to flash and produced a crash and checked that the report included the document url (http://crash/reportdetail?reportid=1719cae3a745f633) Review URL: https://chromiumcodereview.appspot.com/10681006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144516 0039d316-1c4b-4281-b951-d872f2087c98
* Add CreateTemporaryFile to PPB_Flash_File_ModuleLocal.yzshen@chromium.org2012-06-151-0/+2
| | | | | | | | | BUG=129807 TEST=None Review URL: https://chromiumcodereview.appspot.com/10534045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142512 0039d316-1c4b-4281-b951-d872f2087c98
* "Replace" PPB_Flash's GetSettingInt with a more general GetSetting.viettrungluu@chromium.org2012-06-081-0/+2
| | | | | | | | | | BUG=none TEST=ui_tests PPAPITest.Flash and OutOfProcessPPAPITest.Flash Review URL: https://chromiumcodereview.appspot.com/10546060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141138 0039d316-1c4b-4281-b951-d872f2087c98
* Open pepper files directly in browser.tsepez@chromium.org2012-06-051-24/+0
| | | | | | | | | | This CL merges in the changes for the per-profile plugin process from the previously retired CL. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=140093 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=140399 Review URL: https://chromiumcodereview.appspot.com/10387195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140602 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 140399 - Open pepper files directly in browser.tsepez@chromium.org2012-06-041-0/+24
| | | | | | | | | | | | This CL merges in the changes for the per-profile plugin process from the previously retired CL. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=140093 Review URL: https://chromiumcodereview.appspot.com/10387195 TBR=tsepez@chromium.org Review URL: https://chromiumcodereview.appspot.com/10521012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140402 0039d316-1c4b-4281-b951-d872f2087c98
* Open pepper files directly in browser.tsepez@chromium.org2012-06-041-24/+0
| | | | | | | | | This CL merges in the changes for the per-profile plugin process from the previously retired CL. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=140093 Review URL: https://chromiumcodereview.appspot.com/10387195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140399 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 140093 - Open pepper files directly in browser.tsepez@chromium.org2012-06-011-0/+24
| | | | | | | | | | | This CL merges in the changes for the per-profile plugin process from the previously retired CL. Review URL: https://chromiumcodereview.appspot.com/10387195 TBR=tsepez@chromium.org Review URL: https://chromiumcodereview.appspot.com/10477006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140094 0039d316-1c4b-4281-b951-d872f2087c98
* Open pepper files directly in browser.tsepez@chromium.org2012-06-011-24/+0
| | | | | | | | This CL merges in the changes for the per-profile plugin process from the previously retired CL. Review URL: https://chromiumcodereview.appspot.com/10387195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140093 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 135727 - Add AllowSuddenTermination to API. This provide means for ↵tsepez@chromium.org2012-05-101-4/+0
| | | | | | | | | | | | | | plugins to let us know those windows where they need a renderer at shutdown to finish saving state. Updated flash api version to 12.4. BUG=https://code.google.com/p/flapper/issues/detail?id=120 Review URL: https://chromiumcodereview.appspot.com/10302021 TBR=tsepez@chromium.org Review URL: https://chromiumcodereview.appspot.com/10387071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136443 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up the PPB_Flash_Print proxy.brettw@chromium.org2012-05-071-1/+8
| | | | | | | | | | | | | This also removes some of the old InvokePrinting plumbing for the PPB_Flash interface. I kept the old version of the function since removing it will make the interface fallback more complicated. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10383013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135738 0039d316-1c4b-4281-b951-d872f2087c98
* Add AllowSuddenTermination to API. This provide means for plugins to let us ↵tsepez@chromium.org2012-05-071-0/+4
| | | | | | | | | | | know those windows where they need a renderer at shutdown to finish saving state. Updated flash api version to 12.4. BUG=https://code.google.com/p/flapper/issues/detail?id=120 Review URL: https://chromiumcodereview.appspot.com/10302021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135727 0039d316-1c4b-4281-b951-d872f2087c98
* Generate and connect a Pepper identifier for Chrome OSdrewry@google.com2012-05-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change wires up GetDeviceID and passes in the BrowserContext into PepperMessageFilter rather than the extracted ResourceContext. The pepper drm identifier is a value provided for use by flash. It may be reset or disabled by the user and cannot function in OffTheRecord embodiments. In Guest mode, the identifier is never generated. When in incognito, the ppapi plugin will be informed of the the profile state and not make the call. Later, this will be enforced in the message filter as well. Note, the preference is currently defaulted to true and does not have a UI connection. The UI is being wired up as part of crbug.com/125899. At which point, we can make the setting syncable and chose the preferred default. This change bounces the GetDeviceID call through the renderer back to the browser so that we have the path context to read the file from. This same approach can be used to allow OTR checking and preference reading if that is preferable to a file. If we need to do anything on the UI thread, we should do everything there (OTR+Pref). Since the ID is regenerated at every pref init/toggle, we can move the value around without impacting users in the future. Please let me know if I've totally botched the wiring for this. I'm not sure the best way to fully test it. TEST=built and tested on x86-alex target: - ID is generated for normal sign-in in /home/chronos/user and is not generated for Guest. - Very lightweight ppapi test was run too. (Still need pointers on better flash api wiring testing to make sure it is seeing right string) - Pepper flash still worked normally Also built full x86-alex system image: - booted it - checked the file existence in both modes - checked pepflash and talk video for normal functionality TRYBOT=http://build.chromium.org/p/tryserver.chromium/builders/cros_x86/builds/353 BUG=chromium-os:30378 Change-Id: Ibfbc484918d94147ad4fdc522a6415c71731068b R=brettw,sky,piman,viettrungluu Review URL: http://codereview.chromium.org/10342013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135255 0039d316-1c4b-4281-b951-d872f2087c98
* Add an API to determine if the system will support accelerationbrettw@chromium.org2012-05-021-0/+2
| | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10213005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134959 0039d316-1c4b-4281-b951-d872f2087c98
* Move the rest of the Flash functions to the thunk system.brettw@chromium.org2012-04-301-0/+60
| | | | | | | | | | | | | | This removes the manual Flash interface registration and adds them via the interfaces_ppb_private_flash.h header. I moved File_ModulalLocal and File_FileRef to the Flash API virtual interface which allowed me to delete the separate proxies and stuff associated with those interfaces. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10169040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134540 0039d316-1c4b-4281-b951-d872f2087c98
* Move the FlashClipboard API into the Flash one.brettw@chromium.org2012-04-251-9/+29
| | | | | | | | | | | This allows us to delete the separate proxy files for this. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10163012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133955 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the PPB_Flash interface to use the thunk system.brettw@chromium.org2012-04-241-26/+65
| | | | | | | | | | | | | | This was a bit tricky since some of the functions had no instance context, so I added global functions on the PpapiGlobals interface for them. It would be nice to add a PP_Instance argument and fix this in the future. I did a new style of doing the thunking. The "function APIs" haven't really worked out since it's almost always easier to add the functions directly on the instance one. Since this is a larger and more separable chunk, I just added a getter on the instance API for the flash API and thunk through that. I'd like to convert the remaining ~3 function APIs to either call directly on the instance or use this method, but that's not addressed by this patch. I moved the flash command line switch to plugin_switches so this could be hooked up properly. It allowed me to delete the delegate API for this. I combined the flash fullscreen functions into the new Flash API which removed a bit of code. Review URL: https://chromiumcodereview.appspot.com/10091003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133636 0039d316-1c4b-4281-b951-d872f2087c98
* Add a Flash API to get the device ID.brettw@chromium.org2012-04-131-0/+1
| | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9960083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132269 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper: Add a function to PPB_Flash to check if a rect is topmost.viettrungluu@chromium.org2012-02-181-0/+4
| | | | | | | | | | | | | This is needed for "Flash dialogs". This is dependent on https://bugs.webkit.org/show_bug.cgi?id=78166 . TEST=check the example plugin (under flash_topmost) Review URL: http://codereview.chromium.org/9369003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122686 0039d316-1c4b-4281-b951-d872f2087c98
* Update PPAPI IDL generator to define versioned structs, and unversioned typedef.wez@chromium.org2012-01-051-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Rev the Flash interface to add new functionality.brettw@chromium.org2011-12-151-2/+6
| | | | | | | | | | | This adds support for IDL in the private directory. Some of the interfaces there don't actually work, they were a work in progress and this breaks everything, so I moved the broken files to a new subdirectory. Everything left in the api/private directory can be autogenerated now. BUG= TEST= Review URL: http://codereview.chromium.org/8930023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114534 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded forward declarations in ppapi.thestig@chromium.org2011-11-111-5/+4
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8527020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109595 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the Flash interfaces to no longer use GetInfo.brettw@chromium.org2011-10-221-1/+1
| | | | | | | | | | | | | | | | | | GetInfo is deprecated. I moved all the Flash setup for the proxy into a separate function since I suspect we'll be moving this somewhere else in the future to allow a non-Flash build of the proxy. I didn't change any thunk stuff (it would be nice to convert more of these APIs) since I started and this patch got too complicated. I also changed the way the factory functions worked. I could save a bunch of macros by using a template. Yay! TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/8359010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106856 0039d316-1c4b-4281-b951-d872f2087c98
* s patch tries to remove most of the manual registration for Pepper ↵brettw@chromium.org2011-09-131-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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-8/+5
| | | | 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-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | 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-5/+8
| | | | | | | | | | | | | | | | | | | | | | 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
* Convert FileRefImpl and URLRequestInfo to shared_impl.brettw@chromium.org2011-08-261-1/+5
| | | | | | | | | | One nice side effect of this change is that there are no longer any IPCs associated with the request info. Instead, we just send the parameters to the host when we open a url loader. Review URL: http://codereview.chromium.org/7706021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98391 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the pp::proxy namespace to the ppapi::proxy namespace.brettw@chromium.org2011-08-181-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Move host resource from the proxy to the shared_impl.brettw@chromium.org2011-08-131-2/+2
| | | | | | | | | | | 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