summaryrefslogtreecommitdiffstats
path: root/ppapi/tests/test_broker.h
Commit message (Collapse)AuthorAgeFilesLines
* Implement an IsAllowed function in the pepper PPB_Broker_Trusted APIraymes@chromium.org2012-12-101-0/+2
| | | | | | | | | | | | | Flash sometimes needs to synchronously know if it can launch the broker, otherwise it will try to launch the broker when it shouldn't, and end up popping an infobar. This adds an IsAllowed function to synchronously test whether the broker is allowed to launch without popping the infobar. Note that the document URL of the plugin instance is needed in order to check the broker permissions in the browser process. This is only available in the renderer process. In order to avoid an extra hop to the renderer process just to get this URL, it is sent to the browser (with the render view ID) upon initialization of the instance when the instance is registered with the browser process. BUG=163248 Review URL: https://chromiumcodereview.appspot.com/11316316 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172104 0039d316-1c4b-4281-b951-d872f2087c98
* Add infobar for PPAPI broker usage.bauerb@chromium.org2012-09-041-0/+2
| | | | | | | | BUG=142639 Review URL: https://chromiumcodereview.appspot.com/10826164 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154742 0039d316-1c4b-4281-b951-d872f2087c98
* Update PPAPI IDL generator to define versioned structs, and unversioned typedef.wez@chromium.org2012-01-051-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For interface Foo with versions A and B, structs will be defined for Foo_A and Foo_B, and a typedef generated from Foo_B to Foo. Versioning of IDL structs remains unchanged. (Follow-up to discussion on CL 8931019) *** This change breaks compatibility with C code that makes use of unversioned-named interface structs. :( *** We need to define a versioned-named struct for each interface's current version. We could: 1. Carry on defining the current struct unversioned and typedef a versioned name for it. The versioned type for the interface would be a typedef for the latest version and a struct for later versions, causing calling C code that uses it to break when a new version is added. 2. Define structs for all versions, and a separate unversioned struct. This would lose type equivalence between the versioned and unversioned copies of the latest interface specification, and lead to needless duplication, especially for one-version interfaces. 3. Do this CL. We break some C code once, by change the unversioned type from struct to typedef, but we avoid these headaches in future. C++ code shouldn't be affected. *** Contents of this CL, including notes on to-dos: This change requires updating thunk-getters to be defined using versioned names, so that the interface structs can be forward declared; the thunk-getters now have versioned names and return values. Changing the thunk-getter naming requires updating unit-tests to call the versioned names. It also requires some interface headers not generated from IDL to be manually updated to the new scheme (PPB_CharSet_Dev, PPB_Crypto_Dev, PPB_DirectoryReader_Dev, PPB_LayerCompositor_Dev, PPB_Graphics3D, PPB_Flash_Menu, PPB_Instance_Private, PPP_Pdf, PPB_Flash_NetConnector, PPB_GLESChromiumTextureMapping_Dev and PPB_Graphics3D_Trusted). The proxy GetInfo() calls are updated to use versioned interface macros and thunks. Similarly, most PPBs added in interface_list.cc are now added using versioned interface macros and thunk getters. Ditto PluginModule, and some of PluginInstance. Some implementations (e.g. PPB_CharSet_Dev) needed updating to use versioned thunk getters to fetch interfaces to use. The VideoDecoder interface size checks are for 32-bit are updated not to expect structs. It was necessary to replace forward declarations of interface structs with includes, and remove "struct" prefixes where unversioned names were used. In most cases the affected code should really be updated to cope with versions. PPP_Pdf has become PPP_Pdf_1. Other versionless structs that should be updated for consistenct include PPB_UMA_Private, PPB_GPU_Blacklist_Private, PPB_Proxy_Private, PPP_PDF, PPB_OpenGLES2, PPB_Flash_File_FileRef and PPB_Flash_File_ModuleLocal. Also PPP_Class_Deprecated, PPP_CursorControl_Dev, PPP_Find_Dev, PPP_NetworkState_Dev, PPP_Scrollbar_Dev, PPP_Selection_Dev, PPP_VideoCapture_Dev, PPP_Graphics3D and PPP_Instance_Private. The Graphics2D and GLES2 examples now use unversioned interface type names without "struct" prefix. It's not clear whether examples should use versioned names, to show best practice, or unversioned. The typedef hack in PPP_Instance IDL is gone. Yay. BUG=107398,108379 TEST=All Pepper and NaCl tests should continue to pass on Chromium bots. NaCl SDK examples build correctly. Review URL: http://codereview.chromium.org/8989006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116490 0039d316-1c4b-4281-b951-d872f2087c98
* Reland http://codereview.chromium.org/8477015dmichael@chromium.org2011-11-161-1/+1
| | | | | | | | | | | | | | | | | | Landed at r109114, Reverted at r109142 Make it possible to enable/disable specific ppapi tests. Migrate PostMessage tests. The testcase attribute now can include a 'filter'. If it's omitted, everything works the same as before. This way we can migrate tests over bit-by-bit if we want to. We can also still run the tests manually the same way as before. This only runs PostMessage testss the new way, and re-enables all oop PostMessage tests that pass on Windows. I can do the other tests in this CL if desired, but it might be easier to land in a few pieces. BUG=102885 TEST=N/A TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/8536031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110248 0039d316-1c4b-4281-b951-d872f2087c98
* Add TestConnectFailure, TestGetHandleFailure and TestConnectAndPipe to PPAPI ↵xhwang@chromium.org2011-11-161-1/+4
| | | | | | | | | | | | | | Broker UI test. Also fix wrong sandbox options for broker process on Windows and Mac. BUG=none TEST=none Review URL: http://codereview.chromium.org/8400024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110241 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 109114thakis@chromium.org2011-11-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Turned Mac valgrind bots red: OutOfProcessPPAPITest.PostMessage_MessageEvent OutOfProcessPPAPITest.PostMessage_ExtraParam PPAPITest.PostMessage_NoHandler OutOfProcessPPAPITest.PostMessage_SendInInit Probably others - Make it possible to enable/disable specific ppapi tests. Migrate PostMessage tests. Most of these files were changed by a sed script, so it's not as bad as it looks. The testcase attribute now can include a 'filter'. If it's omitted, everything works the same as before. This way we can migrate tests over bit-by-bit if we want to. We can also still run the tests manually the same way as before. This only runs PostMessage testss the new way, and re-enables all oop PostMessage tests that pass on Windows. I can do the other tests in this CL if desired, but it might be easier to land in a few pieces. BUG=102885,95557 TEST=N/A Review URL: http://codereview.chromium.org/8477015 TBR=dmichael@chromium.org Review URL: http://codereview.chromium.org/8497030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109142 0039d316-1c4b-4281-b951-d872f2087c98
* Make it possible to enable/disable specific ppapi tests. Migrate PostMessage ↵dmichael@chromium.org2011-11-081-2/+2
| | | | | | | | | | | | | | | | | tests. Most of these files were changed by a sed script, so it's not as bad as it looks. The testcase attribute now can include a 'filter'. If it's omitted, everything works the same as before. This way we can migrate tests over bit-by-bit if we want to. We can also still run the tests manually the same way as before. This only runs PostMessage testss the new way, and re-enables all oop PostMessage tests that pass on Windows. I can do the other tests in this CL if desired, but it might be easier to land in a few pieces. BUG=102885,95557 TEST=N/A Review URL: http://codereview.chromium.org/8477015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109114 0039d316-1c4b-4281-b951-d872f2087c98
* Move Broker, Buffer, CharSet, and CursorControl to use the new thunk/API system.brettw@chromium.org2011-05-271-0/+29
This changes the way that the function APIs work in the webkit directory, now they're created per-instance rather than globally, and have their Plugininstance as a class member (this cleans up some code). I had to move the InstanceData member to be a linked_ptr due to copy constructor issues, but this should be more efficient anyway. Review URL: http://codereview.chromium.org/7077024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87094 0039d316-1c4b-4281-b951-d872f2087c98