Changeset 24940 in webkit


Ignore:
Timestamp:
Aug 8, 2007 2:51:54 PM (17 years ago)
Author:
spadma
Message:

2007-08-06 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: (CPluginSkin::Frame):
  • Plugin/src/PluginSkin.cpp: (COOMPluginCollector::COOMPluginCollector): (COOMPluginCollector::~COOMPluginCollector): (COOMPluginCollector::Collect): (COOMPluginCollector::Restore): (COOMPluginCollector::Priority): (COOMPluginCollector::IsCollecting): (CPluginSkin::ConstructL): (CPluginSkin::~CPluginSkin): (CPluginSkin::RemovePluginWin):
Location:
S60/branches/3.1m/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • S60/branches/3.1m/WebKit/ChangeLog

    r24939 r24940  
     12007-08-06 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        (CPluginSkin::Frame):
     8        * Plugin/src/PluginSkin.cpp:
     9        (COOMPluginCollector::COOMPluginCollector):
     10        (COOMPluginCollector::~COOMPluginCollector):
     11        (COOMPluginCollector::Collect):
     12        (COOMPluginCollector::Restore):
     13        (COOMPluginCollector::Priority):
     14        (COOMPluginCollector::IsCollecting):
     15        (CPluginSkin::ConstructL):
     16        (CPluginSkin::~CPluginSkin):
     17        (CPluginSkin::RemovePluginWin):
     18
    1192007-08-08  yadavall  <sriram.yadavalli@nokia.com>
    220
  • S60/branches/3.1m/WebKit/Plugin/inc/PluginSkin.h

    r21537 r24940  
    5858class CPluginLoader;
    5959class CWebKitControl;
     60class COOMPluginCollector;
    6061
    6162/**
     
    7071                    public MWebCoreObjectWidget,
    7172                    public MPluginInstance
    72 
     73                       
    7374  {
    7475    public: //  Constructors and destructor
     
    178179        * @return The WebKitControl object
    179180        */
    180         CWebKitFrame* Frame() const { return iWebKitFrame; }
     181        CWebKitFrame* Frame() const { return iWebKitFrame; } 
    181182
    182183        /**
     
    196197    void Resized() { iResized = ETrue; }
    197198
    198 
     199        /**
     200        * RemovePluginWin
     201        * Remove plugin window on the skin
     202        * @since 3.2
     203        * @return
     204        */
     205    void RemovePluginWin();   
     206   
    199207    public: // Methods From MWebCoreObjectWidget
    200208
     
    378386        * @return
    379387        */
    380         void *PluginScriptableObject();
     388        void *PluginScriptableObject();
     389
    381390  public: // Functions from MViewFocusObserver
    382391
     
    451460        HBufC* iUrl;
    452461
    453     // ETrue if plugin has resized
    454     TBool iResized;
    455 
    456     //ETrue if plugin can be activated to interact with user. Only if plugin is generated from external js
    457     TBool iCanPluginInteract;
    458 
     462        // ETrue if plugin has resized
     463        TBool iResized;
     464
     465        //ETrue if plugin can be activated to interact with user. Only if plugin is generated from external js
     466        TBool iCanPluginInteract;
     467
     468        COOMPluginCollector* iOOMCollector;
    459469    };
    460470#endif //  __PLUGINSKIN_H__
  • S60/branches/3.1m/WebKit/Plugin/src/PluginSkin.cpp

    r21537 r24940  
    5454#include "WebUiCRKeys.h"
    5555#else
    56 #include <BrowserUiInternalCRKeys.h>
     56#include <BrowserUiSDKCRKeys.h>
    5757#endif
    5858
     
    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// ----------------------------------------------------------------------------
     
    141155                              TBool aHasFallbackContent)
    142156    {
     157    iOOMCollector = new (ELeave) COOMPluginCollector( this );
    143158    // Get the canned object images
    144159    CCannedImages& cannedImages = CStaticObjectContainer::Instance().CannedImagesL();
     
    286301    delete iPluginLoader;
    287302    delete iUrl;
     303    delete iOOMCollector;
    288304    }
    289305
     
    696712    }
    697713
     714// -----------------------------------------------------------------------------
     715// CPluginSkin::RemovePluginWin
     716// Remove plugin window
     717// -----------------------------------------------------------------------------
     718//
     719void CPluginSkin::RemovePluginWin()
     720    {
     721    delete iPluginWin;
     722    iPluginWin = NULL;       
     723    }
Note: See TracChangeset for help on using the changeset viewer.