diff -r 7c90e6132015 -r 10e98eab6f85 webengine/widgetengine/inc/WidgetEngineBridge.h --- a/webengine/widgetengine/inc/WidgetEngineBridge.h Fri May 08 08:25:06 2009 +0300 +++ b/webengine/widgetengine/inc/WidgetEngineBridge.h Fri Jul 03 15:54:40 2009 +0100 @@ -26,6 +26,8 @@ #include #include "BrCtlDefs.h" #include "WidgetEngineCallbacks.h" +#include "WidgetJSObjectProtector.h" +#include "wtf/HashSet.h" // CONSTANTS @@ -41,6 +43,10 @@ class MWidgetCallback; class WidgetPreferences; +namespace KJS { + class JSValue; +} + // CLASS DECLARATION class MWidgetEngineBridge { @@ -57,7 +63,8 @@ virtual void AddOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aResourceId) = 0; virtual void MenuItemSelected( TInt aInternalId ) = 0; virtual void MenuShowed() = 0; - virtual void DrawTransition(CWindowGc& gc, CFbsBitmap* fbsBm) = 0; + virtual void DrawTransition(CWindowGc& gc, CFbsBitmap* fbsBm) = 0; + virtual void Clear() = 0; }; @@ -68,7 +75,7 @@ * @since 3.1 */ -NONSHARABLE_CLASS( WidgetEngineBridge ): public MWidgetEngineBridge +NONSHARABLE_CLASS( WidgetEngineBridge ): public MWidgetEngineBridge, public MJSObjectProtector { public: WidgetEngineBridge(); @@ -87,12 +94,17 @@ void AddOptionMenuItemsL(CEikMenuPane& aMenuPane, TInt aResourceId); void MenuItemSelected( TInt aInternalId ); void MenuShowed(); - void DrawTransition(CWindowGc& gc, CFbsBitmap* fbsBm); + void DrawTransition(CWindowGc& gc, CFbsBitmap* fbsBm); + void Clear(); + + void Protect(KJS::JSValue* obj); + void Unprotect(KJS::JSValue* obj); private: - CMenuClient* m_menuclient; - CWidgetClient* m_widgetclient; - WidgetPreferences* m_preferences; + CMenuClient* m_menuclient; + CWidgetClient* m_widgetclient; + WidgetPreferences* m_preferences; + WTF::HashSet m_protectedObjects; };