Chromium Code Reviews| Index: ppapi/tests/manual/delete_plugin.cc |
| =================================================================== |
| --- ppapi/tests/manual/delete_plugin.cc (revision 0) |
| +++ ppapi/tests/manual/delete_plugin.cc (revision 0) |
| @@ -0,0 +1,74 @@ |
| +// 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. |
| + |
| +#include "ppapi/c/pp_errors.h" |
| +#include "ppapi/c/pp_input_event.h" |
| +#include "ppapi/c/ppb_var.h" |
| +#include "ppapi/c/trusted/ppb_instance_trusted.h" |
| +#include "ppapi/cpp/completion_callback.h" |
| +#include "ppapi/cpp/instance.h" |
| +#include "ppapi/cpp/module.h" |
| +#include "ppapi/cpp/private/var_private.h" |
| + |
| +class MyInstance : public pp::Instance { |
| + public: |
| + MyInstance(PP_Instance instance) : pp::Instance(instance) { |
| + factory_.Initialize(this); |
| + } |
| + |
| + virtual ~MyInstance() { |
| + } |
| + |
| + virtual bool Init(uint32_t argc, const char* argn[], const char* argv[]) { |
| + return true; |
| + } |
| + |
| + virtual bool HandleInputEvent(const PP_InputEvent& event) { |
| + switch (event.type) { |
| + case PP_INPUTEVENT_TYPE_MOUSEDOWN: |
| + pp::Module::Get()->core()->CallOnMainThread(100, |
| + factory_.NewCallback(&MyInstance::SayHello)); |
| + return true; |
| + case PP_INPUTEVENT_TYPE_MOUSEMOVE: |
| + return true; |
| + case PP_INPUTEVENT_TYPE_KEYDOWN: |
| + return true; |
| + default: |
| + return false; |
| + } |
| + } |
| + |
| + private: |
| + void SayHello(int32_t) { |
| + pp::Var code("deletePlugin()"); |
| + /* |
|
viettrungluu
2011/04/18 19:53:41
Could you add a comment on why it's commented out?
|
| + const PPB_Instance_Trusted* inst = |
| + (const PPB_Instance_Trusted*)pp::Module::Get()->GetBrowserInterface( |
| + PPB_INSTANCE_TRUSTED_INTERFACE); |
| + inst->ExecuteScript(pp_instance(), code.pp_var(), NULL); |
| + */ |
| + ExecuteScript(code); |
| + } |
| + |
| + pp::CompletionCallbackFactory<MyInstance> factory_; |
| +}; |
| + |
| +class MyModule : public pp::Module { |
| + public: |
| + MyModule() : pp::Module() {} |
| + virtual ~MyModule() {} |
| + |
| + virtual pp::Instance* CreateInstance(PP_Instance instance) { |
| + return new MyInstance(instance); |
| + } |
| +}; |
| + |
| +namespace pp { |
| + |
| +// Factory function for your specialization of the Module object. |
| +Module* CreateModule() { |
| + return new MyModule(); |
| +} |
| + |
| +} // namespace pp |
| Property changes on: ppapi/tests/manual/delete_plugin.cc |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |