/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef mozilla_plugins_PluginWidgetParent_h #define mozilla_plugins_PluginWidgetParent_h #include "mozilla/plugins/PPluginWidgetParent.h" #include "nsIWidget.h" #include "nsCOMPtr.h" #if defined(MOZ_WIDGET_GTK) class nsPluginNativeWindowGtk; #endif namespace mozilla { namespace dom { class TabParent; } namespace plugins { class PluginWidgetParent : public PPluginWidgetParent { public: PluginWidgetParent(); virtual ~PluginWidgetParent(); virtual void ActorDestroy(ActorDestroyReason aWhy) MOZ_OVERRIDE; virtual bool RecvCreate() MOZ_OVERRIDE; virtual bool RecvDestroy() MOZ_OVERRIDE; virtual bool RecvShow(const bool& aState) MOZ_OVERRIDE; virtual bool RecvSetFocus(const bool& aRaise) MOZ_OVERRIDE; virtual bool RecvInvalidate(const nsIntRect& aRect) MOZ_OVERRIDE; virtual bool RecvGetNativePluginPort(uintptr_t* value) MOZ_OVERRIDE; virtual bool RecvResize(const nsIntRect& aRect) MOZ_OVERRIDE; virtual bool RecvMove(const double& aX, const double& aY) MOZ_OVERRIDE; virtual bool RecvSetWindowClipRegion(const nsTArray& Regions, const bool& aIntersectWithExisting) MOZ_OVERRIDE; private: // The tab our connection is associated with. mozilla::dom::TabParent* GetTabParent(); // The chrome side native widget. nsCOMPtr mWidget; #if defined(MOZ_WIDGET_GTK) UniquePtr mWrapper; #endif }; } // namespace plugins } // namespace mozilla #endif // mozilla_plugins_PluginWidgetParent_h