Add a flag field to PP_CompletionCallback to control if the callback should
always be invoked asynchronously on success or error or skipped if the
operation can complete synchronously without blocking. Keep the default
behavior as-is until clients update their code. Bump revisions of all
interfaces that take callbacks as args. Update browser interface function
implementations and C++ layer to force callbacks if sync option is not set.
Change ppapi/tests to run tests involving callbacks with both flag options.
BUG=79376
TEST=ppapi_tests + bots
Review URL: http://codereview.chromium.org/6899055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91205 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ppapi/tests/test_utils.h b/ppapi/tests/test_utils.h
index 721a048..e786aa8 100644
--- a/ppapi/tests/test_utils.h
+++ b/ppapi/tests/test_utils.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -18,6 +18,7 @@
class TestCompletionCallback {
public:
TestCompletionCallback(PP_Instance instance);
+ TestCompletionCallback(PP_Instance instance, bool force_async);
// Waits for the callback to be called and returns the
// result. Returns immediately if the callback was previously called
@@ -38,6 +39,7 @@
bool have_result_;
int32_t result_;
+ bool force_async_;
bool post_quit_task_;
unsigned run_count_;
PP_Instance instance_;