michael@0: /* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: // must include config.h first for webkit to fiddle with new/delete michael@0: #include michael@0: #include "AndroidBridge.h" michael@0: #include "ANPBase.h" michael@0: #include "nsIPluginInstanceOwner.h" michael@0: #include "nsPluginInstanceOwner.h" michael@0: #include "nsNPAPIPluginInstance.h" michael@0: #include "gfxRect.h" michael@0: michael@0: using namespace mozilla; michael@0: using namespace mozilla; michael@0: michael@0: #define LOG(args...) __android_log_print(ANDROID_LOG_INFO, "GeckoPlugins" , ## args) michael@0: #define ASSIGN(obj, name) (obj)->name = anp_native_window_##name michael@0: michael@0: static ANPNativeWindow anp_native_window_acquireNativeWindow(NPP instance) { michael@0: nsNPAPIPluginInstance* pinst = static_cast(instance->ndata); michael@0: return pinst->AcquireContentWindow(); michael@0: } michael@0: michael@0: static void anp_native_window_invertPluginContent(NPP instance, bool isContentInverted) { michael@0: nsNPAPIPluginInstance* pinst = static_cast(instance->ndata); michael@0: pinst->SetInverted(isContentInverted); michael@0: pinst->RedrawPlugin(); michael@0: } michael@0: michael@0: michael@0: void InitNativeWindowInterface(ANPNativeWindowInterfaceV0* i) { michael@0: ASSIGN(i, acquireNativeWindow); michael@0: ASSIGN(i, invertPluginContent); michael@0: }