webengine/osswebengine/WebCore/platform/symbian/StaticObjectsContainer.cpp
changeset 10 a359256acfc6
parent 5 10e98eab6f85
child 11 c8a366e56285
equal deleted inserted replaced
5:10e98eab6f85 10:a359256acfc6
    33 #include "WebCursor.h"
    33 #include "WebCursor.h"
    34 #include "PluginHandler.h"
    34 #include "PluginHandler.h"
    35 #include "WebCannedImages.h"
    35 #include "WebCannedImages.h"
    36 #include "OOMHandler.h"
    36 #include "OOMHandler.h"
    37 #include "SharedTimer.h"
    37 #include "SharedTimer.h"
       
    38 #include "TextEncoding.h"
    38 #include "TextEncodingRegistry.h"
    39 #include "TextEncodingRegistry.h"
    39 #include "CSSStyleSelector.h"
    40 #include "CSSStyleSelector.h"
    40 #include "RenderStyle.h"
    41 #include "RenderStyle.h"
    41 #include "Page.h"
    42 #include "Page.h"
    42 #include "Cache.h"
    43 #include "Cache.h"
    43 #include "StreamingTextCodecSymbian.h"
    44 #include "StreamingTextCodecSymbian.h"
    44 #include "HTMLNames.h"
    45 #include "HTMLNames.h"
    45 #include "XMLNames.h"
    46 #include "XMLNames.h"
       
    47 #include "MediaFeatureNames.h"
       
    48 #include "EventNames.h"
    46 #include "FontCache.h"
    49 #include "FontCache.h"
    47 #include "RenderThemeSymbian.h"
    50 #include "RenderThemeSymbian.h"
    48 #include "qualifiedname.h"
    51 #include "qualifiedname.h"
    49 #include "XMLTokenizer.h"
    52 #include "XMLTokenizer.h"
       
    53 #include "Document.h"
       
    54 #include "StyleElement.h"
       
    55 #include "bidi.h"
       
    56 #include "RenderBox.h"
       
    57 #include "FontCache.h"
       
    58 #include "MIMETypeRegistry.h"
       
    59 #include "ImageSymbian.h"
       
    60 #include "ResourceHandleManagerSymbian.h"
       
    61 #include "TextBreakIteratorSymbian.h"
       
    62 #include "HTMLElementFactory.h"
    50 #include <eikenv.h>
    63 #include <eikenv.h>
    51 
    64 
    52 #include "WidgetEngineBridge.h"
    65 #include "WidgetEngineBridge.h"
    53 #if defined(BRDO_LIW_FF)
    66 #if defined(BRDO_LIW_FF)
    54 #include "DeviceBridge.h"
    67 #include "DeviceBridge.h"
    95         else {
   108         else {
    96             m_screenRes = EHighScreenResolution;
   109             m_screenRes = EHighScreenResolution;
    97         }
   110         }
    98     }
   111     }
    99     m_oomHandler = new OOMHandler();
   112     m_oomHandler = new OOMHandler();
       
   113     initSharedTimer();
   100 }
   114 }
   101 
   115 
   102 StaticObjectsContainer::~StaticObjectsContainer()
   116 StaticObjectsContainer::~StaticObjectsContainer()
   103 {
   117 {
   104     // Run KJS collector to cleanup any remaining references
   118     // Run KJS collector to cleanup any remaining references
   118     delete m_pluginhandler;
   132     delete m_pluginhandler;
   119     delete m_symbianTheme;
   133     delete m_symbianTheme;
   120     gInstance = NULL;
   134     gInstance = NULL;
   121     deletePageStaticData();
   135     deletePageStaticData();
   122     CSSStyleSelector::deleteDefaultStyle();
   136     CSSStyleSelector::deleteDefaultStyle();
       
   137     deleteTextEncodings();
   123     deleteEncodingMaps();
   138     deleteEncodingMaps();
   124     RenderStyle::deleteDefaultRenderStyle();
   139     RenderStyle::deleteDefaultRenderStyle();
   125     Cache::deleteStaticCache();
   140     Cache::deleteStaticCache();
   126     TextCodecSymbian::deleteStatAvailCharsets();
   141     TextCodecSymbian::deleteStatAvailCharsets();
   127     QualifiedName::cleanup();
   142     QualifiedName::cleanup();
   128     XMLNames::remove();
   143     XMLNames::remove();
       
   144 	cleanupChangedDocuments();
       
   145 	mappedAttributeCleaner();
       
   146 	cleanupMidpoints();
       
   147 	cleanOverridSizeMap();
       
   148 	cleanupFontDataCache();
       
   149 	cleanupMimeTypes();
       
   150 	cleanupHandleManager();
       
   151 	cleanupFuncMap();
       
   152 	cleanupIconFileName();
       
   153 	cleanupIterators();
       
   154 
       
   155 #ifndef __WINSCW__    
       
   156     WebCore::MediaFeatureNames::remove();
       
   157     WebCore::EventNames::remove();
       
   158 #endif  // __WINSCW__    
       
   159     
   129     // HTMLNames::remove() will destroy the AtomicString table
   160     // HTMLNames::remove() will destroy the AtomicString table
   130     // All other atomic string destruction must be done before this call
   161     // All other atomic string destruction must be done before this call
   131     //
   162     //
   132     HTMLNames::remove();
   163     HTMLNames::remove();
   133     XMLTokenizer::cleanupXMLStringParser();
   164     XMLTokenizer::cleanupXMLStringParser();
   238     }
   269     }
   239     return m_pluginhandler;
   270     return m_pluginhandler;
   240 }
   271 }
   241 
   272 
   242 #if defined(BRDO_LIW_FF)
   273 #if defined(BRDO_LIW_FF)
   243 MDeviceBridge* StaticObjectsContainer::getDeviceBridgeL()
   274 RLibrary& StaticObjectsContainer::getDeviceBridgeLibL()
   244 {
   275 {
   245     MDeviceBridge* device(NULL);
       
   246     
       
   247     if( !m_deviceLibrary.Handle() ) {
   276     if( !m_deviceLibrary.Handle() ) {
   248         _LIT( KDeviceDLLName, "jsdevice.dll" );
   277         _LIT( KDeviceDLLName, "jsdevice.dll" );
   249         User::LeaveIfError( m_deviceLibrary.Load(KDeviceDLLName) );
   278         User::LeaveIfError( m_deviceLibrary.Load(KDeviceDLLName) );
   250     }
   279     }
   251     
   280     return m_deviceLibrary;
   252     TLibraryFunction device_entry = m_deviceLibrary.Lookup(1);
       
   253     if (device_entry) {
       
   254         device = (MDeviceBridge*) device_entry();
       
   255     }
       
   256     return device;
       
   257 }
   281 }
   258 #endif 
   282 #endif 
   259 
   283 
   260 MWidgetEngineBridge* StaticObjectsContainer::getWidgetEngineBridgeL()
   284 RLibrary& StaticObjectsContainer::getWidgetEngineBridgeLibL()
   261 {
   285 {
   262     MWidgetEngineBridge* widget(NULL);
       
   263     
       
   264     if( !m_widgetLibrary.Handle() ) {
   286     if( !m_widgetLibrary.Handle() ) {
   265         _LIT( KBrowserWidgetEngineName, "widgetengine.dll" );
   287         _LIT( KBrowserWidgetEngineName, "widgetengine.dll" );
   266         User::LeaveIfError( m_widgetLibrary.Load(KBrowserWidgetEngineName) );
   288         User::LeaveIfError( m_widgetLibrary.Load(KBrowserWidgetEngineName) );
   267     }
   289     }
   268     
   290     return m_widgetLibrary;    
   269     TLibraryFunction entry = m_widgetLibrary.Lookup(1);
       
   270     if (entry) {
       
   271         widget = (MWidgetEngineBridge*) entry(); 
       
   272     }
       
   273     return widget;    
       
   274 }
   291 }
   275 
   292 
   276 CBrCtl* StaticObjectsContainer::brctl() const
   293 CBrCtl* StaticObjectsContainer::brctl() const
   277 {
   294 {
   278     if (m_activeBrCtls.size() > 0)
   295     if (m_activeBrCtls.size() > 0)