summaryrefslogtreecommitdiffstats
path: root/ppapi/examples
Commit message (Collapse)AuthorAgeFilesLines
* Defer OMX Flush() when no input buffers are available.fischman@chromium.org2012-08-131-1/+1
| | | | | | | | E.g. this makes the video_decode ppapi example not error out at EOS. Review URL: https://chromiumcodereview.appspot.com/10824281 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151337 0039d316-1c4b-4281-b951-d872f2087c98
* Unbreak ppapi_example_video_decode for platforms that don't have ARB extensions.fischman@chromium.org2012-08-101-28/+39
| | | | | | | | (originally broken by r141977) Review URL: https://chromiumcodereview.appspot.com/10855105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151109 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for threadsafe completion callback factory.brettw@chromium.org2012-07-134-0/+24
| | | | | | | | | | This also makes the default be threadsafe. The old factory wasn't threadsafe even to the extent claimed in the header which was causing hangs in plugins BUG=136284 Review URL: https://chromiumcodereview.appspot.com/10696157 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146611 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the PPAPI example plugin.brettw@chromium.org2012-06-291-0/+17
| | | | | | | | | | | Lots of the code was wrong and messy, and we now have a separate directory of examples. BUG=54004 TEST= Review URL: https://chromiumcodereview.appspot.com/10697022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144972 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused fields found by clang's new Wunused-private-fields.thakis@chromium.org2012-06-271-2/+0
| | | | | | | | | | | | Test file edition. BUG=none TEST=none TBR=remaining owners Review URL: https://chromiumcodereview.appspot.com/10680013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144464 0039d316-1c4b-4281-b951-d872f2087c98
* Updated the flash_topmost ppapi exampleraymes@chromium.org2012-06-262-83/+106
| | | | | | | | | | | | This updates the flash_topmost example to demonstrate the case when the plugin is within a frame. BUG=127185 TEST=Manually checked the plugin turns red when covered. Review URL: https://chromiumcodereview.appspot.com/10572055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144206 0039d316-1c4b-4281-b951-d872f2087c98
* hook up new MacVideoDecodeAcceleratorsail@chromium.org2012-06-131-47/+125
| | | | | | | | | | | | | | | This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it. I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates. BUG=127414 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=141302 Review URL: https://chromiumcodereview.appspot.com/10411042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141977 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 141302 - hook up new MacVideoDecodeAcceleratorsail@chromium.org2012-06-081-125/+47
| | | | | | | | | | | | | | | | This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it. I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates. BUG=127414 TEST= Review URL: https://chromiumcodereview.appspot.com/10411042 TBR=sail@chromium.org Review URL: https://chromiumcodereview.appspot.com/10534077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141305 0039d316-1c4b-4281-b951-d872f2087c98
* hook up new MacVideoDecodeAcceleratorsail@chromium.org2012-06-081-47/+125
| | | | | | | | | | | | | This CL hooks up the new MacVideoDecodeAccelerator so that it can be instantiated by the HTML5 and pepper code. Currently only the pepper code uses it. I also updated the pepper video_decode example app to be able to draw the GL_TEXTURE_RECTANGLE_ARB textures that the Mac decoder generates. BUG=127414 TEST= Review URL: https://chromiumcodereview.appspot.com/10411042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141302 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb texture target to VideoDecodeAccelerator::Clientsail@chromium.org2012-06-081-9/+19
| | | | | | | | | | | | | | | | Currently all VideoDecodeAccelerator::Clients use GL_TEXTURE_2D as their texture target. Unfortunately the Mac decoder only supports GL_TEXTURE_RECTANGLE_ARB texture targets. This CL allows decoders to choose which texture target they want. BUG=127414 TEST= Review URL: https://chromiumcodereview.appspot.com/10392141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141258 0039d316-1c4b-4281-b951-d872f2087c98
* Support mouse lock in Flash fullscreen mode.yzshen@chromium.org2012-06-032-16/+25
| | | | | | | | | | | | | | In this mode, we won't show a bubble to ask for user permission. Mouse lock content settings are not considered, either. BUG=129241 TEST=1) run ppapi/examples/mouse_lock; 2) when one of the plugins is focused, press 'f' to enter Flash fullscreen; 3) left click to enter mouse lock. Review URL: https://chromiumcodereview.appspot.com/10458008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140231 0039d316-1c4b-4281-b951-d872f2087c98
* Modified the pepper file chooser API to support filtering files by extensions.raymes@chromium.org2012-05-301-3/+3
| | | | | | | | | | | | | | Previously you could filter only by MIME type. This adds support for filtering by specific extensions as well, e.g. .txt,.html. This change is aligned with the web platform which now allows filtering by file extension for <input> elements (http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#attr-input-accept). This also changes the linux implementation of the file dialog (SelectFileDialogImplGTK). In the past, it would turn file extensions to filter into MIME types. However this is a bit silly because in FileSelectHelper we do the reverse (turn MIME types into a list of file extensions to filter by). It also prevents us from filtering by a specific extensions when this is really what is desired. BUG=129251 TEST= Review URL: https://chromiumcodereview.appspot.com/10414085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139434 0039d316-1c4b-4281-b951-d872f2087c98
* Add string include to fix the build.brettw@chromium.org2012-04-191-0/+2
| | | | | | | | | | | TBR=viettrungluu@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10127006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132955 0039d316-1c4b-4281-b951-d872f2087c98
* Remove support for bitmap printing in pepperbrettw@chromium.org2012-04-191-18/+32
| | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10096001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132954 0039d316-1c4b-4281-b951-d872f2087c98
* Updated flash_topmost example to better demonstrate corner cases of the feature.raymes@chromium.org2012-04-121-3/+32
| | | | | | | | | | | | | -Makes it easier to test the feature when the page is scrolled. -Places an invisible div above everything to test that it is not involved in the hit test. TEST=Ran the example and checked that it gives correct results. BUG=27086 NOTRY=true Review URL: http://codereview.chromium.org/10068018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132046 0039d316-1c4b-4281-b951-d872f2087c98
* Fix line endings in ppapi. No code change.brettw@chromium.org2012-04-111-5/+5
| | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10052028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131869 0039d316-1c4b-4281-b951-d872f2087c98
* Add new MouseCursor interface for setting the mouse cursor.brettw@chromium.org2012-04-082-2/+101
| | | | | | | | | | | Remove most of the old cursor control interface. This keeps backwards compat for CursorControl.SetCursor (which just redirects to the new function) to kepe existing users running. None of the other functions on cursor control were implemented, so I removed all the proxying and stuff for them. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9814015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131314 0039d316-1c4b-4281-b951-d872f2087c98
* Update PPB_AudioInput_Shared to work with the new format of the shared ↵yzshen@chromium.org2012-04-051-2/+6
| | | | | | | | | | | | memory buffer. BUG=None TEST=ppapi/examples/audio_input doesn't crash in debug build. Review URL: http://codereview.chromium.org/9963128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130965 0039d316-1c4b-4281-b951-d872f2087c98
* Change the cpp wrappers of audio input/video capture to use ↵yzshen@chromium.org2012-04-052-9/+17
| | | | | | | | | | | | | | | | CompletionCallbackWithOutput. And also fix a few bugs in the PP_ArrayOutput and CallbackWithOutput code. - Make sure POD members of Dispatcher\.* are properly initialized. - Avoid leaking var/resource references in DispatcherWithOutput\.*::operator(). BUG=None TEST=None Review URL: http://codereview.chromium.org/9965080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130849 0039d316-1c4b-4281-b951-d872f2087c98
* New file chooser interface that uses the new PP_ArrayOutput feature. This ↵brettw@chromium.org2012-03-261-9/+6
| | | | | | | | | | | | also changes PP_ArrayOutput to be pass-by-value. This keeps backwards compat for the old interface. It fixes some bugs in the callback system that I found when working on the patch and adds some new machinery for doing array output in the proxy. It also re-enables the file chooser feature which was recently broken. BUG=118857 Review URL: https://chromiumcodereview.appspot.com/9728001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129022 0039d316-1c4b-4281-b951-d872f2087c98
* PepperPlatformAudioInputImpl: support audio input device selection.yzshen@chromium.org2012-03-212-5/+22
| | | | | | | | | | BUG=None TEST=ppapi/examples/audio_input Review URL: http://codereview.chromium.org/9705056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128110 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper IME API for surrounding text retrieval.kinaba@chromium.org2012-03-151-9/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IME benefits from knowing what portion of text is selected inside a text editing plugin. This change is to implement a Pepper API for doing it. It consists of three API functions: 1. Browser asks plugins by PPP_TextInput_Dev::RequestSurroundingText() to send such info. 2. Plugin must reply the query by PPB_TextInput_Dev::UpdateSurroundingText(). 3. Additionally, plugin notifies the browser by PPB_TextInput_Dev::SelectionChanged() that the selection is changed. Typically triggers the steps 1->2. Intention of the API design is (1) to avoid synchronous IPC, and (2) to keep the room to implement it in an optimal and right way, that is, expensive send of selection text happens only when needed (= "IME requiring the info is on" + "selection indeed changed in the plugin"), though the current impl in the patch is not necessary like that (for sake of simplicity). The changes in the API is in: * ppapi/c/dev/ppb_text_input_dev.h * ppapi/c/dev/ppp_text_input_dev.h The browser side implementation mostly resides in: * content/renderer/render_view_impl.cc * content/renderer/pepper/pepper_plugin_delegate_impl.{h,cc} * webkit/plugins/ppapi/ppapi_plugin_instance.{h,cc} The other files are for wiring necessary cables. BUG=101101 TEST=Manual: make ppapi_example_ime and run ./your/chrome --register-pepper-plugins=\ "/path/to/ppapi_example_ime.plugin;application/x-ppapi-example-ime" \ --ppapi-out-of-process \ file:///path/to/ppapi/examples/ime/ime.html Try some IME that supports reconversion (e.g., Google Japanese Input on Windows). Review URL: http://codereview.chromium.org/8769003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126862 0039d316-1c4b-4281-b951-d872f2087c98
* Add a very simple example pepper plugin that uses a 3d contextjamesr@chromium.org2012-03-102-0/+186
| | | | | | | | | | | | This plugin (based off the gles2 demo before it got video stuff) instantiates a pepper 3d context and continually renders into it with glClear(). It also has very simple lost context recovery. BUG=none Review URL: http://codereview.chromium.org/9625029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126011 0039d316-1c4b-4281-b951-d872f2087c98
* Remove NewRequiredCallback.brettw@chromium.org2012-03-105-15/+12
| | | | | | | | | | | | | | This is the same as NewCallback, and we want people to normally use the "required" type. So just having them call NewCallback is usually the right thing. This converts the existing callers to just say NewCallback. BUG= TEST= Review URL: http://codereview.chromium.org/9615050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125965 0039d316-1c4b-4281-b951-d872f2087c98
* Move ppapi/examples/gles2/ to ppapi/examples/video_decodejamesr@chromium.org2012-03-074-48/+50
| | | | | | | | | | | | I'd like there to be a ppapi example plugin that only uses the pepper 3d context API and not video decode. BUG=none TEST=compiles Review URL: https://chromiumcodereview.appspot.com/9620024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125490 0039d316-1c4b-4281-b951-d872f2087c98
* Rename NaCl/pepper gamepad interface from _dev to stablescottmg@chromium.org2012-03-071-5/+5
| | | | | | | | | | | | | Following API review, and revisions here: https://chromiumcodereview.appspot.com/9405033/. This change is just the mechanical renames and bump of version number to 1.0. BUG=112879, 115119 Review URL: http://codereview.chromium.org/9566022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125399 0039d316-1c4b-4281-b951-d872f2087c98
* PPB_AudioInput_Dev: support multiple audio input devices - Part 1.yzshen@chromium.org2012-03-072-8/+190
| | | | | | | | | | | | | - This CL implements PPB_AudioInput_Dev v0.2 and extends examples/audio_input. - This CL doesn't actually open devices other than the default one. That will be in a separate CL. BUG=None TEST=examples/audio_input Review URL: http://codereview.chromium.org/9557007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125362 0039d316-1c4b-4281-b951-d872f2087c98
* Revise gamepad interfacescottmg@chromium.org2012-03-011-24/+23
| | | | | | | | | | | | | | | | | | | | Per API review, revision to gamepad interface. Still in _dev for now, will move to stable as separate change once we're happy with the interface. Change summary: - renames of various fields, and main function in idl per discussion - timestamp to double, connected to PP_Bool - remove #pragma pack in header, now copied member-by-member - update examples One complication was in removing the #pragma pack. Copying by member in webkit/plugins/ppapi/ppapi_plugin_instance.cc avoids the need to keep webkit and pepper in sync and exactly the same layout (a good thing). However, when the native_client ppapi proxy is going between 32 and 64 the data structure ends up being a different size due to padding (all the fields are teh same sizes though). To workaround this, I added padding fields, and assert_sizes to confirm the sizes are the same on both "sides". This is similar to how PP_Point, input events, etc. get rpc'd, but perhaps there's a better way. BUG=112879 Review URL: http://codereview.chromium.org/9405033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124375 0039d316-1c4b-4281-b951-d872f2087c98
* Adds a printing proxy and example. This adds a printing example.brettw@chromium.org2012-02-292-0/+92
| | | | | | Review URL: http://codereview.chromium.org/9455083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124149 0039d316-1c4b-4281-b951-d872f2087c98
* Convert resources to take an instance key instead of an Instance*.brettw@chromium.org2012-02-271-1/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/9381010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123795 0039d316-1c4b-4281-b951-d872f2087c98
* Remove extra semi-colon so nacl-gcc doesn't complain.nfullagar@google.com2012-02-231-1/+1
| | | | | | | | | BUG=none TEST=this file is used by nacl tests Review URL: http://codereview.chromium.org/9430069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123332 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper: Add a function to PPB_Flash to check if a rect is topmost.viettrungluu@chromium.org2012-02-182-0/+209
| | | | | | | | | | | | | 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
* Work on improving PpbAudioConfig:RecommendSampleFrameCountnfullagar@google.com2012-02-182-4/+5
| | | | | | | | | | | | Add version 1.1 which will query the audio back end for the best available sample frame count. Also add RecommendSampleRate. Switch pepper plugin delegate to use AUDIO_PCM_LOW_LATENCY if client request is compatible. TEST=included BUG=http://code.google.com/p/chromium/issues/detail?id=107572 Review URL: https://chromiumcodereview.appspot.com/9129007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122653 0039d316-1c4b-4281-b951-d872f2087c98
* Rename PPB_Font to PPB_BrowserFont_Trusted.brettw@chromium.org2012-02-171-20/+21
| | | | | | | | | | | | | | | | | | | 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
* Implement device enumeration for PPB_VideoCapture_Dev.yzshen@chromium.org2012-02-152-14/+157
| | | | | | | | | | | | | - Implement PPB_VideoCapture_Dev v0.2. - Use a ref-counted PlatformVideoCapture to manage lifespan of media::VideoCapture::EventHandler, instead of manipulating the ref count of PPB_VideoCapture_Impl. - Extend examples/video_capture. BUG=None TEST=examples/video_capture Review URL: https://chromiumcodereview.appspot.com/9234064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122176 0039d316-1c4b-4281-b951-d872f2087c98
* Mouse Lock is currently supported in Pepper, but not yet supported from WebKit.scheib@chromium.org2012-01-272-19/+40
| | | | | | | | | | | | | | | Move the render thread logic for managing the mouse lock state out of the pepper_plugin_delegate_impl, and into a higher level dispatcher for render_view_impl. Handle mouse lock / pointer lock requests from both pepper and webkit (WebKit API not yet landed, small TODOs left in this code to enable once that lands). BUG=109957 TEST=Pepper examples/mouse_lock and NaCl mouse lock examples still work. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=119206 Review URL: http://codereview.chromium.org/8970016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119406 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 119200, the rest of the patch.brettw@chromium.org2012-01-261-0/+60
| | | | | | First pass at implementing the MessageLoop interface. This includes a simple example and a helper class. The current example just asserts due to thread checks we have in there now, but this should provide a good starting point. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119270 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 119206 - Mouse Lock is currently supported in Pepper, but not yet ↵tzik@chromium.org2012-01-262-40/+19
| | | | | | | | | | | | | | | | | | supported from WebKit. Move the render thread logic for managing the mouse lock state out of the pepper_plugin_delegate_impl, and into a higher level dispatcher for render_view_impl. Handle mouse lock / pointer lock requests from both pepper and webkit (WebKit API not yet landed, small TODOs left in this code to enable once that lands). BUG=109957 TEST=Pepper examples/mouse_lock and NaCl mouse lock examples still work. Review URL: http://codereview.chromium.org/8970016 TBR=scheib@chromium.org Review URL: https://chromiumcodereview.appspot.com/9293001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119208 0039d316-1c4b-4281-b951-d872f2087c98
* Mouse Lock is currently supported in Pepper, but not yet supported from WebKit.scheib@chromium.org2012-01-262-19/+40
| | | | | | | | | | | | | Move the render thread logic for managing the mouse lock state out of the pepper_plugin_delegate_impl, and into a higher level dispatcher for render_view_impl. Handle mouse lock / pointer lock requests from both pepper and webkit (WebKit API not yet landed, small TODOs left in this code to enable once that lands). BUG=109957 TEST=Pepper examples/mouse_lock and NaCl mouse lock examples still work. Review URL: http://codereview.chromium.org/8970016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119206 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 119198 - First pass at implementing the MessageLoop interface. This ↵brettw@chromium.org2012-01-261-60/+0
| | | | | | | | | | | | | | | | | includes a simple example and a helper class. The current example just asserts due to thread checks we have in there now, but this should provide a good starting point. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9097006 TBR=brettw@chromium.org Review URL: https://chromiumcodereview.appspot.com/9290040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119200 0039d316-1c4b-4281-b951-d872f2087c98
* First pass at implementing the MessageLoop interface. This includes a simplebrettw@chromium.org2012-01-261-0/+60
| | | | | | | | | | | | example and a helper class. The current example just asserts due to thread checks we have in there now, but this should provide a good starting point. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9097006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119198 0039d316-1c4b-4281-b951-d872f2087c98
* Remove VideoDecodeAccelerator::Client::NotifyEndOfStream / ↵fischman@chromium.org2012-01-131-4/+0
| | | | | | | | | | | | | | | PPP_VideoDecoder_Dev::EndOfStream Nobody's ever called it and it doesn't make sense given the API: EOS is signalled when no more bits are available to Decode(), via Flush(). BUG=109819 TEST=trybots Review URL: http://codereview.chromium.org/9186022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117545 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper gamepad supportscottmg@chromium.org2012-01-102-0/+168
| | | | | | | | | BUG=79098 Review URL: http://codereview.chromium.org/9085027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117077 0039d316-1c4b-4281-b951-d872f2087c98
* Move paint aggregator and the completion callback factory.brettw@chromium.org2012-01-068-6/+9
| | | | | | | | | | | [Reland of 116281] Move paint aggregator and the completion callback factory to the ppapi/helpers directory since they're not strictly wrappers. Review URL: http://codereview.chromium.org/9030001 Review URL: http://codereview.chromium.org/9122012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116759 0039d316-1c4b-4281-b951-d872f2087c98
* Update PPAPI IDL generator to define versioned structs, and unversioned typedef.wez@chromium.org2012-01-052-20/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Hook up page visibility to the View info for a plugin.brettw@chromium.org2012-01-041-2/+14
| | | | | | | | | | TEST=manual (run audio example and switch tab visibility) BUG= Review URL: http://codereview.chromium.org/9022016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116370 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 116281 - Move paint aggregator and the completion callback factory.brettw@chromium.org2012-01-048-9/+6
| | | | | | | | | | | Move paint aggregator and the completion callback factory to the ppapi/helpers directory since they're not strictly wrappers. Review URL: http://codereview.chromium.org/9030001 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/9086003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116284 0039d316-1c4b-4281-b951-d872f2087c98
* Move paint aggregator and the completion callback factory.brettw@chromium.org2012-01-048-6/+9
| | | | | | | | Move paint aggregator and the completion callback factory to the ppapi/helpers directory since they're not strictly wrappers. Review URL: http://codereview.chromium.org/9030001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116281 0039d316-1c4b-4281-b951-d872f2087c98
* Change the DidChangeView update to take a new ViewChanged resource.brettw@chromium.org2012-01-031-9/+16
| | | | | | | | | | | This will allow us to be more flexible about adding data to view changed updates in the future. For now, I've incorporated fullscreen and tab foreground state into the view state. BUG= TEST= Review URL: http://codereview.chromium.org/8951014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116142 0039d316-1c4b-4281-b951-d872f2087c98
* Enhance PPAPI IME example for demonstrating features related to text selection.kinaba@chromium.org2011-12-141-28/+124
| | | | | | | | | | | | | IME features related to text selection (e.g., reconversion http://crrev.com/107934) is planned to be added to Pepper IME API soon. The current patch is to extend the corresponding example to support text selection for demonstration purpose, in advance. BUG=101101 TEST=make ppapi_ime_example and manually verify the example textfield supports text selection. Review URL: http://codereview.chromium.org/8725026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114374 0039d316-1c4b-4281-b951-d872f2087c98