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

Side by Side Diff: webkit/glue/plugins/ppapi_unittest.cc

Issue 5828003: Move the Pepper implementation from webkit/glue/plugins/pepper_* to... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years 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 | « webkit/glue/plugins/ppapi_unittest.h ('k') | webkit/glue/plugins/ppb_private.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "webkit/glue/plugins/ppapi_unittest.h"
6
7 #include "ppapi/c/pp_var.h"
8 #include "ppapi/c/ppp_instance.h"
9 #include "webkit/glue/plugins/mock_plugin_delegate.h"
10 #include "webkit/glue/plugins/pepper_plugin_instance.h"
11 #include "webkit/glue/plugins/pepper_plugin_module.h"
12
13 namespace pepper {
14
15 namespace {
16
17 PpapiUnittest* current_unittest = NULL;
18
19 const void* MockGetInterface(const char* interface_name) {
20 return current_unittest->GetMockInterface(interface_name);
21 }
22
23 int MockInitializeModule(PP_Module, PPB_GetInterface) {
24 return PP_OK;
25 }
26
27 // PepperPluginDelegate -------------------------------------
28
29 // PPP_Instance implementation ------------------------------------------------
30
31 PP_Bool Instance_DidCreate(PP_Instance pp_instance,
32 uint32_t argc,
33 const char* argn[],
34 const char* argv[]) {
35 return PP_TRUE;
36 }
37
38 void Instance_DidDestroy(PP_Instance instance) {
39 }
40
41 void Instance_DidChangeView(PP_Instance pp_instance,
42 const PP_Rect* position,
43 const PP_Rect* clip) {
44 }
45
46 void Instance_DidChangeFocus(PP_Instance pp_instance, PP_Bool has_focus) {
47 }
48
49 PP_Bool Instance_HandleInputEvent(PP_Instance pp_instance,
50 const PP_InputEvent* event) {
51 return PP_FALSE;
52 }
53
54 PP_Bool Instance_HandleDocumentLoad(PP_Instance pp_instance,
55 PP_Resource pp_url_loader) {
56 return PP_FALSE;
57 }
58
59 PP_Var Instance_GetInstanceObject(PP_Instance pp_instance) {
60 return PP_MakeUndefined();
61 }
62
63 static PPP_Instance mock_instance_interface = {
64 &Instance_DidCreate,
65 &Instance_DidDestroy,
66 &Instance_DidChangeView,
67 &Instance_DidChangeFocus,
68 &Instance_HandleInputEvent,
69 &Instance_HandleDocumentLoad,
70 &Instance_GetInstanceObject
71 };
72
73 } // namespace
74
75 // PpapiUnittest --------------------------------------------------------------
76
77 PpapiUnittest::PpapiUnittest() {
78 DCHECK(!current_unittest);
79 current_unittest = this;
80 }
81
82 PpapiUnittest::~PpapiUnittest() {
83 DCHECK(current_unittest == this);
84 current_unittest = NULL;
85 }
86
87 void PpapiUnittest::SetUp() {
88 delegate_.reset(new MockPluginDelegate);
89
90 // Initialize the mock module.
91 module_ = new PluginModule;
92 PluginModule::EntryPoints entry_points;
93 entry_points.get_interface = &MockGetInterface;
94 entry_points.initialize_module = &MockInitializeModule;
95 ASSERT_TRUE(module_->InitAsInternalPlugin(entry_points));
96
97 // Initialize the mock instance.
98 instance_ = new PluginInstance(delegate_.get(), module(),
99 static_cast<const PPP_Instance*>(
100 GetMockInterface(PPP_INSTANCE_INTERFACE)));
101 }
102
103 void PpapiUnittest::TearDown() {
104 }
105
106 const void* PpapiUnittest::GetMockInterface(const char* interface_name) const {
107 if (strcmp(interface_name, PPP_INSTANCE_INTERFACE) == 0)
108 return &mock_instance_interface;
109 return NULL;
110 }
111
112 } // namespace pepper
113
OLDNEW
« no previous file with comments | « webkit/glue/plugins/ppapi_unittest.h ('k') | webkit/glue/plugins/ppb_private.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698