Index: ppapi/tests/test_url_loader.cc |
diff --git a/ppapi/tests/test_url_loader.cc b/ppapi/tests/test_url_loader.cc |
index 15ea546b73a48794668f11a41de3bb4f9a6c6ca2..90244912681fc7c77d24b1746db811fa62ff8205 100644 |
--- a/ppapi/tests/test_url_loader.cc |
+++ b/ppapi/tests/test_url_loader.cc |
@@ -33,8 +33,9 @@ namespace { |
int32_t WriteEntireBuffer(PP_Instance instance, |
pp::FileIO* file_io, |
int32_t offset, |
- const std::string& data) { |
- TestCompletionCallback callback(instance); |
+ const std::string& data, |
+ CallbackType callback_type) { |
+ TestCompletionCallback callback(instance, callback_type); |
int32_t write_offset = offset; |
const char* buf = data.c_str(); |
int32_t size = data.size(); |
@@ -95,29 +96,29 @@ bool TestURLLoader::Init() { |
} |
void TestURLLoader::RunTests(const std::string& filter) { |
- RUN_TEST_FORCEASYNC_AND_NOT(BasicGET, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(BasicPOST, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(BasicFilePOST, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(BasicFileRangePOST, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(CompoundBodyPOST, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(EmptyDataPOST, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(BinaryDataPOST, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(CustomRequestHeader, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(FailsBogusContentLength, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(StreamToFile, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(UntrustedSameOriginRestriction, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(TrustedSameOriginRestriction, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(UntrustedCrossOriginRequest, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(TrustedCrossOriginRequest, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(UntrustedJavascriptURLRestriction, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(TrustedJavascriptURLRestriction, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(UntrustedHttpRequests, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(TrustedHttpRequests, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(FollowURLRedirect, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(AuditURLRedirect, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(AbortCalls, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(UntendedLoad, filter); |
- RUN_TEST_FORCEASYNC_AND_NOT(PrefetchBufferThreshold, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, BasicGET, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, BasicPOST, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, BasicFilePOST, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, BasicFileRangePOST, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, CompoundBodyPOST, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, EmptyDataPOST, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, BinaryDataPOST, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, CustomRequestHeader, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, FailsBogusContentLength, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, StreamToFile, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, UntrustedSameOriginRestriction, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, TrustedSameOriginRestriction, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, UntrustedCrossOriginRequest, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, TrustedCrossOriginRequest, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, UntrustedJavascriptURLRestriction, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, TrustedJavascriptURLRestriction, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, UntrustedHttpRequests, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, TrustedHttpRequests, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, FollowURLRedirect, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, AuditURLRedirect, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, AbortCalls, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, UntendedLoad, filter); |
+ RUN_CALLBACK_TEST(TestURLLoader, PrefetchBufferThreshold, filter); |
} |
std::string TestURLLoader::ReadEntireFile(pp::FileIO* file_io, |
@@ -222,7 +223,8 @@ int32_t TestURLLoader::PrepareFileForPost( |
return callback.result(); |
} |
- int32_t rv = WriteEntireBuffer(instance_->pp_instance(), &file_io, 0, data); |
+ int32_t rv = WriteEntireBuffer(instance_->pp_instance(), &file_io, 0, data, |
+ callback_type()); |
if (rv != PP_OK) { |
message->assign("FileIO::Write failed."); |
return rv; |
@@ -787,8 +789,13 @@ std::string TestURLLoader::TestUntendedLoad() { |
total_bytes_to_be_received); |
if (bytes_received == total_bytes_to_be_received) |
break; |
- pp::Module::Get()->core()->CallOnMainThread(10, callback); |
- callback.WaitForResult(); |
+ // TODO(dmichael): This should probably compare pp::MessageLoop::GetCurrent |
+ // with GetForMainThread. We only need to yield on the main |
+ // thread. |
+ if (callback_type() != PP_BLOCKING) { |
+ pp::Module::Get()->core()->CallOnMainThread(10, callback); |
+ callback.WaitForResult(); |
+ } |
} |
// The loader should now have the data and have finished successfully. |