Index: ppapi/tests/test_instance_deprecated.h |
diff --git a/ppapi/tests/test_instance_deprecated.h b/ppapi/tests/test_instance_deprecated.h |
index dfccd138938e2b8a8b56519920a78d379fc02bee..c442c32ed8054417e88756ef9db37f3d689e478c 100644 |
--- a/ppapi/tests/test_instance_deprecated.h |
+++ b/ppapi/tests/test_instance_deprecated.h |
@@ -8,8 +8,32 @@ |
#include <string> |
#include <vector> |
+#include "ppapi/cpp/dev/scriptable_object_deprecated.h" |
#include "ppapi/tests/test_case.h" |
+class TestInstance; |
+ |
+// ScriptableObject used by TestInstance. |
+class InstanceSO : public pp::deprecated::ScriptableObject { |
+ public: |
+ explicit InstanceSO(TestInstance* i); |
+ virtual ~InstanceSO(); |
+ |
+ // pp::deprecated::ScriptableObject overrides. |
+ bool HasMethod(const pp::Var& name, pp::Var* exception); |
+ pp::Var Call(const pp::Var& name, |
+ const std::vector<pp::Var>& args, |
+ pp::Var* exception); |
+ |
+ // For out-of-process, the InstanceSO might be deleted after the instance was |
+ // already destroyed, so we can't rely on test_instance_ being valid. |
+ void clear_test_instance() { test_instance_ = NULL; } |
+ |
+ private: |
+ TestInstance* test_instance_; |
+ const PPB_Testing_Private* testing_interface_; |
+}; |
+ |
class TestInstance : public TestCase { |
public: |
TestInstance(TestingInstance* instance); |
@@ -26,6 +50,10 @@ class TestInstance : public TestCase { |
// happens on instance shutdown. |
void LeakReferenceAndIgnore(const pp::Var& leaked); |
+ // This resets the scriptable object if it gets destroyed before the instance |
+ // which should be the case for in-process tests. |
+ void clear_instance_so() { instance_so_ = NULL; } |
+ |
protected: |
// Test case protected overrides. |
virtual pp::deprecated::ScriptableObject* CreateTestObject(); |
@@ -40,6 +68,9 @@ class TestInstance : public TestCase { |
// Value written by set_string which is called by the ScriptableObject. This |
// allows us to keep track of what was called. |
std::string string_; |
+ |
+ // The scriptable object for this test. |
+ InstanceSO* instance_so_; |
}; |
#endif // PPAPI_TESTS_TEST_INSTANCE_H_ |