summaryrefslogtreecommitdiffstats
path: root/ppapi/tests/test_websocket.h
Commit message (Collapse)AuthorAgeFilesLines
* WebSocket Pepper API: split AbortCalls test to four partstoyoshim@chromium.org2012-10-221-1/+4
| | | | | | | | | | | | | | | | OutOfProcessPPAPITest.WebSocket_AbortCalls is flaky on Win_dbg. The AbortCalls test is so complicated due to cover various unexpected shutdown cases that it is difficult to find the root. Also the last scenario needs a lot of large data transactions, then it may cause timeout in debug build. BUG=156443 TEST=browser_tests --gtest_filter='*PPAPITest.WebSocket_Abort*' Review URL: https://chromiumcodereview.appspot.com/11194048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163237 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: synchronous completion support.toyoshim@chromium.org2012-04-161-0/+1
| | | | | | | | | | | | | Allow optional remote callback, then perform synchronous completion if receiving data is enough small for SRPC buffer. Otherwise invoke another callback for asynchronous completion from main thread. BUG=87310 TEST=browser_tests --gtest_filter=PPAPINaclTest.WebSocket_StressedSendReceive Review URL: https://chromiumcodereview.appspot.com/9802027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132413 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: fix data corruption at ReceiveMessage in NaCltoyoshim@chromium.org2012-03-261-0/+1
| | | | | | | | | | | | | | | | | | PpbWebSocketRpcServer::PPB_WebSocket_ReceiveMessage sometime gets unexpected synchronous PP_OK result on PPBWebSocketInterface calling. Receiving data is passed only in completion callbacks. Then, it causes data corruption. This CL fix this issue and in order to reproduce this synchronous PP_OK situation, add one stress test, StressedSendReceive. This CL also fix CcInterface test flakiness on Mac. BUG=111636 TEST=browser_tests --test_filter='PPAPI*Test.WebSocket_CcInterfaces'; browser_tests --test_filter='PPAPI*Test.WebSocket_StressedSendReceive' Review URL: http://codereview.chromium.org/9724007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128890 0039d316-1c4b-4281-b951-d872f2087c98
* Use a random port for WebSocket tests. In browser_tests the websocket server ↵jabdelmalek@google.com2012-03-161-0/+1
| | | | | | | | | might run simultaneously when the sharding supervisor is used. In practice I haven't seen a try run that fails from this because the sharding_supervisor reruns failed tests serially, but probably good to fix this. BUG=118460 Review URL: https://chromiumcodereview.appspot.com/9693066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127180 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: Cleanup for more readability.toyoshim@chromium.org2012-03-131-7/+9
| | | | | | | | | | BUG=none TEST=ui_tests Review URL: http://codereview.chromium.org/9316055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126490 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: an utility class implementation.toyoshim@chromium.org2012-02-291-0/+11
| | | | | | | | | | | | | | This class privide JS binding like API to Pepper C++ developers. BUG=87310 TEST=ui_tests --gtest_filter='PPAPI*Test.Websocket_Utility*' Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=115093 Review URL: http://codereview.chromium.org/8956008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124238 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: make the API out of devtoyoshim@chromium.org2012-01-271-2/+2
| | | | | | | | | | BUG=87310 TEST=ui_test Review URL: http://codereview.chromium.org/9192009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119425 0039d316-1c4b-4281-b951-d872f2087c98
* PPAPI: Move PPB_ArrayBuffer out of Dev.dmichael@chromium.org2012-01-271-2/+2
| | | | | | | | | | BUG=103435 TEST=N/A Review URL: http://codereview.chromium.org/9107046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119374 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: add a unit test for the bufferedAmount propertytoyoshim@chromium.org2012-01-121-0/+1
| | | | | | | | | | | | Add a unit test for the bufferedAmount property to verify its behaviors around connection close. BUG=87310 TEST=ui_test --gtest_filter='PPAPITest.WebSocket_BufferedAmount' Review URL: http://codereview.chromium.org/8989047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117415 0039d316-1c4b-4281-b951-d872f2087c98
* Update PPAPI IDL generator to define versioned structs, and unversioned typedef.wez@chromium.org2012-01-051-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* WebSocket Pepper API: ArrayBuffer supporttoyoshim@chromium.org2011-12-281-2/+9
| | | | | | | | | | | | | | This CL supports basic binary communication. For now, communication between Chrome and WebKit uses WebData structure. It must use WebArrayBuffer directly after WebKit API revision. BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_BinarySendReceive' Review URL: http://codereview.chromium.org/8774042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115871 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 115093 because of memory test failures - WebSocket Pepper API: C++ ↵toyoshim@chromium.org2011-12-201-9/+0
| | | | | | | | | | | | | | | | helper class implementation. This class privide JS binding like API to Pepper C++ developers. BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.Websocket_Helper*' Review URL: http://codereview.chromium.org/8956008 TBR=toyoshim@chromium.org Review URL: http://codereview.chromium.org/8956021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115099 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: C++ helper class implementation.toyoshim@chromium.org2011-12-201-0/+9
| | | | | | | | | | | This class privide JS binding like API to Pepper C++ developers. BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.Websocket_Helper*' Review URL: http://codereview.chromium.org/8956008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115093 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: C++ bindings implementation.toyoshim@chromium.org2011-12-161-0/+2
| | | | | | | | | | | | | This change contains simple straightforward C++ interfaces. JS like bindings will be implemented as a helper class in another change. BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_CcInterfaces' Review URL: http://codereview.chromium.org/8821010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114779 0039d316-1c4b-4281-b951-d872f2087c98
* Reland; WebSocket Pepper API: Add live object check to WebSocket PPAPI teststoyoshim@chromium.org2011-12-151-1/+1
| | | | | | | | | | | | | | | | - Add RUN_TEST_WITH_REFERENCE_CHECK macro which run a test then check leaked pepper objects. - Use that macro to run all WebSocket related PPAPI unit tests - Fix some object leak in tests found by the macro BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_*' Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114389 Review URL: http://codereview.chromium.org/8934003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114604 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting because I reverted the CL this depends on...finnur@chromium.org2011-12-141-1/+1
| | | | | | | | | | | | | | | | | | | Revert 114389 - WebSocket Pepper API: Add live object check to WebSocket PPAPI tests - Add RUN_TEST_WITH_REFERENCE_CHECK macro which run a test then check leaked pepper objects. - Use that macro to run all WebSocket related PPAPI unit tests - Fix some object leak in tests found by the macro BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_*' Review URL: http://codereview.chromium.org/8934003 TBR=toyoshim@chromium.org Review URL: http://codereview.chromium.org/8931026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114400 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: Add live object check to WebSocket PPAPI teststoyoshim@chromium.org2011-12-141-1/+1
| | | | | | | | | | | | | | - Add RUN_TEST_WITH_REFERENCE_CHECK macro which run a test then check leaked pepper objects. - Use that macro to run all WebSocket related PPAPI unit tests - Fix some object leak in tests found by the macro BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_*' Review URL: http://codereview.chromium.org/8934003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114389 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: validate redundant protocols in Connect()toyoshim@chromium.org2011-12-091-0/+1
| | | | | | | | | | | | | | | Given protocols argument is not allowed to have any duplicated protocol name in Connect(). This CL contains constant number replacement in test_websocket.cc like s/0/0U/g, and detailed comments on protocols argument check. BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_Protocols' Review URL: http://codereview.chromium.org/8839003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113760 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper WebSocket API: Add unit test to call Close()toyoshim@chromium.org2011-12-061-0/+2
| | | | | | | | | | | | - Add unit tests to validate Close() operation in various situations - Bug fix to invoke ongoing receive completion callback on Close() BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_*Close' Review URL: http://codereview.chromium.org/8821008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113239 0039d316-1c4b-4281-b951-d872f2087c98
* Pepper WebSocket API: Add unit test to access uninitialized propertiestoyoshim@chromium.org2011-12-061-0/+1
| | | | | | | | | | BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_UninitializedPropertiesAccess' Review URL: http://codereview.chromium.org/8816005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113227 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: minor properties implementationtoyoshim@chromium.org2011-12-011-1/+3
| | | | | | | | | | | | | - GetURL() - GetProtocol() BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket*' Review URL: http://codereview.chromium.org/8744011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112422 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: in process API implementationtoyoshim@chromium.org2011-11-261-1/+13
| | | | | | | | | | | | | | | This change enable in process Websocket Pepper API. For now, some unit tests are disabled because they need external a WebSocket server. BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket*' Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=111596 Review URL: http://codereview.chromium.org/8558017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111628 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r111596 "WebSocket Pepper API: in process API implementation"maruel@chromium.org2011-11-251-13/+1
| | | | | | | | | | | | Broke compile on Linux Builder (dbg)(shared) TBR=toyoshim@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8698007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111598 0039d316-1c4b-4281-b951-d872f2087c98
* WebSocket Pepper API: in process API implementationtoyoshim@chromium.org2011-11-251-1/+13
| | | | | | | | | | | | | | | | | This change enable in process Websocket Pepper API. For now, some unit tests are disabled because they need external a WebSocket server. These disabled tests run manually with external pywebsocket and --gtest_also_run_disabled_tests flag as follows. These tests will enabled in a few days. TBR=dmichael@chromium.org BUG=87310 TEST=ui_tests --gtest_filter='PPAPITest.WebSocket*' Review URL: http://codereview.chromium.org/8558017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111596 0039d316-1c4b-4281-b951-d872f2087c98
* - Implement internal API and thunktoyoshim@chromium.org2011-11-181-0/+30
- Implement base frame for in process API - Add basic unit tests for in process API BUG=87310 TEST=ui_tests --gtest_filter="PPAPITest.WebSocket*" Review URL: http://codereview.chromium.org/8571002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110664 0039d316-1c4b-4281-b951-d872f2087c98