summaryrefslogtreecommitdiffstats
path: root/ppapi
Commit message (Collapse)AuthorAgeFilesLines
* Reland http://codereview.chromium.org/7452002/dmichael@chromium.org2011-07-2018-257/+108
| | | | | | | | | | | | | | | Update chromoting input events. (Clang caught this. Thanks, Clang!) Note I'm leaving in temporary backwards-compatibility. brettw, just need a rubber-stamp. This is the same as the last CL. awong/garykac/sergeyu, looking for someone on chromoting team to glance at my changes and make sure I didn't do anything you don't like. This is a high priority for 14, so please look if you can. BUG=None TEST=ppapi tests Review URL: http://codereview.chromium.org/7466002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93223 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 93202 - Remove HandleInputEvent from PPP_Instance and freeze to 1.0.dmichael@chromium.org2011-07-2018-108/+257
| | | | | | | | | | | | | | Note I'm leaving in temporary backwards-compatibility. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2035 TEST=ppapi tests Review URL: http://codereview.chromium.org/7452002 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/7467002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93208 0039d316-1c4b-4281-b951-d872f2087c98
* Remove HandleInputEvent from PPP_Instance and freeze to 1.0.dmichael@chromium.org2011-07-2018-257/+108
| | | | | | | | | | | Note I'm leaving in temporary backwards-compatibility. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2035 TEST=ppapi tests Review URL: http://codereview.chromium.org/7452002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93202 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 93066 - Execute all GL commands up to the put offset reported by a ↵apatrick@chromium.org2011-07-201-5/+0
| | | | | | | | | | | each flush.This means glFlush is a barrier that prevents reordering of GL commands issued on different command buffers. I used it to replace latches for synchronizing the rendering of WebGL canvas and Pepper 3D with the accelerated compositor. The primary advantage is it is more robust than latches and there is no possibility of deadlock. It should also be possible for WebGL and Pepper 3D to use it whereas exposing SetLatch and WaitLatch would be dangerous.The calls to SetLatch and WaitLatch are still in webkit but they are no-ops. SetLatch and WaitLatch are completely removed elsewhere.I changed CommandBuffer::FlushSync to Finish to reflect the new semantics. Going forward, I will add a synchronous CommandBuffer::WaitForToken and WaitForAvailableEntries, which should eliminate the need to call Finish unless glFinish is called by the client. The Pepper interface is unchanged because I don't want to break binary compatibility.I fixed a bug where the last read token in CmdBufferHelper was stale after receiving a ReportState IPC. That was causing a redundant synchronous flush in the client side SwapBuffers throttling.I removed Yield because it does not make sense with the new semantics. There is no round robin scheduling.Tested with WebGL on Windows and Mac and checked that 72672 did not regress. Review URL: http://codereview.chromium.org/7253052 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/7458010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93143 0039d316-1c4b-4281-b951-d872f2087c98
* Move check for Javascript URL to ↵bbudge@chromium.org2011-07-202-0/+27
| | | | | | | | PPB_URLRequestInfo_Impl::RequiresUniversalAccess to fix issue http://code.google.com/p/chromium/issues/detail?id=89738 and http://code.google.com/p/chromium-os/issues/detail?id=17401. This is a redo of this CL http://codereview.chromium.org/7006004/. Review URL: http://codereview.chromium.org/7448003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93142 0039d316-1c4b-4281-b951-d872f2087c98
* Missing changes for IDLnoelallen@google.com2011-07-194-8/+55
| | | | | | | | | | To minor changes to comments for the IDL. Updated pp_stdint.idl so that we could generate it instead of checking in pp_stdint.h. In addition it now provides a location for defining built in types. Eventually we can migrate type properties into this file. Review URL: http://codereview.chromium.org/7448005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93125 0039d316-1c4b-4281-b951-d872f2087c98
* Binding Graphics3D with Instance and OpenGLES2 interface.alokp@chromium.org2011-07-1910-893/+956
| | | | | | | BUG=86370,78087 Review URL: http://codereview.chromium.org/7409003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93086 0039d316-1c4b-4281-b951-d872f2087c98
* Allow creation of input events. Revert changes to testing interface forbrettw@chromium.org2011-07-1911-41/+280
| | | | | | | | | creating keyboard events. TEST=manual Review URL: http://codereview.chromium.org/7443005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93076 0039d316-1c4b-4281-b951-d872f2087c98
* Execute all GL commands up to the put offset reported by a each flush.This ↵apatrick@chromium.org2011-07-192-8/+5
| | | | | | | | means glFlush is a barrier that prevents reordering of GL commands issued on different command buffers. I used it to replace latches for synchronizing the rendering of WebGL canvas and Pepper 3D with the accelerated compositor. The primary advantage is it is more robust than latches and there is no possibility of deadlock. It should also be possible for WebGL and Pepper 3D to use it whereas exposing SetLatch and WaitLatch would be dangerous.The calls to SetLatch and WaitLatch are still in webkit but they are no-ops. SetLatch and WaitLatch are completely removed elsewhere.I changed CommandBuffer::FlushSync to Finish to reflect the new semantics. Going forward, I will add a synchronous CommandBuffer::WaitForToken and WaitForAvailableEntries, which should eliminate the need to call Finish unless glFinish is called by the client. The Pepper interface is unchanged because I don't want to break binary compatibility.I fixed a bug where the last read token in CmdBufferHelper was stale after receiving a ReportState IPC. That was causing a redundant synchronous flush in the client side SwapBuffers throttling.I removed Yield because it does not make sense with the new semantics. There is no round robin scheduling.Tested with WebGL on Windows and Mac and checked that 72672 did not regress. Review URL: http://codereview.chromium.org/7253052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93066 0039d316-1c4b-4281-b951-d872f2087c98
* Update the widget API to use the new InputEvent resource rather than the oldbrettw@chromium.org2011-07-199-21/+59
| | | | | | | | | | PP_InputEvent struct. TEST=manual BUG=none Review URL: http://codereview.chromium.org/7399035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93044 0039d316-1c4b-4281-b951-d872f2087c98
* Create a way to iterate over instances in a module in the C++ wrapper.brettw@chromium.org2011-07-191-1/+5
| | | | | | | | | | Remove out-of-date TODO comment in ppb_core. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/7395008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93043 0039d316-1c4b-4281-b951-d872f2087c98
* Removing file io, file ref, and file sytem from dev.sanga@chromium.org2011-07-198-148/+1
| | | | | | Review URL: http://codereview.chromium.org/7421002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93038 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented cpp interface for PPB_Graphics3D_Dev. Needed to port gpu demos.alokp@chromium.org2011-07-192-3/+69
| | | | | | | TBR=piman Review URL: http://codereview.chromium.org/6816028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93037 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing IDL Visistor classnoelallen@google.com2011-07-191-0/+81
| | | | | | | | | | | | This class provides a simple mechanism for recursively traversing the AST for both simple and version aware traversal. TBR= sehr@google.com BUG= http://code.google.com/p/chromium/issues/detail?id=87684 TEST= python idl_c_header.py Review URL: http://codereview.chromium.org/7448001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93036 0039d316-1c4b-4281-b951-d872f2087c98
* Remove redundant size and type information from VideoDecode PPAPIvrk@google.com2011-07-1912-80/+36
| | | | | | | | | | | | | | | | | | | The visible size of the video frame is determined at Create stage. The type of buffer (from system memory or texture-backed via GLES) is decided by the plugin when it calls AssignGLESBuffers or AssignSysmemBuffers in response to ProvidePictureBuffers. The decoded size will be the same as the size requested in ProvidePictureBuffers. Thus these values specified anywhere else is redundant, and introduces a place to have inconsistency. BUG=NONE TEST=ovda unittest passes; gles2 runs w/o crashing Review URL: http://codereview.chromium.org/7021020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93031 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land r92885, which was reverted in r92891.alokp@chromium.org2011-07-1918-1/+1234
| | | | | | | | BUG=86370,78087 TBR=piman Review URL: http://codereview.chromium.org/7431001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93028 0039d316-1c4b-4281-b951-d872f2087c98
* Remove common.h from the build. This only included the bool converters whichbrettw@chromium.org2011-07-195-44/+0
| | | | | | | | | have been replaced with the ones in pp_bool.h TEST=it compiles Review URL: http://codereview.chromium.org/7390039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92971 0039d316-1c4b-4281-b951-d872f2087c98
* Update the generatornoelallen@google.com2011-07-195-31/+67
| | | | | | | | | | | | | | | | | Fix output file to ignore modified datestamp and copyright year. Minor pychecker fixes (shadowed built-ins) Add 'Type' so we can define builtin types in pp_stdint.h Remove 'skip' of pp_stdint.idl so we now process it. Setup intelligent defaults for generator. BUG= http://code.google.com/p/chromium/issues/detail?id=84272 TEST= python idl_c_header.py & gcl try Generate the new headers, add them to a CL, and try TBR= sehr@google.com Review URL: http://codereview.chromium.org/7396035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92941 0039d316-1c4b-4281-b951-d872f2087c98
* More trivial cleanupi of ppapi/c headersnoelallen@google.com2011-07-1934-476/+376
| | | | | | | | | | These headers were autogenerated from ppapi/api/*.idl BUG= http://code.google.com/p/chromium/issues/detail?id=76271^M TEST= run try Review URL: http://codereview.chromium.org/7399016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92931 0039d316-1c4b-4281-b951-d872f2087c98
* Update the generatornoelallen@google.com2011-07-1912-345/+1069
| | | | | | | | | | | | | | | | | | | | Outstanding changes to the generator to: Support hashing Support versions Clean up 'C' header generation Update of 'C' header generation tests Fix line wrapping Pass error counts through to File objects BUG= http://code.google.com/p/chromium/issues/detail?id=84272 TEST= python idl_c_header.py & gcl try Generate the new headers, add them to a CL, and try TBR= sehr@google.com Review URL: http://codereview.chromium.org/7408002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92930 0039d316-1c4b-4281-b951-d872f2087c98
* More trivial cleanupi of ppapi/c/trusted headersnoelallen@google.com2011-07-187-85/+205
| | | | | | | | BUG= http://code.google.com/p/chromium/issues/detail?id=76271 TEST= run try Review URL: http://codereview.chromium.org/7396002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92914 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 92885 - Completed the implementation for PPB_Graphics3D interface.alokp@chromium.org2011-07-1818-1233/+1
| | | | | | | | | | | | | | | | | - Mostly copied from the implementations for PPB_Surface3D and PPB_Context3D. - Added the proxy implementation - Refactored common code between host and plugin side into a common class. I will send the changes to bind Graphics3D with Instance and OpenGLES2 interface in a separate patch. BUG=86370,78087 Review URL: http://codereview.chromium.org/6824006 TBR=alokp@chromium.org Review URL: http://codereview.chromium.org/7398033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92891 0039d316-1c4b-4281-b951-d872f2087c98
* Completed the implementation for PPB_Graphics3D interface.alokp@chromium.org2011-07-1818-1/+1233
| | | | | | | | | | | | | | - Mostly copied from the implementations for PPB_Surface3D and PPB_Context3D. - Added the proxy implementation - Refactored common code between host and plugin side into a common class. I will send the changes to bind Graphics3D with Instance and OpenGLES2 interface in a separate patch. BUG=86370,78087 Review URL: http://codereview.chromium.org/6824006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92885 0039d316-1c4b-4281-b951-d872f2087c98
* Removing support dev file interfaces.sanga@chromium.org2011-07-171-1/+1
| | | | | | | | BUG= none TEST= build chrome. Review URL: http://codereview.chromium.org/7395011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92821 0039d316-1c4b-4281-b951-d872f2087c98
* Update the IDLnoelallen@google.com2011-07-1642-782/+3798
| | | | | | | | | | | | | Final update of the IDL so that we can switch to using generated code for ppapi/c/ and ppapi/c/trusted. BUG= http://code.google.com/p/chromium/issues/detail?id=74634 TEST= tryserver TBR= dmichael@chromium.org Review URL: http://codereview.chromium.org/7390023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92805 0039d316-1c4b-4281-b951-d872f2087c98
* [Reverted due to check_deps failure]zea@chromium.org2011-07-152-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert 92749 - Fix problem when 'ended' event was fired before stream really ended. That caused impression that rewind does not work. With that change small JS program var a = new Audio("file:///home/enal/temp/click2/click2.wav"); var num_played = 0; a.addEventListener('canplaythrough', function() { a.play(); }); a.addEventListener('ended', function() { num_played ++; if (num_played < 10) { a.currentTime = 0; a.play(); } }); works correctly, you hear 10 clicks one after another, and it takes ~1.5 seconds to play all 10 sounds (one click is 146ms). Current Chrome plays only beginnings of the first 9 clicks and then entire 10th click -- 'ended' event fires too early, so rewind stops audio playback for all clicks but last one. With that fix you can easily create pool of audio objects -- on 'ended' event just add audio object to the pool. Fix consists of 3 parts: 1) For low-latency code path pass entire "audio state" object to the renderer process. That allows renderer take into account number of pending bytes in the buffer. 2) When using low-latency code path renderer not only fills the buffer with data, but also writes length of data into first word of the buffer. That allows host process to pass correct byte counts to renderer. 3) Renderer now keeps track of the earliest time playback can end based on the number of rendered bytes, and will not call 'ended' callback till that time. BUG=http://code.google.com/p/chromium/issues/detail?id=78992 http://codereview.chromium.org/7328030 Review URL: http://codereview.chromium.org/7328030 TBR=enal@chromium.org Review URL: http://codereview.chromium.org/7395014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92753 0039d316-1c4b-4281-b951-d872f2087c98
* Fix problem when 'ended' event was fired before stream really ended.enal@chromium.org2011-07-152-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That caused impression that rewind does not work. With that change small JS program var a = new Audio("file:///home/enal/temp/click2/click2.wav"); var num_played = 0; a.addEventListener('canplaythrough', function() { a.play(); }); a.addEventListener('ended', function() { num_played ++; if (num_played < 10) { a.currentTime = 0; a.play(); } }); works correctly, you hear 10 clicks one after another, and it takes ~1.5 seconds to play all 10 sounds (one click is 146ms). Current Chrome plays only beginnings of the first 9 clicks and then entire 10th click -- 'ended' event fires too early, so rewind stops audio playback for all clicks but last one. With that fix you can easily create pool of audio objects -- on 'ended' event just add audio object to the pool. Fix consists of 3 parts: 1) For low-latency code path pass entire "audio state" object to the renderer process. That allows renderer take into account number of pending bytes in the buffer. 2) When using low-latency code path renderer not only fills the buffer with data, but also writes length of data into first word of the buffer. That allows host process to pass correct byte counts to renderer. 3) Renderer now keeps track of the earliest time playback can end based on the number of rendered bytes, and will not call 'ended' callback till that time. BUG=http://code.google.com/p/chromium/issues/detail?id=78992 http://codereview.chromium.org/7328030 Review URL: http://codereview.chromium.org/7328030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92749 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid leaking file handles.yzshen@chromium.org2011-07-151-2/+6
| | | | | | | | | | | | | | AsyncOpenFileCallback: fix the issue that file handle is leaked if the file handle arrives after the requester has died. This change also fixes test_file_system. BUG=79820 TEST=FileIO/FileRef/FileSystem tests in ppapi_tests: Reload the test page, the test still passes. The output files can be deleted when any of these tests finishes running, no matter the test page is still open or not. Review URL: http://codereview.chromium.org/7327025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92727 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up the file dev interfaces. The combination of some dev and some nonbrettw@chromium.org2011-07-1517-668/+74
| | | | | | | | | | | | | dev interfaces in various places makes it impossible to compile some code. This makes the dev versions typedefs which should avoid breaking most (though not all) users. It also converts the file chooser to using the non-dev version of file ref. TEST=it compiles Review URL: http://codereview.chromium.org/7387011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92725 0039d316-1c4b-4281-b951-d872f2087c98
* Enable fire-and-forget Destroy of HW video decoder, and misc other improvements.fischman@chromium.org2011-07-159-97/+55
| | | | | | | | | | | | | | | | | | | | | | | - Instead of requiring the client to wait for NotifyDestroyDone we do the asynchronous OMX teardown dance on the client's behalf. - Prettify/simplify error handling in OVDA for easier matching of errors to OMX_Core.h and to remove redundant information. - Enable previously-DISABLED_ early-teardown unittests! - Remove passing VideoDecoder_Dev object in PPP_VideoDecoder_Dev calls, because it was unnecssary, and because the ~VideoDecoder_Dev dtor is now not a no-op so we don't want to call it spuriously. - Remove accidentally re-added gpu_video_service_host.cc (originally removed in 92251, accidentally reintroduced by a bad rebase in 92383). BUG=none TEST=ovdatest passes (incl. early-teardown tests) and gles2 works (including reload and EOS handling, no crashes) Review URL: http://codereview.chromium.org/7361010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92704 0039d316-1c4b-4281-b951-d872f2087c98
* Remove untrusted scripting support.dmichael@chromium.org2011-07-1421-573/+24
| | | | | | | | | BUG=82606 TEST=ppapi_tests,ppapi_unittests Review URL: http://codereview.chromium.org/7362012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92557 0039d316-1c4b-4281-b951-d872f2087c98
* Removed MemAlloc and MemFree from PPB_Coremball@google.com2011-07-1411-73/+50
| | | | | | | | | BUG=81610 TEST=Trybots Review URL: http://codereview.chromium.org/7349016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92554 0039d316-1c4b-4281-b951-d872f2087c98
* Trival lexer/parser changes for errorsnoelallen@google.com2011-07-142-3/+4
| | | | | | | | | | | | Add the ability to track lexer errors in the parser so that we can push error counts to the IDLFileNode. TEST= python idl_parser.py R= sehr@google.com Review URL: http://codereview.chromium.org/7342037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92551 0039d316-1c4b-4281-b951-d872f2087c98
* Trivial ppapi/c headers changesnoelallen@google.com2011-07-145-13/+15
| | | | | | | | | | | Trivial changes to C headers for consistency with generated code prior to throwing the switch. TEST= tryserver BUG= http://code.google.com/p/chromium/issues/detail?id=76271 Review URL: http://codereview.chromium.org/7360008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92550 0039d316-1c4b-4281-b951-d872f2087c98
* IDLNode cleanup and use of new IDLNamespace objectnoelallen@google.com2011-07-143-171/+553
| | | | | | | | | | | | | | | | | | | | A few basic cleanups, like removing the need for a 'BuildTree' step. Moved the namespace work to the IDLNamespace object Added tests for properties, text manipulations, etc... Also added IDLVersion from which IDLNode is now derived. IDLVersion helps support node versioning. Broke out IDLAst from idl_node.py, to make dependencies cleaner. So that IDLNamespace depends on IDLNode, and IDLAst depends on IDLNamesapce. Same with version... IDLNamespace depends on IDLVersion, so does IDLNode. NOTE: IDLNamespace is in another CL BUG= http://code.google.com/p/chromium/issues/detail?id=87684 TEST= python idl_node.py && python idl_version.py Review URL: http://codereview.chromium.org/7289004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92548 0039d316-1c4b-4281-b951-d872f2087c98
* Split property system into it's own file.noelallen@google.com2011-07-141-0/+196
| | | | | | | | | | | | | Split the property system into it's own file to make testing and updating easier. TEST= python idl_propertynode.py BUG= http://code.google.com/p/chromium/issues/detail?id=74634 R= sehr@google.com Review URL: http://codereview.chromium.org/7356008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92546 0039d316-1c4b-4281-b951-d872f2087c98
* Update generators owners file.noelallen@google.com2011-07-141-0/+1
| | | | | | | | TEST= none BUG= none Review URL: http://codereview.chromium.org/7365006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92545 0039d316-1c4b-4281-b951-d872f2087c98
* Hook up the network status notifications to out-of-process Pepper plugins.brettw@chromium.org2011-07-141-0/+5
| | | | | | | | | | This is not implemented for in-process plugins. That requires a completely separate implementation and isn't required now. TEST=manual Review URL: http://codereview.chromium.org/7357007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92477 0039d316-1c4b-4281-b951-d872f2087c98
* Detect and expose loss of OpenGL context using GL_ARB_robustness.kbr@chromium.org2011-07-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (This CL was originally reviewed under http://codereview.chromium.org/7331020/ . The only difference is the removal of an #include from command_buffer.h that was accidentally left in and which caused a significant increase in the number of files containing static initializers, presumably because of the dependent #include of <iostream>.) This initial patch changes the Linux port to use GLX_ARB_create_context_robustness when available, and tests periodically whether the context has been lost after each draw call and when making the context current. The detection of context loss also works with EGL and ANGLE, although it always reports an unknown reset status. WebKit changes will follow which test the reset status and determine what to do in response; for example, the policy might be to never restore a WebGL context which was lost (due to a GPU reset) and which was determined to be the guilty context. Tested manually with WebGL stress tests and verified on Linux and Windows that in at least some situations it is possible to detect guilty contexts and shut down the associated WebGL application. Some precision of this detection was recently lost and will need to be fixed in following CLs. Also updated and ran GPU unit tests. BUG=88106 TEST=none (tested manually; try servers) R=gman,apatrick,piman Review URL: http://codereview.chromium.org/7362005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92453 0039d316-1c4b-4281-b951-d872f2087c98
* Add instrumentation and checks to help debugging plugins.piman@chromium.org2011-07-133-1/+18
| | | | | | | | | | BUG=none TEST=about:gpu traces, with pepper flash, check that we see Font and RunOnMainThread traces. Review URL: http://codereview.chromium.org/7358003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92445 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 92429 - Detect and expose loss of OpenGL context using ↵kbr@chromium.org2011-07-131-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GL_ARB_robustness. (Regressed static initalizer size on Linux -- will need to reexamine code to understand why.) This initial patch changes the Linux port to use GLX_ARB_create_context_robustness when available, and tests periodically whether the context has been lost after each draw call and when making the context current. The detection of context loss also works with EGL and ANGLE, although it always reports an unknown reset status. WebKit changes will follow which test the reset status and determine what to do in response; for example, the policy might be to never restore a WebGL context which was lost (due to a GPU reset) and which was determined to be the guilty context. Tested manually with WebGL stress tests and verified on Linux and Windows that in at least some situations it is possible to detect guilty contexts and shut down the associated WebGL application. Some precision of this detection was recently lost and will need to be fixed in following CLs. Also updated and ran GPU unit tests. BUG=88106 TEST=none (tested manually; try servers) Review URL: http://codereview.chromium.org/7331020 TBR=kbr@chromium.org Review URL: http://codereview.chromium.org/7346032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92434 0039d316-1c4b-4281-b951-d872f2087c98
* Detect and expose loss of OpenGL context using GL_ARB_robustness.kbr@chromium.org2011-07-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | This initial patch changes the Linux port to use GLX_ARB_create_context_robustness when available, and tests periodically whether the context has been lost after each draw call and when making the context current. The detection of context loss also works with EGL and ANGLE, although it always reports an unknown reset status. WebKit changes will follow which test the reset status and determine what to do in response; for example, the policy might be to never restore a WebGL context which was lost (due to a GPU reset) and which was determined to be the guilty context. Tested manually with WebGL stress tests and verified on Linux and Windows that in at least some situations it is possible to detect guilty contexts and shut down the associated WebGL application. Some precision of this detection was recently lost and will need to be fixed in following CLs. Also updated and ran GPU unit tests. BUG=88106 TEST=none (tested manually; try servers) Review URL: http://codereview.chromium.org/7331020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92429 0039d316-1c4b-4281-b951-d872f2087c98
* Overhauled OmxVideoDecodeAccelerator's state machine implementation and ↵fischman@chromium.org2011-07-138-251/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | related code. This implementation makes explicit the transitions being effected and the states expected to be involved in each transition, instead of the previous implementation's use of implicit information (e.g. "we just went from Idle to Loaded, therefore we must be Abort()'ing"). This is not only much more readable but also enables implementation of Reset() (for Seek) and replaces Abort() (which never had a well-defined purpose that was consistent in documentation and implementation, nor a customer use-case). DID some TODOs in OmxVideoDecodeAccelerator: - Replaced error-code checking boilerplate w/ a failure-handling macro. - Simplified the component-name-getting dance in CreateComponent(). Updated the PPAPI interface: - Removed GetConfigs & AssignSysmemBuffers (neither of which ever came into its own) - Replaced Abort with Reset, and added Destroy (which still nobody calls, but that'll change shortly). - Cleaned up the interface's documentation. BUG=86122 TEST=OVDATest, gles2 sample plugin Review URL: http://codereview.chromium.org/7338010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92383 0039d316-1c4b-4281-b951-d872f2087c98
* Support overlapped calls of FileIO::{Read,Write}.yzshen@chromium.org2011-07-132-3/+259
| | | | | | | | | | BUG=84883 TEST=test_file_io Review URL: http://codereview.chromium.org/7258002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92322 0039d316-1c4b-4281-b951-d872f2087c98
* Reland http://codereview.chromium.org/7292033dmichael@chromium.org2011-07-1320-26/+55
| | | | | | | | | | | | | | | | Plus bonus change to a comment in pp_bool.h to try to get the bots to rebuild things properly ------ First pass at revving stable pepper interfaces to 1.0. Missing PPB_Core (pending removal of MemAlloc/MemFree) and new input event interfaces, in case we want to change them in the next ~week. BUG=84519 TEST=ppapi tests TBR=dmichael Review URL: http://codereview.chromium.org/7355014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92312 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 92302 - First pass at revving stable pepper interfaces to 1.0.dmichael@chromium.org2011-07-1319-53/+24
| | | | | | | | | | | | | | Missing PPB_Core (pending removal of MemAlloc/MemFree) and new input event interfaces, in case we want to change them in the next ~week. BUG=84519 TEST=ppapi tests Review URL: http://codereview.chromium.org/7292033 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/7342032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92304 0039d316-1c4b-4281-b951-d872f2087c98
* First pass at revving stable pepper interfaces to 1.0.dmichael@chromium.org2011-07-1319-24/+53
| | | | | | | | | | | Missing PPB_Core (pending removal of MemAlloc/MemFree) and new input event interfaces, in case we want to change them in the next ~week. BUG=84519 TEST=ppapi tests Review URL: http://codereview.chromium.org/7292033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92302 0039d316-1c4b-4281-b951-d872f2087c98
* Turn off scripting by default. If this sticks, a later CL will delete all ↵dmichael@chromium.org2011-07-133-16/+11
| | | | | | | | | | | the dead code. BUG=82606 TEST=trybots Review URL: http://codereview.chromium.org/7345014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92294 0039d316-1c4b-4281-b951-d872f2087c98
* Updating the C++ PPAPI to use non-dev File interfaces.sanga@chromium.org2011-07-138-91/+91
| | | | | | Review URL: http://codereview.chromium.org/7345001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92290 0039d316-1c4b-4281-b951-d872f2087c98
* Make pp::CompletionCallback have a default constructor (which blocks),jvoung@google.com2011-07-134-4/+20
| | | | | | | | | | | and add a separate function BlockUntilComplete() that makes this obvious. BUG= none TEST= trybots Review URL: http://codereview.chromium.org/7345017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92286 0039d316-1c4b-4281-b951-d872f2087c98