summaryrefslogtreecommitdiffstats
path: root/ppapi
Commit message (Collapse)AuthorAgeFilesLines
* Change ppapi C++ comment style into C.neb@chromium.org2010-12-2066-353/+421
| | | | | | | | | | | This allows graphics 2d example to compile. BUG=none TEST=Compiling examples/2d/graphics_2d.c with NaCl works. Review URL: http://codereview.chromium.org/5997003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69725 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate NaCl Head - Revert 69309 to restore 64b handles in PPAPInoelallen@google.com2010-12-1848-58/+65
| | | | | | | | | BUG= http://code.google.com/p/nativeclient/issues/detail?id=933 TEST=It compiles can run the nacl ppapi srpc test Review URL: http://codereview.chromium.org/6041001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69602 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed PPB_NaClUtil to PPB_NaCl as requested by brettw.abarth@chromium.org2010-12-172-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69580 0039d316-1c4b-4281-b951-d872f2087c98
* Add LaunchSelLdr and UrandomFD to PPAPIabarth@chromium.org2010-12-171-1/+13
| | | | | | | | | LaunchSelLdr just calls through to the webkit_glue backend, which calls through a bunch more layers of abstraction for us. UrandomFD returns the file descriptor of /dev/urandom (on Posix), which NaCl uses for some purpose by can't get directly because of the sandbox. Review URL: http://codereview.chromium.org/6023003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69578 0039d316-1c4b-4281-b951-d872f2087c98
* Add stub PPAPI for launching NaCl's sel_ldr process.abarth@chromium.org2010-12-172-0/+20
| | | | | | | | | | | | | | | | | | | | | | | In ArcticSea, we're going to load the NaCl plugin in the render process. The NaCl plugin needs to create a sel_ldr process to host the NEXE, but when the plugin lives inside the render process, the plugin is sandboxed, so it can't create a process. This API instructs the browser to launch a sel_ldr process and wire up a bunch of IMC channels between the plugin and the new process. In reality, the sel_ldr process is just chrome.exe run with a command line flag that causes it to call NaClMain instead of BrowserMain or RendererMain. Previously, NaCl accomplished this task by smuggling a function pointer (cast as an int) from render_process_impl to the NPAPI NaCl plugin. Rather than use the same approach again, we're creating a legit way for the PPAPI plugin to ask the browser to spawn the sel_ldr process. In BalticSea, we'll likely run the NaCl plugin out-of-process (e.g., in a PPAPI process). In that case, the plugin can just host the NEXE internally, and we'll be able to remove this interface. Review URL: http://codereview.chromium.org/5897004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69568 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69511 - Make Graphics3D::SwapBuffers take a completion callbackpiman@google.com2010-12-173-13/+6
| | | | | | | | | | | | BUG=none TEST=with pepper flash, rate control works Review URL: http://codereview.chromium.org/5944001 TBR=piman@google.com Review URL: http://codereview.chromium.org/5835007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69512 0039d316-1c4b-4281-b951-d872f2087c98
* Make Graphics3D::SwapBuffers take a completion callbackpiman@google.com2010-12-173-6/+13
| | | | | | | | | BUG=none TEST=with pepper flash, rate control works Review URL: http://codereview.chromium.org/5944001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69511 0039d316-1c4b-4281-b951-d872f2087c98
* Remove CrOS hack from ppapi.gyp that made the include directories work. Thisbrettw@chromium.org2010-12-171-4/+0
| | | | | | | | | | fixes the includes for cros to use "third_party" so that everything works. TEST=none BUG=none Review URL: http://codereview.chromium.org/5854003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69493 0039d316-1c4b-4281-b951-d872f2087c98
* Another attempt at landing:dmichael@google.com2010-12-166-0/+754
| | | | | | | | | | | | | | http://codereview.chromium.org/5730003/ Previously r69187 Check-in was almost clean, but checkdeps.py flagged it as having invalid includes (because the Clang plugins aren't meant to be built as part of Chrome). This adds the magic incantation (a DEPS file... who knew?) to make checkdeps.py ignore it. Tested by running checkdeps.py in my gclient before and after. BUG=61004,62983 TEST=compile asserts and ppapi/tests/test_struct_sizes.c Review URL: http://codereview.chromium.org/5927004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69483 0039d316-1c4b-4281-b951-d872f2087c98
* Move the Pepper implementation from webkit/glue/plugins/pepper_* tobrettw@chromium.org2010-12-167-35/+35
| | | | | | | | | | | webkit/plugins/ppapi/*. This renamed the files and interface implementation classes from foo.cc/Foo to ppb_foo_impl/PPB_Foo_Impl to match the proxy ppb_foo_proxy/PPB_Foo_Proxy. This moves plugin_switches.* from webkit/glue/plugins to webkit/plugins. Review URL: http://codereview.chromium.org/5828003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69424 0039d316-1c4b-4281-b951-d872f2087c98
* Added native EGL types for pepper platform.alokp@chromium.org2010-12-151-33/+4
| | | | | | Review URL: http://codereview.chromium.org/5865002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69311 0039d316-1c4b-4281-b951-d872f2087c98
* Resource width 64->32 change.neb@chromium.org2010-12-1548-65/+58
| | | | | | | | | | | Mostly done by bbudge. BUG=none TEST=ppapi_include_tests.py Review URL: http://codereview.chromium.org/5837001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69309 0039d316-1c4b-4281-b951-d872f2087c98
* Added a stub gles2 implementation.alokp@chromium.org2010-12-155-17/+607
| | | | | | Review URL: http://codereview.chromium.org/5779006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69279 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69187, http://codereview.chromium.org/5730003/. DEPS check failed ↵dmichael@google.com2010-12-145-748/+0
| | | | | | | | | | | due to unrecognized Clang includes. BUG=None TEST=None Review URL: http://codereview.chromium.org/5703008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69191 0039d316-1c4b-4281-b951-d872f2087c98
* Add the following Clang plugins:dmichael@google.com2010-12-145-0/+748
| | | | | | | | | | | | | | | | | | | | | | | | PrintNamesAndSizes -Find top-level type definitions. Print their kind (struct, enum, etc), typename, size, and location. FindAffectedInterfaces -Given some typenames, find other types which are affected if that type changes. This is specifically for determining which interfaces are affected by changing a struct or structs. Also add a Makefile to build the plugins and a README describing how to run them. Also add a python script that runs PrintNamesAndSizes with several different targets and generates compile-time checks in to the PPAPI source code to enforce that sizes are consistent, or if they change, we find out quickly. This was broken off from a bigger CL: http://codereview.chromium.org/5340003/ BUG=61004,92983 TEST=None See this CL for an example of what these plugins helped me do: http://codereview.chromium.org/5674004 Review URL: http://codereview.chromium.org/5730003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69187 0039d316-1c4b-4281-b951-d872f2087c98
* Added a stub driver implementation for Mesa EGL.alokp@chromium.org2010-12-1410-0/+2731
| | | | | | Review URL: http://codereview.chromium.org/5717003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69174 0039d316-1c4b-4281-b951-d872f2087c98
* Even more virtual method deinlining.erg@google.com2010-12-134-7/+10
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5741001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69041 0039d316-1c4b-4281-b951-d872f2087c98
* Add compile assertions to enforce the sizes of all structs and enums in the ↵dmichael@google.com2010-12-1342-114/+402
| | | | | | | | | | | | | | | | C API. Adjust some structs to make their sizes consistent across architectures. Note that some structs contain pointers, so are difficult to make consistent between 32-bit and 64-bit. Those types are in test_struct_sizes.c. Other types have a compile assertion immediately after their definition. This was broken off from a bigger CL: http://codereview.chromium.org/5340003/ BUG=61004,92983 TEST=test_struct_sizes.c, compile assertions throughout See this CL for the code that helped generate the static assertions and find affected interfaces: http://codereview.chromium.org/5730003 Review URL: http://codereview.chromium.org/5674004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69038 0039d316-1c4b-4281-b951-d872f2087c98
* Add a separate cookie for the start of a PPAPI test to help reduce testbrettw@chromium.org2010-12-101-1/+3
| | | | | | | | | | | | | | | | flakyness. This also ups the timeout time for actually running the test. We don't know what the tests do (some of the file ones do a lot of I/O), so the short timeout is somewhat dangerous. We have not historically had many problems with hanging tests other than problems with startup (which has a shorter timeout), so I think the longer test timeout is unlikely to cause problems. TEST=this is BUG=none Review URL: http://codereview.chromium.org/5743002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68819 0039d316-1c4b-4281-b951-d872f2087c98
* Start deinlining non-empty virtual methods. (This will be automatically checkederg@google.com2010-12-098-4/+22
| | | | | | | | | | | for in the future.) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5574006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68746 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: Simplify the magic required to create IPC message headers.This gets rid ↵jam@chromium.org2010-12-083-539/+525
| | | | | | | | | of having to include the files in a magic place because of xcode dependency issues, and just makes it simpler to create new IPC message classes. It also gets rid of including the X_messages_internal.h file multiple times, which simplifies things and should make the build a little faster. In a future change, I will remove the "internal.h" files since they're no longer needed. Review URL: http://codereview.chromium.org/5526008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68664 0039d316-1c4b-4281-b951-d872f2087c98
* Implement proxying GetModuleLocalDirContents in the Flash proxy.brettw@chromium.org2010-12-081-3/+34
| | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/5650002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68647 0039d316-1c4b-4281-b951-d872f2087c98
* Convert over to channel handlesdmaclach@chromium.org2010-12-082-3/+3
| | | | | | | | | | | | This hides some of the internals of the posix channels from users, and gets rid of several #ifdef POSIX blocks. Generally simplifies usage of channels xplatform. BUG=none TEST=build Review URL: http://codereview.chromium.org/5598010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68621 0039d316-1c4b-4281-b951-d872f2087c98
* Add the "virtual" keyword on method overrides that are missing it.erg@google.com2010-12-081-1/+1
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5648004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68606 0039d316-1c4b-4281-b951-d872f2087c98
* Teach PPAPI proxy to share image memory on Mac OS Xabarth@chromium.org2010-12-087-76/+159
| | | | | | | | | | | | | | | | | Instead of just using base::SharedMemory, we use SysV shared memory on Linux so that we can share memory with X. Normally we abstract this detail away with TransportDIB, but the TransportDIB lives in chrome/app, which is outside the dependency cone of ppapi/proxy. This patch creates a new abstraction at this layer of the dependency graph called ImageData::ImageHandle that represents shared memory for the purpose of image data. This patch also fills in the implementation of this abstraction on Mac OS X. Consequently, out-of-process PPAPI plugins on Mac can now draw to the screen. Review URL: http://codereview.chromium.org/5658003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68569 0039d316-1c4b-4281-b951-d872f2087c98
* Make webkit/glue/plugins no longer depend on ppapi/proxy directly. This causesbrettw@chromium.org2010-12-083-2/+20
| | | | | | | | | | | | | things that use webkit but otherwise don't need IPC to include the IPC directory. This patch moves the set-up of the proxy into the renderer. I also did a lot of clean-up of the initialization and it seems much nicer now. BUG=63684 TEST=manual PPAPI proxy testing git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68567 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug in pp:Var (var.cc) where DebugString could throw an exception on ↵bbudge@google.com2010-12-071-11/+20
| | | | | | | | | | Windows; replace _snprintf_s, which doesn't have the same signature as snprintf, with sprintf_s, which has the same function signature. Check length of string vars and truncate values (adding ellipsis at end) if the won't fit in our fixed size buffer. TEST=manual BUG=none (found during testing in Chrome) Review URL: http://codereview.chromium.org/5559009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68540 0039d316-1c4b-4281-b951-d872f2087c98
* Move more code from headers to implementation.erg@google.com2010-12-076-2/+42
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5624002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68534 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 68482 - Make webkit/glue/plugins no longer depend on ppapi/proxy ↵brettw@chromium.org2010-12-073-20/+2
| | | | | | | | | | | | | | | | | | | directly. This causes things that use webkit but otherwise don't need IPC to include the IPC directory. This patch moves the set-up of the proxy into the renderer. I also did a lot of clean-up of the initialization and it seems much nicer now. BUG=63684 TEST=manual PPAPI proxy testing Review URL: http://codereview.chromium.org/5592005 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/5616004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68486 0039d316-1c4b-4281-b951-d872f2087c98
* Make webkit/glue/plugins no longer depend on ppapi/proxy directly. This causesbrettw@chromium.org2010-12-073-2/+20
| | | | | | | | | | | | | | things that use webkit but otherwise don't need IPC to include the IPC directory. This patch moves the set-up of the proxy into the renderer. I also did a lot of clean-up of the initialization and it seems much nicer now. BUG=63684 TEST=manual PPAPI proxy testing Review URL: http://codereview.chromium.org/5592005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68482 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PPAPI proxy shutdown.brettw@chromium.org2010-12-034-4/+18
| | | | | | | | | | | | This just adds a message from the dispatcher in the renderer to the one in the plugin to terminate the process. The PpapiPluginProcessHost in the browser automatically cleans everything up when there's an IPC channel error. TEST=none BUG=none Review URL: http://codereview.chromium.org/5533002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68179 0039d316-1c4b-4281-b951-d872f2087c98
* Remove trusted interface wrappers from the FileIO C++ wrapper. The wrapperbrettw@chromium.org2010-12-034-39/+19
| | | | | | | | | | | | should not expose functions that aren't accessible to normal plugins. The proxy can just use the trusted interface directly without having a public C++ wrapper. TEST=it compiles BUG=53889 Review URL: http://codereview.chromium.org/5532001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68109 0039d316-1c4b-4281-b951-d872f2087c98
* Make the DrawGlyphs call have the proper const arguments, and make the proxiedbrettw@chromium.org2010-12-023-10/+18
| | | | | | | | | | | version of this API synchronous. Otherwise, the caller may end up trying to draw over the text that isn't there yet. TEST=none BUG=none Review URL: http://codereview.chromium.org/5555004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68108 0039d316-1c4b-4281-b951-d872f2087c98
* Add URLLoaderTrusted proxy, hook up Flash proxy. This actually starts usingbrettw@chromium.org2010-12-026-6/+88
| | | | | | | | | | | | | the disallow_trusted_interfaces_ flag which I hardcoded to false. In the future, we can use this to lock down the proxy more if necessary. This also fixes a bug where I swapped two arguments in the audio proxy. TEST=none BUG=none Review URL: http://codereview.chromium.org/5549004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68088 0039d316-1c4b-4281-b951-d872f2087c98
* Add a base class for objects that want to filter messages on the IO thread. ↵jam@chromium.org2010-12-021-1/+1
| | | | | | | | | I'll switch the filters to it in future separate changes. I've also taken out the special case for an initial filter from the IPC classes. The reason it existed was that there was a race condition of some messages not being filtered if a filter is added after construction but before launching the peer process. Taking it out allows us to add more than one filter and makes things a little cleaner. Review URL: http://codereview.chromium.org/5513001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68043 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all the swap() stuff in the PPAPI C++ wrappers.brettw@google.com2010-12-0220-109/+26
| | | | | | | | | | Basically all of them are trivial and you can use the std::swap just as efficiently. Since this is unnecessary, we can reduce the complexity a bit. TEST=none BUG=54441 Review URL: http://codereview.chromium.org/5539001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68028 0039d316-1c4b-4281-b951-d872f2087c98
* Implement audio proxy for Pepper.brettw@chromium.org2010-12-0220-15/+847
| | | | | | | | | | | | | In addition to the basic proxying, this required some changes to the dispatcher and process infrastructure to get the handles of the processes available when I need them so I can duplicate the shared memory handles properly into the different processes. TEST=none BUG=none Review URL: http://codereview.chromium.org/4985001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68026 0039d316-1c4b-4281-b951-d872f2087c98
* Fix out of date comment.brettw@chromium.org2010-12-021-1/+1
| | | | | | | | TEST=none BUG=63409 Review URL: http://codereview.chromium.org/5528002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68012 0039d316-1c4b-4281-b951-d872f2087c98
* Change trusted shared memory interface to match audio.nfullagar@google.com2010-12-0211-40/+45
| | | | | | | | | | | | | - shm handle uint64_t -> int - more unification of shm size from int32_t -> uint32_t - GetNativeMemoryHandle() -> GetSharedMemory() BUG=none TEST=src/ppapi/examples/ Review URL: http://codereview.chromium.org/5410001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67910 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanupnfullagar@google.com2010-11-301-15/+23
| | | | | | | | | | | | - change comment style in ppb_audio_trusted_dev.h to c style - change shm_size to uint32_t to match other interfaces BUG=none TEST=src/ppapi/examples/audio/audio.cc Review URL: http://codereview.chromium.org/5292010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67730 0039d316-1c4b-4281-b951-d872f2087c98
* changes for proxy audionfullagar@google.com2010-11-252-24/+38
| | | | | | | | | | | | | - includes Darin's changes to move StreamCreated() to main thread - callback for delivering handles to proxy - changes to trusted interface BUG=none TEST=chrome/src/ppapi/examples/audio/audio.cc Review URL: http://codereview.chromium.org/5202002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67354 0039d316-1c4b-4281-b951-d872f2087c98
* - Add a script which:dmichael@google.com2010-11-196-166/+185
| | | | | | | | | | | | | | | --- Checks that all source files are in ppapi.gyp and vice-versa --- Generates test_c_includes.c and test_cc_includes.cc - Removes tests/test_image_data, which appears to be obsolete I want to make the script a gyp action, but it didn't work on Windows last I tried. If desired, I can fix that in this CL, or I can make it automated later. BUG=63527,59791,53451 TEST=None; improves build-time checking Review URL: http://codereview.chromium.org/5190004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66833 0039d316-1c4b-4281-b951-d872f2087c98
* Add c/dev/ppb_widget_dev.h and cpp/non_thread_safe_ref_count.h to ppapi.gyp. ↵dmichael@google.com2010-11-194-30/+86
| | | | | | | | | | | | | Add a simple test to ensure all C++ files compile. Re-sorted the includes in test_c_includes.c that uncovered a problem whereby ppapi headers expect pp_stdint.h to include stddef.h, and it wasn't doing it on Windows. See http://codereview.chromium.org/5190004/ for an attempt at automating the test generation and verification of ppapi.gyp. BUG=66321 TEST=None Review URL: http://codereview.chromium.org/5233002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66781 0039d316-1c4b-4281-b951-d872f2087c98
* Remove pp::Var(int) garianov@google.com2010-11-192-7/+0
| | | | | | Review URL: http://codereview.chromium.org/5215002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66774 0039d316-1c4b-4281-b951-d872f2087c98
* Renames Chrome only GL extension functions to followgman@chromium.org2010-11-181-14/+0
| | | | | | | | | | | GL naming convention. TEST=none BUG=none Review URL: http://codereview.chromium.org/5210001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66695 0039d316-1c4b-4281-b951-d872f2087c98
* Make the GetName() comment more clear.dumi@chromium.org2010-11-181-1/+4
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5179002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66661 0039d316-1c4b-4281-b951-d872f2087c98
* Update cmd buffer script to reflect ppapi reorg.neb@chromium.org2010-11-171-0/+2
| | | | | | | | | | | | Someone moved the files in PPAPI around and hand-modified autogenerated files. This CL moves the change to the .py file used to generate them. BUG=none TEST=generated files identical to hand-modified version. Review URL: http://codereview.chromium.org/5147003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66520 0039d316-1c4b-4281-b951-d872f2087c98
* Update some comments.dumi@chromium.org2010-11-172-3/+11
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5096002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66505 0039d316-1c4b-4281-b951-d872f2087c98
* Change FileRef::GetName() to return the name of the file even fordumi@chromium.org2010-11-171-2/+2
| | | | | | | | | | | external files. BUG=none TEST=none Review URL: http://codereview.chromium.org/5127002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66504 0039d316-1c4b-4281-b951-d872f2087c98
* Kill a #if 0 section as discussed in the meeting.dumi@chromium.org2010-11-171-9/+0
| | | | | | | | | BUG=none TEST=non Review URL: http://codereview.chromium.org/5129001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66503 0039d316-1c4b-4281-b951-d872f2087c98