summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy
Commit message (Collapse)AuthorAgeFilesLines
* Add the PP_Instance to resource object base.brettw@chromium.org2011-08-111-1/+2
| | | | | | | | | This will allow us to get the instance for a resource consistently in the proxy and webkit glue. Review URL: http://codereview.chromium.org/7461147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96473 0039d316-1c4b-4281-b951-d872f2087c98
* Move the refcounting from the proxy/impl resource object to the shared ↵brettw@chromium.org2011-08-111-3/+1
| | | | | | | | | | | | | | | | | | | resource object base class. Fix the audio and video code which shouldn't have derived from the ResourceObjectBase class. This produced a diamond inheritance on refcounted. The refcounting for resources is no longer threadsafe. We weren't doing any thread stuff with these, so this should be fine. There should be no behavior change. BUG= TEST= Review URL: http://codereview.chromium.org/7608033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96394 0039d316-1c4b-4281-b951-d872f2087c98
* Convert the PluginResource to be refcounted.brettw@chromium.org2011-08-1126-63/+54
| | | | | | | | | This is to make the future transition to a shared resource tracker (which will use refcounted resources) easier. There should be no behavior change. Review URL: http://codereview.chromium.org/7608030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96324 0039d316-1c4b-4281-b951-d872f2087c98
* Unify var tracking between webkit and the proxy.brettw@chromium.org2011-08-0919-520/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the var tracking in the proxy with the var tracking in the shared_impl that's used by the implementation. It adds a new ProxyObjectVar to be the proxied plugin analog of NPObjectVar in the impl. This new object just keeps track of the host data. The tricky part is to make the var tracker able to do all the crazy messaging. This adds some virtual functions to the shared var tracker that we override in the plugin in PluginVarTracker. This removes the calls to the GetLiveObjectsForInstance in the var deprecated test. It turns out this function really can't be implemented properly in the proxy, and I don't know why it even worked before. A Release() call posts a non-nestable task so the object isn't released until later. So to implement the proxy for GetLiveObjectsForInstance we would also need to post a non-nestable task. But when the test runs we're getting called from within the plugin, so blocking on a non-nestable task deadlocks. So I just gave up and deleted the parts of the test that uses it. TEST=included BUG=none Review URL: http://codereview.chromium.org/7578001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96094 0039d316-1c4b-4281-b951-d872f2087c98
* PPB/PPP_VideoCapture_Dev proxypiman@chromium.org2011-08-099-3/+605
| | | | | | | | | | BUG=None TEST=VideoCapture sample (in a later CL) Review URL: http://codereview.chromium.org/7601005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95961 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 95309. Add a template to handle properly issuing completion callbacks.brettw@chromium.org2011-08-0810-107/+178
| | | | | | | | | | | | | | This fixes some bugs where we forgot to issue completion callbacks in some error cases in the proxy, and cleans up the cases that were already doing this properly. This removes the PPB_AudioTrusted_API and folds those functions into the regular Audio API. I'm trying to merge more things to have a smaller explosion of APIs and the boilerplate associated with them. Original review URL: http://codereview.chromium.org/7551032 Review URL: http://codereview.chromium.org/7585025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95859 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PPAPI VideoDecode out-of-process supportvrk@chromium.org2011-08-0610-35/+772
| | | | | | | | | | | | | This CL implements the proxy necessary for out-of-process video decoding and introduces a shared base class between the PPB_VideoDecoder_Impl and the proxy. BUG=NONE TEST=gles2 plugin runs with or without --ppapi-out-of-process flag, no crashes Review URL: http://codereview.chromium.org/7545014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95724 0039d316-1c4b-4281-b951-d872f2087c98
* Video Capture Pepper APIpiman@chromium.org2011-08-063-0/+8
| | | | | | | | | | | | The API is very simple at this point but works end-to-end. BUG=None TEST=VideoCapture sample (in a later CL) Review URL: http://codereview.chromium.org/7553003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95719 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 95309 - I need to fix some bugs with this.brettw@chromium.org2011-08-0310-177/+107
| | | | | | | | | | | | | | | Add a template to handle properly issuing completion callbacks. This fixes some bugs where we forgot to issue completion callbacks in some error cases in the proxy, and cleans up the cases that were already doing this properly. This removes the PPB_AudioTrusted_API and folds those functions into the regular Audio API. I'm trying to merge more things to have a smaller explosion of APIs and the boilerplate associated with them. Review URL: http://codereview.chromium.org/7551032 TBR=brettw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95342 0039d316-1c4b-4281-b951-d872f2087c98
* Add a template to handle properly issuing completion callbacks. This fixesbrettw@chromium.org2011-08-0310-107/+177
| | | | | | | | | | | | some bugs where we forgot to issue completion callbacks in some error cases in the proxy, and cleans up the cases that were already doing this properly. This removes the PPB_AudioTrusted_API and folds those functions into the regular Audio API. I'm trying to merge more things to have a smaller explosion of APIs and the boilerplate associated with them. Review URL: http://codereview.chromium.org/7551032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95309 0039d316-1c4b-4281-b951-d872f2087c98
* Proxy PPP_Messaging.dmichael@chromium.org2011-08-0315-43/+381
| | | | | | | | | | | I added a couple of tests while I was figuring out the ref counting problem I was having. Also lots of bonus spelling fixes. BUG=86123 TEST=ppp_messaging_proxy_test and ppapi_tests Review URL: http://codereview.chromium.org/7531003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95240 0039d316-1c4b-4281-b951-d872f2087c98
* Remove a few unused functions.thakis@chromium.org2011-08-021-8/+0
| | | | | | | | | | | | | I temporarily enabled -Wunused-function in build/common.gypi, sent a tryjob to the linux clangbot, and fixed the fallout. BUG=none TEST=none Review URL: http://codereview.chromium.org/7548004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95097 0039d316-1c4b-4281-b951-d872f2087c98
* Allow reentrancy for HostDispatcher::GetProxiedInterfacevrk@google.com2011-08-021-1/+5
| | | | | | | | | | | | | By allowing reentrancy in this function, we allow a PPB implementation to call GetPluginInterface from the constructor. Otherwise the renderer process hangs. (See PPB_VideoDecoder_Impl's constructor as an example.) BUG=NONE TEST=NONE Review URL: http://codereview.chromium.org/7540032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95010 0039d316-1c4b-4281-b951-d872f2087c98
* Move Var and StringVar to the ppapi/shared_impl so they can be used in thebrettw@chromium.org2011-08-012-0/+37
| | | | | | | | | | | | | | | | | | | proxy. This does not, however, actually use these in the proxy yet, I'll do that in a subsequent pass. ObjectVar is now renamed NPObjectVar and continues to be in webkit/plugins since it uses NPObjects. There will be a corresponding future class in the proxy for proxied objects. The TryCatch that was in var.h is now in npapi_glue.h Most of the rest of the change is updating namespaces. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/7488062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94986 0039d316-1c4b-4281-b951-d872f2087c98
* Add additional unit tests for the plugin side of SerializedVar object proxying.brettw@chromium.org2011-08-013-5/+136
| | | | | | | | TEST=is this BUG=none Review URL: http://codereview.chromium.org/7537015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94936 0039d316-1c4b-4281-b951-d872f2087c98
* Various fixes to Graphics3D proxy to make it work.alokp@chromium.org2011-08-012-6/+12
| | | | | | Review URL: http://codereview.chromium.org/7457027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94904 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI interface for reading the enterprise policy as a big JSON blob.ajwong@chromium.org2011-07-302-0/+6
| | | | | | | | | | | | This includes an implementation that pipes up through PluginDelegate, but stops short of connecting to the actual policy code. BUG=90213 TEST=new unittests + manual testing Review URL: http://codereview.chromium.org/7483019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94824 0039d316-1c4b-4281-b951-d872f2087c98
* PPB_VideoDecoder_Dev::Initialize is now synchronous!fischman@chromium.org2011-07-292-2/+8
| | | | | | | | | | | | | Apparently flash can't deal with async init, so we make it synchronous. We keep processing in the GPU process asynchronous and just take the blocking hit on the renderer. BUG=none TEST=gles2, ovdatest, trybots Review URL: http://codereview.chromium.org/7474006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94730 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented CommandBuffer::GetState Graphics3D.apatrick@chromium.org2011-07-261-0/+5
| | | | | | | I'm not sure how it worked without it. Review URL: http://codereview.chromium.org/7493032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94001 0039d316-1c4b-4281-b951-d872f2087c98
* Fix input event resource proxying functions in the Chrome IPC proxy. Thebrettw@chromium.org2011-07-223-4/+46
| | | | | | | message-specific PPB interfaces were'nt hooked up. Review URL: http://codereview.chromium.org/7479008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93639 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 93066 - Execute all GL commands up to the put offset reported by a ↵apatrick@chromium.org2011-07-211-0/+5
| | | | | | | | | | | 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/7466022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93479 0039d316-1c4b-4281-b951-d872f2087c98
* Convert input event to interface version 1.0. Rename some of the mouse andbrettw@chromium.org2011-07-202-11/+11
| | | | | | | | | | | | | | | | | | wheel events to remove the redundant "Mouse" and "Wheel" in the getters. Rename PP_INPUTEVENT_TYPE_MOUSEWHEEL to .._WHEEL so that it doesn't look like a mouse event (it's its own type). Add documentation to the C++ wrapper from the C wrappers. Do some minor documentation updates. Update IDL for some of the recent changes we've made. Update the way points are passed for resource creation since IDL wanted to do it by pointer. TEST=it compiles. Review URL: http://codereview.chromium.org/7464003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93263 0039d316-1c4b-4281-b951-d872f2087c98
* Reland http://codereview.chromium.org/7452002/ againdmichael@chromium.org2011-07-207-102/+14
| | | | | | | | | | | | | | Update chromoting input events. (Clang caught this. Thanks, Clang!) Note I'm leaving in temporary backwards-compatibility. BUG=None TEST=ppapi tests TBR=brettw,sergeyu Review URL: http://codereview.chromium.org/7466008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93234 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 93223 - Reland http://codereview.chromium.org/7452002/dmichael@chromium.org2011-07-207-14/+102
| | | | | | | | | | | | | | | | | | 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 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/7471006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93229 0039d316-1c4b-4281-b951-d872f2087c98
* Reland http://codereview.chromium.org/7452002/dmichael@chromium.org2011-07-207-102/+14
| | | | | | | | | | | | | | | 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-207-14/+102
| | | | | | | | | | | | | | 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-207-102/+14
| | | | | | | | | | | 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
* Binding Graphics3D with Instance and OpenGLES2 interface.alokp@chromium.org2011-07-194-893/+9
| | | | | | | 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-193-21/+94
| | | | | | | | | 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-191-0/+21
| | | | | | | | | | 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
* Re-land r92885, which was reverted in r92891.alokp@chromium.org2011-07-197-1/+804
| | | | | | | | 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
* Revert 92885 - Completed the implementation for PPB_Graphics3D interface.alokp@chromium.org2011-07-187-804/+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-187-1/+804
| | | | | | | | | | | | | | - 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
* Remove untrusted scripting support.dmichael@chromium.org2011-07-148-181/+7
| | | | | | | | | 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-142-8/+6
| | | | | | | | | 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
* 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
* Reland http://codereview.chromium.org/7292033dmichael@chromium.org2011-07-133-2/+16
| | | | | | | | | | | | | | | | 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-133-16/+2
| | | | | | | | | | | | | | 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-133-2/+16
| | | | | | | | | | | 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
* Move the time conversion code to the PPAPI shared_impl directory and use it inbrettw@chromium.org2011-07-121-5/+6
| | | | | | | | | | the proxy for converting event times. This also removes the unnecessary GetInterface function from Graphics2D and has the module use the thunk directly. Review URL: http://codereview.chromium.org/7344009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92229 0039d316-1c4b-4281-b951-d872f2087c98
* Reland http://codereview.chromium.org/7312008/dmichael@chromium.org2011-07-084-1/+19
| | | | | | | | | | | | | | | The only difference is I clear modifiers in Scrollbar test, and leave it enabled. Unrevert ppapi_tests change: Porting ppapi_tests framework to postMessage. Some tests still rely on scripting, so we changed to using InstancePrivate (since scripting will disappear from Instance soon). Also use conditional compilation so that if compiled as untrusted with NaCl, the tests use Instance instead of InstancePrivate. This means that tests which rely on scripting aren't runnable in NaCl. BUG=82606 TEST=these tests. Review URL: http://codereview.chromium.org/7237056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91912 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 91859 - Porting ppapi_tests framework to postMessage.dmichael@chromium.org2011-07-084-19/+1
| | | | | | | | | | | | | | | | Some tests still rely on scripting, so we changed to using InstancePrivate (since scripting will disappear from Instance soon). Also use conditional compilation so that if compiled as untrusted with NaCl, the tests use Instance instead of InstancePrivate. This means that tests which rely on scripting aren't runnable in NaCl. I also added a gyp option: pepper_scripting. The default is that scripting is on in this CL, but it will make it easy to turn it off in local builds. Soon we'll switch the default to no scripting, and soon after we can remove the option entirely. BUG=82606 TEST=these tests Review URL: http://codereview.chromium.org/7312008 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/7329024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91866 0039d316-1c4b-4281-b951-d872f2087c98
* Porting ppapi_tests framework to postMessage.dmichael@chromium.org2011-07-084-1/+19
| | | | | | | | | | | | | Some tests still rely on scripting, so we changed to using InstancePrivate (since scripting will disappear from Instance soon). Also use conditional compilation so that if compiled as untrusted with NaCl, the tests use Instance instead of InstancePrivate. This means that tests which rely on scripting aren't runnable in NaCl. I also added a gyp option: pepper_scripting. The default is that scripting is on in this CL, but it will make it easy to turn it off in local builds. Soon we'll switch the default to no scripting, and soon after we can remove the option entirely. BUG=82606 TEST=these tests Review URL: http://codereview.chromium.org/7312008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91859 0039d316-1c4b-4281-b951-d872f2087c98
* Remove PPBoolToBool and BoolToPPBool and use PP_FromBool and PP_ToBool instead.brettw@chromium.org2011-07-089-25/+17
| | | | | | | | | | I will remove ppapi/cpp/common.h when I'm sure nacl doesn't need it. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/7237039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91809 0039d316-1c4b-4281-b951-d872f2087c98