138 void WebFrameLoaderClient::makeRepresentation(DocumentLoader* docLoader) |
138 void WebFrameLoaderClient::makeRepresentation(DocumentLoader* docLoader) |
139 { |
139 { |
140 if (isWMLContent(m_response.mimeType())) { |
140 if (isWMLContent(m_response.mimeType())) { |
141 // call the WmlDispatcher Headers routine to set the WML flag |
141 // call the WmlDispatcher Headers routine to set the WML flag |
142 if (! m_WmlContentListener) { |
142 if (! m_WmlContentListener) { |
143 m_WmlContentListener = CWmlDispatcher::NewL(brctl(m_webFrame), core(m_webFrame) ); |
143 TRAPD(err, m_WmlContentListener = CWmlDispatcher::NewL(brctl(m_webFrame), core(m_webFrame) )); |
144 brctl(m_webFrame)->setWmlDispatcher(m_WmlContentListener); |
144 if((err == KErrNone) && (m_WmlContentListener != NULL)) |
|
145 { |
|
146 brctl(m_webFrame)->setWmlDispatcher(m_WmlContentListener); |
|
147 } |
145 } |
148 } |
146 TRAPD(err,m_WmlContentListener->HeadersL( 0, m_response )); |
149 TRAPD(err,m_WmlContentListener->HeadersL( 0, m_response )); |
147 } |
150 } |
148 else{ |
151 else{ |
149 if (m_WmlContentListener) { |
152 if (m_WmlContentListener) { |
158 FrameLoadTypeStandard == core(m_webFrame)->loader()->loadType()){ |
161 FrameLoadTypeStandard == core(m_webFrame)->loader()->loadType()){ |
159 m_webFrame->frameView()->topView()->resetZoomLevel(); |
162 m_webFrame->frameView()->topView()->resetZoomLevel(); |
160 } |
163 } |
161 |
164 |
162 if (!core(m_webFrame)->ownerElement()) { |
165 if (!core(m_webFrame)->ownerElement()) { |
163 brctl(m_webFrame)->settings()->setTabbedNavigation(!(brctl(m_webFrame)->capabilities()&TBrCtlDefs::ECapabilityCursorNavigation)); |
166 brctl(m_webFrame)->settings()->setNavigationType((brctl(m_webFrame)->capabilities()&TBrCtlDefs::ECapabilityCursorNavigation) ? SettingsContainer::NavigationTypeCursor : SettingsContainer::NavigationTypeTabbed); |
164 StaticObjectsContainer::instance()->webCursor()->cursorUpdate(true); |
167 StaticObjectsContainer::instance()->webCursor()->cursorUpdate(true); |
165 m_webFrame->frameView()->topView()->tabbedNavigation()->clear(); |
168 m_webFrame->frameView()->topView()->tabbedNavigation()->clear(); |
166 } |
169 } |
167 } |
170 } |
168 } |
171 } |
268 |
271 |
269 if (originalURL && [download respondsToSelector:@selector(_setOriginatingURL:)]) |
272 if (originalURL && [download respondsToSelector:@selector(_setOriginatingURL:)]) |
270 [download _setOriginatingURL:originalURL]; |
273 [download _setOriginatingURL:originalURL]; |
271 */ |
274 */ |
272 StaticObjectsContainer::instance()->resourceLoaderDelegate()->download(handle, request, response); |
275 StaticObjectsContainer::instance()->resourceLoaderDelegate()->download(handle, request, response); |
|
276 TRAP_IGNORE( |
273 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventNewUrlContentArrived, 0, 0 ); // must send this for progress bar to go away |
277 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventNewUrlContentArrived, 0, 0 ); // must send this for progress bar to go away |
274 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventUrlLoadingFinished, 0, 0 ); |
278 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventUrlLoadingFinished, 0, 0 ); |
275 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventContentFinished, 0, 0 ); |
279 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventContentFinished, 0, 0 ); |
276 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventLoadFinished, 0, 0 ); |
280 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventLoadFinished, 0, 0 ); |
|
281 ); |
277 } |
282 } |
278 |
283 |
279 void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&) |
284 void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&) |
280 { |
285 { |
281 /* |
286 /* |
549 if (implementations.delegateImplementsDidStartProvisionalLoadForFrame) { |
556 if (implementations.delegateImplementsDidStartProvisionalLoadForFrame) { |
550 id frameLoadDelegate = WebViewGetFrameLoadDelegate(webView); |
557 id frameLoadDelegate = WebViewGetFrameLoadDelegate(webView); |
551 implementations.didStartProvisionalLoadForFrameFunc(frameLoadDelegate, @selector(webView:didStartProvisionalLoadForFrame:), webView, m_webFrame.get()); |
558 implementations.didStartProvisionalLoadForFrameFunc(frameLoadDelegate, @selector(webView:didStartProvisionalLoadForFrame:), webView, m_webFrame.get()); |
552 } |
559 } |
553 */ |
560 */ |
|
561 TRAP_IGNORE( |
554 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventNewContentStart, 0, 0 ); |
562 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventNewContentStart, 0, 0 ); |
|
563 ); |
555 notImplemented(); |
564 notImplemented(); |
556 } |
565 } |
557 |
566 |
558 void WebFrameLoaderClient::dispatchDidReceiveTitle(const String& title) |
567 void WebFrameLoaderClient::dispatchDidReceiveTitle(const String& title) |
559 { |
568 { |
563 if (implementations.delegateImplementsDidReceiveTitleForFrame) { |
572 if (implementations.delegateImplementsDidReceiveTitleForFrame) { |
564 id frameLoadDelegate = WebViewGetFrameLoadDelegate(webView); |
573 id frameLoadDelegate = WebViewGetFrameLoadDelegate(webView); |
565 implementations.didReceiveTitleForFrameFunc(frameLoadDelegate, @selector(webView:didReceiveTitle:forFrame:), webView, title, m_webFrame.get()); |
574 implementations.didReceiveTitleForFrameFunc(frameLoadDelegate, @selector(webView:didReceiveTitle:forFrame:), webView, title, m_webFrame.get()); |
566 } |
575 } |
567 */ |
576 */ |
|
577 TRAP_IGNORE( |
568 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventTitleAvailable, 0, 0 ); |
578 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventTitleAvailable, 0, 0 ); |
|
579 ); |
569 notImplemented(); |
580 notImplemented(); |
570 } |
581 } |
571 |
582 |
572 void WebFrameLoaderClient::dispatchDidCommitLoad() |
583 void WebFrameLoaderClient::dispatchDidCommitLoad() |
573 { |
584 { |
582 if (implementations.delegateImplementsDidCommitLoadForFrame) { |
593 if (implementations.delegateImplementsDidCommitLoadForFrame) { |
583 id frameLoadDelegate = WebViewGetFrameLoadDelegate(webView); |
594 id frameLoadDelegate = WebViewGetFrameLoadDelegate(webView); |
584 implementations.didCommitLoadForFrameFunc(frameLoadDelegate, @selector(webView:didCommitLoadForFrame:), webView, m_webFrame.get()); |
595 implementations.didCommitLoadForFrameFunc(frameLoadDelegate, @selector(webView:didCommitLoadForFrame:), webView, m_webFrame.get()); |
585 } |
596 } |
586 */ |
597 */ |
|
598 TRAP_IGNORE( |
587 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventTitleAvailable, 0, 0 ); |
599 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventTitleAvailable, 0, 0 ); |
|
600 ); |
588 } |
601 } |
589 |
602 |
590 void WebFrameLoaderClient::dispatchDidFailProvisionalLoad(const ResourceError& error) |
603 void WebFrameLoaderClient::dispatchDidFailProvisionalLoad(const ResourceError& error) |
591 { |
604 { |
592 /* |
605 /* |
602 // |
615 // |
603 if (brctl(m_webFrame)->wmlMode() && m_WmlContentListener) { |
616 if (brctl(m_webFrame)->wmlMode() && m_WmlContentListener) { |
604 m_WmlContentListener->HandleError(0,error.errorCode()); |
617 m_WmlContentListener->HandleError(0,error.errorCode()); |
605 } |
618 } |
606 // |
619 // |
|
620 TRAP_IGNORE( |
607 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventLoadError, 0, 0 ); |
621 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventLoadError, 0, 0 ); |
|
622 ); |
608 notImplemented(); |
623 notImplemented(); |
609 } |
624 } |
610 |
625 |
611 void WebFrameLoaderClient::dispatchDidFailLoad(const ResourceError& error) |
626 void WebFrameLoaderClient::dispatchDidFailLoad(const ResourceError& error) |
612 { |
627 { |
625 // |
640 // |
626 if (brctl(m_webFrame)->wmlMode() && m_WmlContentListener) { |
641 if (brctl(m_webFrame)->wmlMode() && m_WmlContentListener) { |
627 m_WmlContentListener->HandleError(0,error.errorCode()); |
642 m_WmlContentListener->HandleError(0,error.errorCode()); |
628 } |
643 } |
629 // |
644 // |
|
645 TRAP_IGNORE( |
630 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventLoadError, 0, 0 ); |
646 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventLoadError, 0, 0 ); |
|
647 ); |
631 m_webFrame->frameView()->topView()->pageLoadFinished(); |
648 m_webFrame->frameView()->topView()->pageLoadFinished(); |
632 notImplemented(); |
649 notImplemented(); |
633 } |
650 } |
634 |
651 |
635 void WebFrameLoaderClient::dispatchDidFinishDocumentLoad() // called when parsing is finished |
652 void WebFrameLoaderClient::dispatchDidFinishDocumentLoad() // called when parsing is finished |
670 if (implementations.delegateImplementsDidFirstLayoutInFrame) { |
687 if (implementations.delegateImplementsDidFirstLayoutInFrame) { |
671 id frameLoadDelegate = WebViewGetFrameLoadDelegate(webView); |
688 id frameLoadDelegate = WebViewGetFrameLoadDelegate(webView); |
672 implementations.didFirstLayoutInFrameFunc(frameLoadDelegate, @selector(webView:didFirstLayoutInFrame:), webView, m_webFrame.get()); |
689 implementations.didFirstLayoutInFrameFunc(frameLoadDelegate, @selector(webView:didFirstLayoutInFrame:), webView, m_webFrame.get()); |
673 } |
690 } |
674 */ |
691 */ |
|
692 TRAP_IGNORE( |
675 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventNewContentDisplayed, 0, 0 ); |
693 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventNewContentDisplayed, 0, 0 ); |
|
694 ); |
676 } |
695 } |
677 |
696 |
678 Frame* WebFrameLoaderClient::dispatchCreatePage() |
697 Frame* WebFrameLoaderClient::dispatchCreatePage() |
679 { |
698 { |
680 /* |
699 /* |
832 } |
851 } |
833 |
852 |
834 void WebFrameLoaderClient::postProgressStartedNotification() |
853 void WebFrameLoaderClient::postProgressStartedNotification() |
835 { |
854 { |
836 // [[NSNotificationCenter defaultCenter] postNotificationName:WebViewProgressStartedNotification object:getWebView(m_webFrame.get())]; |
855 // [[NSNotificationCenter defaultCenter] postNotificationName:WebViewProgressStartedNotification object:getWebView(m_webFrame.get())]; |
|
856 TRAP_IGNORE( |
837 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventUrlLoadingStart, 0, 0 ); |
857 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventUrlLoadingStart, 0, 0 ); |
|
858 ); |
838 total_bytes = 0; |
859 total_bytes = 0; |
839 #ifdef PERF_REGRESSION_LOG |
860 #ifdef PERF_REGRESSION_LOG |
840 wkDebug()<<"Load started"<<mem<<flush; |
861 wkDebug()<<"Load started"<<mem<<flush; |
841 #endif // PERF_REGRESSION_LOG |
862 #endif // PERF_REGRESSION_LOG |
842 } |
863 } |
846 #ifdef PERF_REGRESSION_LOG |
867 #ifdef PERF_REGRESSION_LOG |
847 wkDebug()<<"Loading..."<<total_bytes<<"bytes"<<mem<<flush; |
868 wkDebug()<<"Loading..."<<total_bytes<<"bytes"<<mem<<flush; |
848 #endif // PERF_REGRESSION_LOG |
869 #endif // PERF_REGRESSION_LOG |
849 // [[NSNotificationCenter defaultCenter] postNotificationName:WebViewProgressEstimateChangedNotification object:getWebView(m_webFrame.get())]; |
870 // [[NSNotificationCenter defaultCenter] postNotificationName:WebViewProgressEstimateChangedNotification object:getWebView(m_webFrame.get())]; |
850 double estimatedProgress = core(m_webFrame)->page()->progress()->estimatedProgress(); |
871 double estimatedProgress = core(m_webFrame)->page()->progress()->estimatedProgress(); |
|
872 TRAP_IGNORE( |
851 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventNewUrlContentArrived, total_bytes / estimatedProgress, 0 ); |
873 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventNewUrlContentArrived, total_bytes / estimatedProgress, 0 ); |
852 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventMoreUrlContentArrived, total_bytes, 0 ); |
874 brctl(m_webFrame)->HandleBrowserLoadEventL(TBrCtlDefs::EEventMoreUrlContentArrived, total_bytes, 0 ); |
|
875 ); |
853 } |
876 } |
854 |
877 |
855 void WebFrameLoaderClient::postProgressFinishedNotification() |
878 void WebFrameLoaderClient::postProgressFinishedNotification() |
856 { |
879 { |
857 TRAP_IGNORE(postProgressFinishedNotificationL()); |
880 TRAP_IGNORE(postProgressFinishedNotificationL()); |
905 } |
928 } |
906 |
929 |
907 void WebFrameLoaderClient::committedLoad(DocumentLoader* loader, const char* data, int length) |
930 void WebFrameLoaderClient::committedLoad(DocumentLoader* loader, const char* data, int length) |
908 { |
931 { |
909 if (brctl(m_webFrame)->wmlMode()) { |
932 if (brctl(m_webFrame)->wmlMode()) { |
|
933 TRAP_IGNORE( |
910 m_WmlContentListener->ResponseL( data, length ); |
934 m_WmlContentListener->ResponseL( data, length ); |
|
935 ); |
911 return; |
936 return; |
912 } |
937 } |
913 m_webFrame->bridge()->receivedData(data, length, m_response.textEncodingName()); |
938 m_webFrame->bridge()->receivedData(data, length, m_response.textEncodingName()); |
914 } |
939 } |
915 |
940 |
1114 } |
1139 } |
1115 |
1140 |
1116 void WebFrameLoaderClient::frameLoadCompleted() |
1141 void WebFrameLoaderClient::frameLoadCompleted() |
1117 { |
1142 { |
1118 if (brctl(m_webFrame)->wmlMode()) { |
1143 if (brctl(m_webFrame)->wmlMode()) { |
|
1144 TRAP_IGNORE( |
1119 m_WmlContentListener->CompleteL( 0, 0 ); |
1145 m_WmlContentListener->CompleteL( 0, 0 ); |
|
1146 ); |
1120 return; |
1147 return; |
1121 } |
1148 } |
1122 /* |
1149 /* |
1123 // Note: Can be called multiple times. |
1150 // Note: Can be called multiple times. |
1124 // Even if already complete, we might have set a previous item on a frame that |
1151 // Even if already complete, we might have set a previous item on a frame that |