// Copyright (c) 2006-2008 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. #ifndef GPU_NP_UTILS_NP_BROWSER_STUB_H_ #define GPU_NP_UTILS_NP_BROWSER_STUB_H_ #include #include #include "gpu/np_utils/np_browser.h" namespace np_utils { // Simple implementation of subset of the NPN functions for testing. class StubNPBrowser : public NPBrowser { public: StubNPBrowser(); virtual ~StubNPBrowser(); // Standard functions from NPNetscapeFuncs. virtual NPIdentifier GetStringIdentifier(const NPUTF8* name); virtual void* MemAlloc(size_t size); virtual void MemFree(void* p); virtual NPObject* CreateObject(NPP npp, const NPClass* cl); virtual NPObject* RetainObject(NPObject* object); virtual void ReleaseObject(NPObject* object); virtual void ReleaseVariantValue(NPVariant* variant); virtual bool HasProperty(NPP npp, NPObject* object, NPIdentifier name); virtual bool GetProperty(NPP npp, NPObject* object, NPIdentifier name, NPVariant* result); virtual bool SetProperty(NPP npp, NPObject* object, NPIdentifier name, const NPVariant* result); virtual bool RemoveProperty(NPP npp, NPObject* object, NPIdentifier name); virtual bool HasMethod(NPP npp, NPObject* object, NPIdentifier name); virtual bool Invoke(NPP npp, NPObject* object, NPIdentifier name, const NPVariant* args, uint32_t num_args, NPVariant* result); virtual NPObject* GetWindowNPObject(NPP npp); virtual void PluginThreadAsyncCall(NPP npp, PluginThreadAsyncCallProc callback, void* data); virtual uint32 ScheduleTimer(NPP npp, uint32 interval, bool repeat, TimerProc callback); virtual void UnscheduleTimer(NPP npp, uint32 timer_id); private: DISALLOW_COPY_AND_ASSIGN(StubNPBrowser); }; } // namespace np_utils #endif // GPU_NP_UTILS_NP_BROWSER_STUB_H_