Changeset 24855 in webkit


Ignore:
Timestamp:
Aug 3, 2007 2:41:23 PM (17 years ago)
Author:
spadma
Message:

2007-07-24 vmalaiya, <vikram.malaiya@nokia.com>

Reviewed by Sachin
DESC: VMAA-75EP3L - Browser plugin does not implement memory collection on an out-of-memory condition
http://bugs.webkit.org/show_bug.cgi?id=14753


  • Plugin/inc/PluginSkin.h:
  • Plugin/src/PluginSkin.cpp: (COOMPluginCollector::COOMPluginCollector): (COOMPluginCollector::~COOMPluginCollector): (COOMPluginCollector::Collect): (COOMPluginCollector::Restore): (COOMPluginCollector::Priority): (COOMPluginCollector::IsCollecting): (CPluginSkin::ConstructL): (CPluginSkin::~CPluginSkin): (CPluginSkin::CreatePluginWinL):
Location:
S60/trunk/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • S60/trunk/WebKit/ChangeLog

    r24853 r24855  
     12007-07-24 vmalaiya, <vikram.malaiya@nokia.com>
     2 Reviewed by Sachin
     3 DESC: VMAA-75EP3L - Browser plugin does not implement memory collection on an out-of-memory condition
     4 http://bugs.webkit.org/show_bug.cgi?id=14753
     5       
     6        * Plugin/inc/PluginSkin.h:
     7        * Plugin/src/PluginSkin.cpp:
     8        (COOMPluginCollector::COOMPluginCollector):
     9        (COOMPluginCollector::~COOMPluginCollector):
     10        (COOMPluginCollector::Collect):
     11        (COOMPluginCollector::Restore):
     12        (COOMPluginCollector::Priority):
     13        (COOMPluginCollector::IsCollecting):
     14        (CPluginSkin::ConstructL):
     15        (CPluginSkin::~CPluginSkin):
     16        (CPluginSkin::CreatePluginWinL):
     17
    118yadavall, reviewed by <sachin.padma@nokia.com>
    219 DESC: Center key press must be sent to Engine
  • S60/trunk/WebKit/Plugin/inc/PluginSkin.h

    r23884 r24855  
    5858class CPluginLoader;
    5959class CWebKitControl;
     60class COOMPluginCollector;
    6061
    6162/**
     
    465466        HBufC* iUrl;
    466467
    467     // ETrue if plugin has resized
    468     TBool iResized;
    469 
    470     //ETrue if plugin can be activated to interact with user. Only if plugin is generated from external js
    471     TBool iCanPluginInteract;
    472 
    473     TRect iPluginWinClipRect;
     468        // ETrue if plugin has resized
     469        TBool iResized;
     470
     471        //ETrue if plugin can be activated to interact with user. Only if plugin is generated from external js
     472        TBool iCanPluginInteract;
     473
     474        COOMPluginCollector* iOOMCollector;
     475
     476        TRect iPluginWinClipRect;
    474477    };
    475478#endif //  __PLUGINSKIN_H__
  • S60/trunk/WebKit/Plugin/src/PluginSkin.cpp

    r24648 r24855  
    6666#include "WebKitFrame.h"
    6767#include "CannedImages.h"
    68 #include "BrCtl.h"
    6968#include "WebKitView.h"
    7069#include "WebKitControl.h"
    7170#include "WebCoreGraphicsContext.h"
    7271#include "WidgetExtension.h"
     72#include "MemoryManager.h"
    7373
    7474// CONSTANTS
     
    9393
    9494//DATATYPES
     95
     96class COOMPluginCollector : public MMemoryCollector, public CBase
     97{
     98public:
     99    COOMPluginCollector(CPluginSkin* aPlugin) : iPlugin( aPlugin )   { MemoryManager::AddCollector( this ); }
     100    ~COOMPluginCollector()              { MemoryManager::RemoveCollector( this );}
     101    TUint Collect(TUint /*aRequired*/)  { iPlugin->RemovePluginWin(); iIsCollecting = ETrue; return 0; }
     102    void Restore()                      { iIsCollecting = EFalse; }
     103    TOOMPriority Priority()             { return EOOM_PriorityLow; }
     104    TBool IsCollecting()                { return iIsCollecting; }   
     105 private:   
     106    CPluginSkin*                        iPlugin;
     107    TBool                               iIsCollecting;
     108};
    95109
    96110// ----------------------------------------------------------------------------
     
    144158                              TBool aHasFallbackContent)
    145159    {
     160    iOOMCollector = new (ELeave) COOMPluginCollector( this );
    146161    // Get the canned object images
    147162    CCannedImages& cannedImages = CStaticObjectContainer::Instance().CannedImagesL();
     
    293308    delete iPluginLoader;
    294309    delete iUrl;
     310    delete iOOMCollector;
    295311    }
    296312
     
    608624                }
    609625            }
    610     //Set the cliprect to plugwin
    611     iPluginWinClipRect = iRect;
    612     iPluginWinClipRect.Intersection(iWebKitFrame->WebKitView().MainFrame().FrameRect());
     626        //Set the cliprect to plugwin
     627        iPluginWinClipRect = iRect;
     628        iPluginWinClipRect.Intersection(iWebKitFrame->WebKitView().MainFrame().FrameRect());
    613629
    614630        if ( !iIsSoundstart )
Note: See TracChangeset for help on using the changeset viewer.