webengine/osswebengine/WebKit/s60/plugins/PluginSkin.cpp
branchRCL_3
changeset 99 ca6d8a014f4b
parent 94 919f36ff910f
equal deleted inserted replaced
95:d96eed154187 99:ca6d8a014f4b
   166       m_oldViewport(TRect(0,0,0,0)),
   166       m_oldViewport(TRect(0,0,0,0)),
   167       m_NPObject(0),
   167       m_NPObject(0),
   168       m_handle(-1),
   168       m_handle(-1),
   169       m_instance(0),    
   169       m_instance(0),    
   170       m_pluginfuncs(0),
   170       m_pluginfuncs(0),
   171       m_resized(false)
   171       m_resized(false),
       
   172       m_OccReLoad(EFalse)
   172   {
   173   {
   173   }
   174   }
   174 
   175 
   175 
   176 
   176 void PluginSkin::addWidgetAttributesL()
   177 void PluginSkin::addWidgetAttributesL()
   774                 User::Leave( KErrNotSupported );
   775                 User::Leave( KErrNotSupported );
   775                 break;
   776                 break;
   776             }
   777             }
   777         }
   778         }
   778         
   779         
   779         if (m_pluginwin)
   780         if (m_pluginwin) {
   780             m_pluginwin->SetExtent( TPoint(0,0), TSize(0,0) );
   781             m_pluginwin->SetExtent( TPoint(0,0), TSize(0,0) );
       
   782             if (m_OccReLoad) {
       
   783                 setPluginWinClipedRect();
       
   784                 m_OccReLoad = EFalse;
       
   785             }
       
   786         }
   781     }
   787     }
   782 }
   788 }
   783 
   789 
   784 // -----------------------------------------------------------------------------
   790 // -----------------------------------------------------------------------------
   785 // PluginSkin::CreatePluginWinL
   791 // PluginSkin::CreatePluginWinL
  1286     return EWindowTypeUnknown;
  1292     return EWindowTypeUnknown;
  1287 }
  1293 }
  1288 
  1294 
  1289 void PluginSkin::reCreatePlugin()
  1295 void PluginSkin::reCreatePlugin()
  1290 {
  1296 {
       
  1297     TBool visible = EFalse;
       
  1298     if (m_pluginwin && m_pluginwin->IsVisible())
       
  1299         visible = ETrue;
       
  1300 
  1291     TBuf16<4> apId;
  1301     TBuf16<4> apId;
  1292     apId.Format( _L("%d"), m_frame->frameView()->topView()->accessPointId() );
  1302     apId.Format( _L("%d"), m_frame->frameView()->topView()->accessPointId() );
  1293     
  1303     
  1294     if (m_pluginwin ) {
  1304     if (m_pluginwin ) {
  1295         m_pluginwin->notifyAPChange((void*)&apId);
  1305         m_pluginwin->notifyAPChange((void*)&apId);
  1306         for (int i=0; i<streams.size(); ++i) {
  1316         for (int i=0; i<streams.size(); ++i) {
  1307             streams[i]->close();
  1317             streams[i]->close();
  1308         }
  1318         }
  1309         m_streams.clear();
  1319         m_streams.clear();
  1310     
  1320     
  1311         if (m_instance && m_pluginfuncs && m_pluginfuncs->destroy) {        
  1321         if (m_instance && m_pluginfuncs && m_pluginfuncs->destroy) {
  1312             m_pluginfuncs->destroy(m_instance, NULL);
  1322             m_pluginfuncs->destroy(m_instance, NULL);
  1313         }
  1323         }
  1314         User::Free(m_instance); m_instance = 0;
  1324         User::Free(m_instance); m_instance = 0;
  1315         delete m_pluginwin; m_pluginwin = 0;
  1325         delete m_pluginwin; m_pluginwin = 0;
  1316         delete iJavascriptTimer; iJavascriptTimer = 0;
  1326         delete iJavascriptTimer; iJavascriptTimer = 0;
  1323            
  1333            
  1324         //create/load the destroyed plugin again
  1334         //create/load the destroyed plugin again
  1325                     
  1335                     
  1326         NetscapePlugInStreamLoaderClient* pluginloader = NetscapePlugInStreamLoaderClient::NewL(m_url->Des(), this, core(m_frame));
  1336         NetscapePlugInStreamLoaderClient* pluginloader = NetscapePlugInStreamLoaderClient::NewL(m_url->Des(), this, core(m_frame));
  1327         if (pluginloader) {
  1337         if (pluginloader) {
       
  1338             if (visible) {
       
  1339                 m_OccReLoad = ETrue;
       
  1340             }
  1328             pluginloader->start();                            
  1341             pluginloader->start();                            
  1329         }                                                
  1342         }
  1330     }
  1343     }
  1331 }
  1344 }
  1332 
  1345 
  1333 // -----------------------------------------------------------------------------
  1346 // -----------------------------------------------------------------------------
  1334 // PluginWin::NotifyPluginsForScrollOrPinch
  1347 // PluginWin::NotifyPluginsForScrollOrPinch