summaryrefslogtreecommitdiffstats
path: root/ppapi
Commit message (Collapse)AuthorAgeFilesLines
* Fix some bugs in paint manager. Some of the class members were not gettingbrettw@chromium.org2010-11-141-3/+7
| | | | | | | | | | | | | initialized in the constructor. Also, when a manual callback was executed, if a regular fluch happened to come in the intervening time, we would cause an assertion failure because it would always try to paint. Now when we get the callback, we can ignore it if there is already a flush pending. Original review=http://codereview.chromium.org/4886004/ git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66082 0039d316-1c4b-4281-b951-d872f2087c98
* Implement DrawGlyphs and refactor the FontDescription serialization suchbrettw@chromium.org2010-11-147-132/+223
| | | | | | that it can be reused for this code. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66081 0039d316-1c4b-4281-b951-d872f2087c98
* Force 8-byte alignment in PP_InputEvent. Rev PPP_Instance interface to 0.3 ↵dmichael@google.com2010-11-123-4/+40
| | | | | | | | | | | | | | | | because this changes the size of PP_InputEvent on Linux x86-32. Add an assertion for the size of PP_InputEvent. Note I had to tweak the macro to allow for a typename of "struct PP_InputEvent", because I was relying on having no spaces in the typename. Now there's a separate macro for structs. Other options would include: - adding a typedef, e.g. PP_InputEvent_t, and using that in the original macro (this was my initial approach, but I decided I'd rather make a new macro than obfuscate the PP_InputEvent declaration) - Make PP_InputEvent itself a typedef, i.e. typedef struct {...} PP_InputEvent. This would make it impossible to forward-declare PP_InputEvent, and would require code changes elsewhere. - Change the macro some other way so that we don't need 2 macros (e.g., don't use the passed typename when creating a unique name). Use another trick like using the line number. This also has the drawback of making the error message less helpful. BUG=62983 TEST=NaCl tests/ppapi_proxy/event_example (see http://codereview.chromium.org/3767003/show) Review URL: http://codereview.chromium.org/4861002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66000 0039d316-1c4b-4281-b951-d872f2087c98
* Add a blank line to force this file to be recompiled on Mac on the bots.brettw@chromium.org2010-11-121-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65997 0039d316-1c4b-4281-b951-d872f2087c98
* Make the Graphics2D flush call an asynchronous operation. This tracks thebrettw@chromium.org2010-11-129-63/+197
| | | | | | | | | | | | | | | | | | | | callback in the plugin and adds a new message when a flush is complete in the renderer. I adapted the callback factory so it could be used for tracking the flush callbacks in the proxy in the renderer, and also changed the URL loader stuff (which had some custom management) around so that it also uses the factory. This also fixes a bug in font proxying where we would assert if there was a font creation error because the dispatcher wasn't set on the SerializedVar in the font decription. TEST=none BUG=none Review URL: http://codereview.chromium.org/4876003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65995 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for some of the PDF & Flash functionality. There are still a fewbrettw@chromium.org2010-11-1216-2/+1034
| | | | | | | | | | | unimplemented parts in the Flash proxy, and I only implemented the necessary part of the PDF one. TEST=none BUG=none Review URL: http://codereview.chromium.org/4752008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65951 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land previous change r65856. Add implementations for Fullscreen and ↵brettw@chromium.org2010-11-128-0/+344
| | | | | | CursorControl interfaces. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65914 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 65856 - Add implementations for Fullscreen and CursorControl interfaces.brettw@chromium.org2010-11-118-344/+0
| | | | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4809002 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/4822001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65857 0039d316-1c4b-4281-b951-d872f2087c98
* Add implementations for Fullscreen and CursorControl interfaces.brettw@chromium.org2010-11-118-0/+344
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4809002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65856 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for proxying the font and char set interfaces.brettw@chromium.org2010-11-117-8/+638
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4653006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65847 0039d316-1c4b-4281-b951-d872f2087c98
* Move URLLoader, URLRequestInfo, and URLResponseInfo out of the dev directorybrettw@chromium.org2010-11-1028-290/+245
| | | | | | | | | | | | and rename accordingly. Rename URLResponseInfo.GetBody to GetBodyAsFileRef. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/4747001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65705 0039d316-1c4b-4281-b951-d872f2087c98
* Add a macro (PP_ENUM) that ensures that enums are always 4 bytes. Whereverdmichael@google.com2010-11-103-0/+19
| | | | | | | | | | | | | | | | | possible (Visual Studio C++ and GCC C++0x mode), specify int32_t as the representation type of the enum. For C, where enum gives us no type safety, just typedef an int32_t to the enum name. In all other cases, use a compile-time assertion to ensure that enums are 4 bytes wide. This change only applies the new PP_ENUM macro in 2 commonly used places. This is to make sure that the (possibly contraversial) usage of variadic macro arguments is acceptable before I go change it everywhere. If I can't use variadic macro arguments, I think I will have to separate this in to 2 macros and the enum declarations will look something like this: PP_ENUM_BEGIN(PP_Bool) PP_FALSE=0, PP_TRUE=1 PP_ENUM_END(PP_Bool) BUG=61004 TEST=This should be exercised by all tests that use PP_Bool and PP_Var. Suggestions for improvement are welcome, as always. Review URL: http://codereview.chromium.org/4720005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65704 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused function.thakis@chromium.org2010-11-101-16/+0
| | | | | | | | BUG=None TEST=None TBR=brettw git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65685 0039d316-1c4b-4281-b951-d872f2087c98
* Fix clang build by removing redundant "const"brettw@chromium.org2010-11-101-2/+2
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4729002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65632 0039d316-1c4b-4281-b951-d872f2087c98
* Implement a new process type for running PPAPI plugins. The process itself isbrettw@chromium.org2010-11-108-10/+99
| | | | | | | | | | | | | | | quite simple and just sets up the PPAPI dispatcher and loads the library. There is a new command line switch --ppapi-out-of-process which runs PPAPI plugins out of process using the new code path. There is some logic in RenderView and PepperPluginModule for setting up this connection, but it should be straightforward. TEST=none BUG=none Review URL: http://codereview.chromium.org/3915002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65614 0039d316-1c4b-4281-b951-d872f2087c98
* Add forgotten file from previous PPAPI CL.brettw@chromium.org2010-11-091-1/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65544 0039d316-1c4b-4281-b951-d872f2087c98
* Random updates for all added proxy interfaces I've done in the past week.brettw@chromium.org2010-11-0911-68/+342
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4609001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65543 0039d316-1c4b-4281-b951-d872f2087c98
* Change the private image data shared memory handle code to return a nativebrettw@chromium.org2010-11-091-2/+5
| | | | | | | | | | memory handle and a size rather than the internal TransportDIB structure. TEST=none BUG=none Review URL: http://codereview.chromium.org/4611001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65482 0039d316-1c4b-4281-b951-d872f2087c98
* * Add follow_redirects_ field to pepper::URLRequestInfo, follow_redirects() ↵brettw@chromium.org2010-11-082-0/+33
| | | | | | | | | | | | | accessor, modified SetProperty to support this * Add status_text_, redirect_url_ fields to pepper::URLResponseInfo, modified GetProperty to return these * Add URL redirect auditing to pepper::URLLoader. BUG=49790 BUG=51345 TEST=ui_tests --gtest_filter=PPAPI* Review=http://codereview.chromium.org/4394003/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65443 0039d316-1c4b-4281-b951-d872f2087c98
* Convert Chrome PPAPI proxy from bool to PP_Bool.brettw@chromium.org2010-11-0817-94/+144
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/4659001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65381 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r65152 with mac and linux fix.apatrick@chromium.org2010-11-062-0/+12
| | | | | | | | | | | Original review URL: http://codereview.chromium.org/3531008 TEST=try, ui_tests BUG=none Review URL: http://codereview.chromium.org/4545003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65283 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for URLResponseInfo, URLRequestInfo, and Testing. The URLLoaderbrettw@chromium.org2010-11-056-0/+534
| | | | | | | | | | | tests now pass, except for the one that uses FileRef which isn't implemented yet. BUG=none TEST=URLLoader pepper test Review URL: http://codereview.chromium.org/4605001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65268 0039d316-1c4b-4281-b951-d872f2087c98
* Var serialization-related proxy stuff. This allows vars to be sent over IPCbrettw@chromium.org2010-11-057-0/+1252
| | | | | | | | | | | | | | | | | | | | | | and received with proper refcounting semantics. The basic design is that the SerializedVar is the thing actually handled by IPC. Then you use one of the many helper classes depending on whether you are sending or receiving and what the ownership semantics are. The helper classes, along with the VarSerialization interface makes the right thing happen for string conversion & refcounting. The VarSerialization class is implemented differently on the browser and plugin side and is where the differences in refcounting & strings are handled. This allows the rest of the code to be the same on both the plugin and browser side and allows vars to be sent back and forth. This patch references some files not in it like the dispatcher and various tracker classes. This is the cleanest cut I could make for a reasonably reviewable chunk. Review URL: http://codereview.chromium.org/4096008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65262 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for core and class (for calling from WebKit to the plugin). Thesebrettw@chromium.org2010-11-054-0/+551
| | | | | | | | | | | don't build by themselves, this is part of a larger patch. You can see most of the serialization mechanics already checked in to the same directory. TEST=none BUG=none Review URL: http://codereview.chromium.org/4345003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65261 0039d316-1c4b-4281-b951-d872f2087c98
* Instance interface implementation. These don't build by themselves, this isbrettw@chromium.org2010-11-056-0/+944
| | | | | | | | | | | part of a larger patch. You can see most of the serialization mechanics already checked in to the same directory. TEST=none BUG=none Review URL: http://codereview.chromium.org/4289005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65260 0039d316-1c4b-4281-b951-d872f2087c98
* Make PPAPI headers compile with C compilers (gcc on Linux & Mac and MSVS on ↵dmichael@google.com2010-11-0574-507/+832
| | | | | | | | | | | | | | Windows). This includes changing bool to PP_Bool and adding a PP_INLINE macro. TEST=tests/test_c_includes.c BUG=59791,53451 The first patch set is a straight copy of http://codereview.chromium.org/4019010/show which got LGTMed when PPAPI was in its own repo, but had to be rolled back in order to include chrome changes. IMPORTANT: This change will break plugin implementations that use the C interface, and might break others as well. Review URL: http://codereview.chromium.org/4310002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65200 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 65152 - Integrated Pepper3D v2 with the accelerated compositor.apatrick@chromium.org2010-11-052-11/+0
| | | | | | | | | | | | | | | | | | | - It now uses GGL instead of a child window. - Fixed a bug where GLES2 decoder set texture state without updating TextureInfo. - Fixed Pepper3D demos and added awesome 3D CSS programmer art. - Removed ggl::GetCurrentContext to prevent further abuse. Fixed said abuse :) - GGL exposes GLES2Implementation to allow issue of GL calls on a particular context without making that context globally current. - Removed redundant "this context" argument from GGL SwapBuffers completion callback. - Temporarily removed context lost notification. I need to figure out the best semantics. TEST=Run Pepper3D and WebGL demos and YouTube videos on Windows and Mac. BUG=none Review URL: http://codereview.chromium.org/3531008 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/4561001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65169 0039d316-1c4b-4281-b951-d872f2087c98
* Integrated Pepper3D v2 with the accelerated compositor.apatrick@chromium.org2010-11-052-0/+11
| | | | | | | | | | | | | | | | - It now uses GGL instead of a child window. - Fixed a bug where GLES2 decoder set texture state without updating TextureInfo. - Fixed Pepper3D demos and added awesome 3D CSS programmer art. - Removed ggl::GetCurrentContext to prevent further abuse. Fixed said abuse :) - GGL exposes GLES2Implementation to allow issue of GL calls on a particular context without making that context globally current. - Removed redundant "this context" argument from GGL SwapBuffers completion callback. - Temporarily removed context lost notification. I need to figure out the best semantics. TEST=Run Pepper3D and WebGL demos and YouTube videos on Windows and Mac. BUG=none Review URL: http://codereview.chromium.org/3531008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65152 0039d316-1c4b-4281-b951-d872f2087c98
* Add callback ability for URLLoader so an asynchronous proxy can send thebrettw@chromium.org2010-11-043-11/+56
| | | | | | | | | | | | | | current progress to another process. Adds a DOWNLOADPROGRESS flag to track download progress to be symetrical with the upload progress. I implemented the backend of these two flags and made it refuse to provide progress unless these flags were set. TEST=none BUG=none Review URL: http://codereview.chromium.org/4423001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65098 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for ImageData and Graphics2D. These don't build by themselves, thisbrettw@chromium.org2010-11-044-0/+548
| | | | | | | | | | | is part of a larger patch. You can see most of the serialization mechanics already checked in to the same directory. TEST=none BUG=none Review URL: http://codereview.chromium.org/4265002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65097 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing a stupid typo.dumi@chromium.org2010-11-041-1/+1
| | | | | | | | | | BUG=none TEST=none TBR=darin Review URL: http://codereview.chromium.org/4426004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65023 0039d316-1c4b-4281-b951-d872f2087c98
* Including <stdin.h> to hopefully fix a build error on the ChromeOS bots.dumi@chromium.org2010-11-041-0/+2
| | | | | | | | | | BUG=none TEST=none TBR=darin Review URL: http://codereview.chromium.org/4469001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65022 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper's directory reader implementation + test.dumi@chromium.org2010-11-0415-213/+301
| | | | | | | | | BUG=none TEST=test_directory_reader.cc Review URL: http://codereview.chromium.org/4107004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65002 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxies for Var deprecated and some additional tracking information. Thesebrettw@chromium.org2010-11-034-0/+679
| | | | | | | | | | | don't build by themselves, this is part of a larger patch. You can see most of the serialization mechanics already checked in to the same directory. TEST=none BUG=none Review URL: http://codereview.chromium.org/4369001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64955 0039d316-1c4b-4281-b951-d872f2087c98
* Remove serialized var file from previous check that shouldn't have been there.brettw@chromium.org2010-11-031-457/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64875 0039d316-1c4b-4281-b951-d872f2087c98
* Core PPAPI proxy files. This includes the dispatcher which is the control pointbrettw@chromium.org2010-11-0321-0/+2293
| | | | | | | | | | | | on each end of the IPC channel. It includes the IPC message definitions. It also includes the base class for the interface proxying, and the core resource and var tracking. BUG=none TEST=none Review=http://codereview.chromium.org/4229002/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64874 0039d316-1c4b-4281-b951-d872f2087c98
* Revert previous accidental change to the gyp file.brettw@chromium.org2010-11-031-73/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64873 0039d316-1c4b-4281-b951-d872f2087c98
* Revert PPAPI proxy change with too many files in it.brettw@chromium.org2010-11-0348-6325/+73
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64870 0039d316-1c4b-4281-b951-d872f2087c98
* Core PPAPI proxy files. This includes the dispatcher which is the control pointbrettw@chromium.org2010-11-0347-0/+6325
| | | | | | | | | | | | on each end of the IPC channel. It includes the IPC message definitions. It also includes the base class for the interface proxying, and the core resource and var tracking. BUG=none TEST=none Review URL: http://codereview.chromium.org/4229002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64869 0039d316-1c4b-4281-b951-d872f2087c98
* Comment out examples to see if this fixes the mac build.brettw@chromium.org2010-11-021-92/+94
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64775 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps. This is a re-land ↵brettw@chromium.org2010-11-022-6/+5
| | | | | | from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64757 0039d316-1c4b-4281-b951-d872f2087c98
* Revert PPAPI change due to Linux compile failures.brettw@chromium.org2010-11-022-4/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64751 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps.brettw@chromium.org2010-11-022-6/+4
| | | | | | | | | This is a re-land from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64750 0039d316-1c4b-4281-b951-d872f2087c98
* Revert PPAPI change.brettw@chromium.org2010-11-022-0/+10
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64719 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps.brettw@chromium.org2010-11-022-10/+0
| | | | | | | | | This is a re-land from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64718 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 64716 - Switch to the new PPAPI repository. This removes the DEPS ↵brettw@chromium.org2010-11-021-0/+5
| | | | | | | | | | | | | | entry that refers to the PPAPI repo, and fixes the includes to use the new location. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/4164015 TBR=brettw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64717 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to the new PPAPI repository. This removes the DEPS entry that refers tobrettw@chromium.org2010-11-021-5/+0
| | | | | | | | | | the PPAPI repo, and fixes the includes to use the new location. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/4164015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64716 0039d316-1c4b-4281-b951-d872f2087c98
* Really fix executable bit on Doxyfilebrettw@chromium.org2010-11-011-0/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64623 0039d316-1c4b-4281-b951-d872f2087c98
* Fix permissions on Doxyfilebrettw@chromium.org2010-11-011-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64621 0039d316-1c4b-4281-b951-d872f2087c98
* Fix includes to make checkdeps happybrettw@chromium.org2010-11-012-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64618 0039d316-1c4b-4281-b951-d872f2087c98