webengine/osswebengine/WebKit/s60/plugins/PluginStream.cpp
branchRCL_3
changeset 49 919f36ff910f
parent 48 79859ed3eea9
--- a/webengine/osswebengine/WebKit/s60/plugins/PluginStream.cpp	Tue Aug 31 16:17:46 2010 +0300
+++ b/webengine/osswebengine/WebKit/s60/plugins/PluginStream.cpp	Wed Sep 01 12:28:30 2010 +0100
@@ -15,7 +15,7 @@
 *
 */
 
-#include <sysutil.h>
+#include <SysUtil.h>
 #include "../../bidi.h"
 
 #include "Frame.h"
@@ -56,7 +56,7 @@
     m_loaderclient->stop();
 }
 
-void PluginStream::createNPStreamL(TPtrC8 url, TPtrC16 mimetype, long long length)
+void PluginStream::createNPStreamL(TPtrC8 url, TPtrC16 mimetype, long long length, const char* headers)
 {
     
     NPError error( NPERR_NO_ERROR );
@@ -84,7 +84,8 @@
             m_stream->url = url16->AllocL();
             m_stream->end = length;
             m_stream->lastmodified = 0; 
-            m_stream->notifyData = m_notifydata;    
+            m_stream->notifyData = m_notifydata;
+            m_stream->headers = headers;
 
             
             error = m_pluginskin->getNPPluginFucs()->newstream ( m_pluginskin->getNPP(), 
@@ -203,7 +204,7 @@
 
 }
 
-void PluginStream::destroyStream(int reason)
+void PluginStream::destroyStream(int reason, TDesC* failedUrl)
 {
     if (m_streamDestroyed) return;
         m_streamDestroyed = true;
@@ -235,8 +236,17 @@
     }
 
 
-    if ( m_pluginskin->getNPPluginFucs() && m_pluginskin->getNPPluginFucs()->destroystream ) {            
-        m_pluginskin->getNPPluginFucs()->destroystream( m_pluginskin->getNPP(), m_stream,  npreason);
+    if ( m_pluginskin->getNPPluginFucs() ) {
+    
+        if (m_stream && m_pluginskin->getNPPluginFucs()->destroystream){
+            m_pluginskin->getNPPluginFucs()->destroystream( m_pluginskin->getNPP(), m_stream,  npreason);
+            if (m_loaderclient->notify() && m_pluginskin->getNPPluginFucs()->urlnotify)
+                m_pluginskin->getNPPluginFucs()->urlnotify( m_pluginskin->getNPP(), m_stream->url->Des(), npreason, m_notifydata);                
+        }
+        
+        if(!m_stream && m_loaderclient->notify() && failedUrl && m_pluginskin->getNPPluginFucs()->urlnotify){
+            m_pluginskin->getNPPluginFucs()->urlnotify( m_pluginskin->getNPP(), *failedUrl, npreason, m_notifydata);
+        }
     }
     
     if (reason == KErrNone) {