Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Side by Side Diff: ppapi/tests/test_instance_deprecated.h

Issue 472693002: Minor changes to allow Pepper InstancePrivate tests to pass with gin (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/shared_impl/scoped_pp_var.h ('k') | ppapi/tests/test_instance_deprecated.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PPAPI_TESTS_TEST_INSTANCE_H_ 5 #ifndef PPAPI_TESTS_TEST_INSTANCE_H_
6 #define PPAPI_TESTS_TEST_INSTANCE_H_ 6 #define PPAPI_TESTS_TEST_INSTANCE_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "ppapi/cpp/dev/scriptable_object_deprecated.h"
11 #include "ppapi/tests/test_case.h" 12 #include "ppapi/tests/test_case.h"
12 13
14 class TestInstance;
15
16 // ScriptableObject used by TestInstance.
17 class InstanceSO : public pp::deprecated::ScriptableObject {
18 public:
19 explicit InstanceSO(TestInstance* i);
20 virtual ~InstanceSO();
21
22 // pp::deprecated::ScriptableObject overrides.
23 bool HasMethod(const pp::Var& name, pp::Var* exception);
24 pp::Var Call(const pp::Var& name,
25 const std::vector<pp::Var>& args,
26 pp::Var* exception);
27
28 // For out-of-process, the InstanceSO might be deleted after the instance was
29 // already destroyed, so we can't rely on test_instance_ being valid.
30 void clear_test_instance() { test_instance_ = NULL; }
31
32 private:
33 TestInstance* test_instance_;
34 const PPB_Testing_Private* testing_interface_;
35 };
36
13 class TestInstance : public TestCase { 37 class TestInstance : public TestCase {
14 public: 38 public:
15 TestInstance(TestingInstance* instance); 39 TestInstance(TestingInstance* instance);
16 virtual ~TestInstance(); 40 virtual ~TestInstance();
17 41
18 // TestCase implementation. 42 // TestCase implementation.
19 virtual bool Init(); 43 virtual bool Init();
20 virtual void RunTests(const std::string& filter); 44 virtual void RunTests(const std::string& filter);
21 45
22 void set_string(const std::string& s) { string_ = s; } 46 void set_string(const std::string& s) { string_ = s; }
23 47
24 // Leak a reference to the given var, but ignore the leak in the leak checking 48 // Leak a reference to the given var, but ignore the leak in the leak checking
25 // that happens at shutdown. This allows us to test the "ForceFree" that 49 // that happens at shutdown. This allows us to test the "ForceFree" that
26 // happens on instance shutdown. 50 // happens on instance shutdown.
27 void LeakReferenceAndIgnore(const pp::Var& leaked); 51 void LeakReferenceAndIgnore(const pp::Var& leaked);
28 52
53 // This resets the scriptable object if it gets destroyed before the instance
54 // which should be the case for in-process tests.
55 void clear_instance_so() { instance_so_ = NULL; }
56
29 protected: 57 protected:
30 // Test case protected overrides. 58 // Test case protected overrides.
31 virtual pp::deprecated::ScriptableObject* CreateTestObject(); 59 virtual pp::deprecated::ScriptableObject* CreateTestObject();
32 60
33 private: 61 private:
34 std::string TestExecuteScript(); 62 std::string TestExecuteScript();
35 std::string TestRecursiveObjects(); 63 std::string TestRecursiveObjects();
36 std::string TestLeakedObjectDestructors(); 64 std::string TestLeakedObjectDestructors();
37 std::string TestSetupExecuteScriptAtInstanceShutdown(); 65 std::string TestSetupExecuteScriptAtInstanceShutdown();
38 std::string TestExecuteScriptAtInstanceShutdown(); 66 std::string TestExecuteScriptAtInstanceShutdown();
39 67
40 // Value written by set_string which is called by the ScriptableObject. This 68 // Value written by set_string which is called by the ScriptableObject. This
41 // allows us to keep track of what was called. 69 // allows us to keep track of what was called.
42 std::string string_; 70 std::string string_;
71
72 // The scriptable object for this test.
73 InstanceSO* instance_so_;
43 }; 74 };
44 75
45 #endif // PPAPI_TESTS_TEST_INSTANCE_H_ 76 #endif // PPAPI_TESTS_TEST_INSTANCE_H_
OLDNEW
« no previous file with comments | « ppapi/shared_impl/scoped_pp_var.h ('k') | ppapi/tests/test_instance_deprecated.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698