equal
deleted
inserted
replaced
18 //INCLUDES |
18 //INCLUDES |
19 #include <Browser_Platform_Variant.hrh> |
19 #include <Browser_Platform_Variant.hrh> |
20 #include "../../bidi.h" |
20 #include "../../bidi.h" |
21 #include "PlatformString.h" |
21 #include "PlatformString.h" |
22 #include <centralrepository.h> |
22 #include <centralrepository.h> |
23 #include <BrowserUiSDKCRKeys.h> |
23 #include <browseruisdkcrkeys.h> |
24 #include "PluginSkin.h" |
24 #include "PluginSkin.h" |
25 #include "PluginWin.h" |
25 #include "PluginWin.h" |
26 #include "PluginHandler.h" |
26 #include "PluginHandler.h" |
27 #include "PluginStreamLoaderClient.h" |
27 #include "PluginStreamLoaderClient.h" |
28 #include "PluginStream.h" |
28 #include "PluginStream.h" |
31 #include "WebView.h" |
31 #include "WebView.h" |
32 #include "WebPageFullScreenHandler.h" |
32 #include "WebPageFullScreenHandler.h" |
33 #include "BrCtl.h" |
33 #include "BrCtl.h" |
34 #include "WebCoreGraphicsContext.h" |
34 #include "WebCoreGraphicsContext.h" |
35 #include "StaticObjectsContainer.h" |
35 #include "StaticObjectsContainer.h" |
36 #include "BrCtlDefs.h" |
36 #include "brctldefs.h" |
37 #include "SettingsContainer.h" |
37 #include "SettingsContainer.h" |
38 #include <Uri8.h> |
38 #include <Uri8.h> |
39 #include <StringLoader.h> |
39 #include <StringLoader.h> |
40 #include <Webkit.rsg> |
40 #include <Webkit.rsg> |
41 #include "Frame.h" |
41 #include "Frame.h" |
45 #include "Widget.h" |
45 #include "Widget.h" |
46 #include "PlatformScrollBar.h" |
46 #include "PlatformScrollBar.h" |
47 |
47 |
48 #include <ApEngineConsts.h> |
48 #include <ApEngineConsts.h> |
49 #include <Uri8.h> |
49 #include <Uri8.h> |
50 #include <InternetConnectionManager.h> |
50 #include <internetconnectionmanager.h> |
51 #include <es_enum.h> |
51 #include <es_enum.h> |
52 #include <TextEncoding.h> |
|
53 #include "CString.h" |
|
54 #include "WidgetExtension.h" |
52 #include "WidgetExtension.h" |
55 #include <WidgetRegistryClient.h> |
53 #include <widgetregistryclient.h> |
56 |
54 |
57 // CONSTANTS |
55 // CONSTANTS |
58 using namespace WebCore; |
56 using namespace WebCore; |
59 // scheme for RTSP url |
57 // scheme for RTSP url |
60 _LIT8(KRtsp, "rtsp"); |
58 _LIT8(KRtsp, "rtsp"); |
802 TPluginLoadMode loadmode = GetLoadMode(aWindowType); |
800 TPluginLoadMode loadmode = GetLoadMode(aWindowType); |
803 |
801 |
804 if (url.Ptr() == NULL ) { |
802 if (url.Ptr() == NULL ) { |
805 return KErrArgument; |
803 return KErrArgument; |
806 } |
804 } |
807 |
805 _LIT8(KSwfExtn, ".swf"); |
808 _LIT8(KJs, "javascript:"); |
806 _LIT8(KJs, "javascript:"); |
809 if ((url.Length() > KJs().Length() ) &&(url.Left(KJs().Length()).FindF(KJs) == 0)) { |
807 if ((url.Length() > KJs().Length() ) &&(url.Left(KJs().Length()).FindF(KJs) == 0)) { |
810 HBufC* pBuffer = HBufC::NewL(url.Length()); |
808 HBufC* pBuffer = HBufC::NewL(url.Length()); |
811 TPtr16 temp = pBuffer->Des(); |
809 TPtr16 temp = pBuffer->Des(); |
812 temp.Copy(url); |
810 temp.Copy(url); |
822 |
820 |
823 // make sure it is an absolute URL |
821 // make sure it is an absolute URL |
824 HBufC8* absoluteUrl = makeAbsoluteUrlL(*m_url, url); |
822 HBufC8* absoluteUrl = makeAbsoluteUrlL(*m_url, url); |
825 CleanupStack::PushL(absoluteUrl); |
823 CleanupStack::PushL(absoluteUrl); |
826 |
824 |
827 if (loadmode == ELoadModePlugin ) { |
825 if( (loadmode == ELoadModePlugin ) || (url.FindF(KSwfExtn)!= KErrNotFound) ){ |
828 |
826 |
829 if (m_instance && m_pluginfuncs) { |
827 if (m_instance && m_pluginfuncs) { |
830 |
828 |
831 NetscapePlugInStreamLoaderClient* pluginloader = NetscapePlugInStreamLoaderClient::NewL(url, this, core(m_frame), notifydata); |
829 NetscapePlugInStreamLoaderClient* pluginloader = NetscapePlugInStreamLoaderClient::NewL(url, this, core(m_frame), notifydata); |
832 if (pluginloader) { |
830 if (pluginloader) { |
905 else{ |
903 else{ |
906 |
904 |
907 int start_content = buffer.Find(KRequestEOH()); |
905 int start_content = buffer.Find(KRequestEOH()); |
908 start_content = (start_content != KErrNotFound) ? start_content+ KRequestEOH().Length() : 0; |
906 start_content = (start_content != KErrNotFound) ? start_content+ KRequestEOH().Length() : 0; |
909 |
907 |
910 HBufC* body = HBufC::NewLC(buffer.Mid(start_content).Length()+1); |
908 HBufC8* body = HBufC8::NewLC(buffer.Mid(start_content).Length()); |
911 body->Des().Copy(buffer.Mid(start_content)); |
909 body->Des().Copy(buffer.Mid(start_content)); |
912 TextEncoding *ecoder = new TextEncoding(core(mainFrame(m_frame))->loader()->encoding()); |
910 FormData* fd = new (ELeave) FormData(body->Ptr(),body->Length()); |
913 CString decoded_body = ecoder->encode(body->Des().PtrZ(),body->Length()); |
|
914 FormData* fd = new (ELeave) FormData(decoded_body.data(),decoded_body.length()); |
|
915 request.setHTTPBody(fd); |
911 request.setHTTPBody(fd); |
916 CleanupStack::PopAndDestroy(); // body |
912 CleanupStack::PopAndDestroy(); // body |
917 } |
913 } |
918 |
914 |
919 |
915 |
1048 TBool isPluginVisible = frameRectInViewCoord.Intersects(fullRect); |
1044 TBool isPluginVisible = frameRectInViewCoord.Intersects(fullRect); |
1049 TBool isFrameVisible = m_frame->frameView()->isVisible() && |
1045 TBool isFrameVisible = m_frame->frameView()->isVisible() && |
1050 frameRectInViewCoord.Intersects(viewRect); |
1046 frameRectInViewCoord.Intersects(viewRect); |
1051 |
1047 |
1052 if (m_pluginwin) { |
1048 if (m_pluginwin) { |
1053 m_pluginwin->makeVisible( isFrameVisible && !isPageViewMode && isPluginVisible); |
1049 TBool visibility = isFrameVisible && !isPageViewMode && isPluginVisible; |
1054 if (!m_pluginwin->isPluginInFullscreen()) { |
1050 m_pluginwin->makeVisible(visibility); |
|
1051 if (!m_pluginwin->isPluginInFullscreen() && visibility) { |
1055 clipRect.Intersection(fullRect); |
1052 clipRect.Intersection(fullRect); |
1056 m_pluginwin->SetRect(clipRect); |
1053 m_pluginwin->SetRect(clipRect); |
1057 } |
1054 } |
1058 } |
1055 } |
1059 } |
1056 } |