Changeset 98570 in webkit
- Timestamp:
- Oct 27, 2011, 7:36:59 AM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r98560 r98570 1 2011-10-27 Alexis Menard <alexis.menard@openbossa.org> 2 3 [Qt][WK2] Move the C API callback setup out of QtWebPageProxy 4 https://bugs.webkit.org/show_bug.cgi?id=70965 5 6 Reviewed by Andreas Kling. 7 8 Move out the setup of C API callback into ClientImpl file 9 so that QtWebPageProxy will be less polluted. 10 11 * UIProcess/qt/ClientImpl.cpp: 12 (qt_wk_didStartProvisionalLoadForFrame): 13 (qt_wk_didFailProvisionalLoadWithErrorForFrame): 14 (qt_wk_didCommitLoadForFrame): 15 (qt_wk_didFinishLoadForFrame): 16 (qt_wk_didFailLoadWithErrorForFrame): 17 (qt_wk_didSameDocumentNavigationForFrame): 18 (qt_wk_didReceiveTitleForFrame): 19 (qt_wk_didStartProgress): 20 (qt_wk_didChangeProgress): 21 (qt_wk_didFinishProgress): 22 (qt_wk_runJavaScriptAlert): 23 (qt_wk_runJavaScriptConfirm): 24 (qt_wk_runJavaScriptPrompt): 25 (qt_wk_setStatusText): 26 (qt_wk_runOpenPanel): 27 (qt_wk_mouseDidMoveOverElement): 28 (qt_wk_decidePolicyForNavigationAction): 29 (qt_wk_decidePolicyForResponse): 30 (setupPageLoaderClient): 31 (setupPageUiClient): 32 (setupPagePolicyClient): 33 * UIProcess/qt/ClientImpl.h: 34 * UIProcess/qt/QtWebPageProxy.cpp: 35 (QtWebPageProxy::init): 36 * UIProcess/qt/QtWebPageProxy.h: 37 (QtWebPageProxy::viewInterface): 38 1 39 2011-10-27 Zeno Albisser <zeno.albisser@nokia.com> 2 40 -
trunk/Source/WebKit2/UIProcess/qt/ClientImpl.cpp
r98447 r98570 82 82 } 83 83 84 void qt_wk_didStartProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)84 static void qt_wk_didStartProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo) 85 85 { 86 86 if (!WKFrameIsMainFrame(frame)) … … 91 91 } 92 92 93 void qt_wk_didFailProvisionalLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)93 static void qt_wk_didFailProvisionalLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo) 94 94 { 95 95 dispatchLoadFailed(frame, clientInfo, error); 96 96 } 97 97 98 void qt_wk_didCommitLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)98 static void qt_wk_didCommitLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo) 99 99 { 100 100 if (!WKFrameIsMainFrame(frame)) … … 108 108 } 109 109 110 void qt_wk_didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)110 static void qt_wk_didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo) 111 111 { 112 112 dispatchLoadSucceeded(frame, clientInfo); 113 113 } 114 114 115 void qt_wk_didFailLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)115 static void qt_wk_didFailLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo) 116 116 { 117 117 dispatchLoadFailed(frame, clientInfo, error); 118 118 } 119 119 120 void qt_wk_didSameDocumentNavigationForFrame(WKPageRef page, WKFrameRef frame, WKSameDocumentNavigationType type, WKTypeRef userData, const void* clientInfo)120 static void qt_wk_didSameDocumentNavigationForFrame(WKPageRef page, WKFrameRef frame, WKSameDocumentNavigationType type, WKTypeRef userData, const void* clientInfo) 121 121 { 122 122 WebFrameProxy* wkframe = toImpl(frame); … … 127 127 } 128 128 129 void qt_wk_didReceiveTitleForFrame(WKPageRef page, WKStringRef title, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)129 static void qt_wk_didReceiveTitleForFrame(WKPageRef page, WKStringRef title, WKFrameRef frame, WKTypeRef userData, const void* clientInfo) 130 130 { 131 131 if (!WKFrameIsMainFrame(frame)) … … 135 135 } 136 136 137 void qt_wk_didStartProgress(WKPageRef page, const void* clientInfo)137 static void qt_wk_didStartProgress(WKPageRef page, const void* clientInfo) 138 138 { 139 139 toQtWebPageProxy(clientInfo)->didChangeLoadProgress(0); 140 140 } 141 141 142 void qt_wk_didChangeProgress(WKPageRef page, const void* clientInfo)142 static void qt_wk_didChangeProgress(WKPageRef page, const void* clientInfo) 143 143 { 144 144 toQtWebPageProxy(clientInfo)->didChangeLoadProgress(WKPageGetEstimatedProgress(page) * 100); 145 145 } 146 146 147 void qt_wk_didFinishProgress(WKPageRef page, const void* clientInfo)147 static void qt_wk_didFinishProgress(WKPageRef page, const void* clientInfo) 148 148 { 149 149 toQtWebPageProxy(clientInfo)->didChangeLoadProgress(100); 150 150 } 151 151 152 void qt_wk_runJavaScriptAlert(WKPageRef page, WKStringRef alertText, WKFrameRef frame, const void* clientInfo)152 static void qt_wk_runJavaScriptAlert(WKPageRef page, WKStringRef alertText, WKFrameRef frame, const void* clientInfo) 153 153 { 154 154 QString qAlertText = WKStringCopyQString(alertText); … … 156 156 } 157 157 158 bool qt_wk_runJavaScriptConfirm(WKPageRef, WKStringRef message, WKFrameRef, const void* clientInfo)158 static bool qt_wk_runJavaScriptConfirm(WKPageRef, WKStringRef message, WKFrameRef, const void* clientInfo) 159 159 { 160 160 QString qMessage = WKStringCopyQString(message); … … 168 168 } 169 169 170 WKStringRef qt_wk_runJavaScriptPrompt(WKPageRef, WKStringRef message, WKStringRef defaultValue, WKFrameRef, const void* clientInfo)170 static WKStringRef qt_wk_runJavaScriptPrompt(WKPageRef, WKStringRef message, WKStringRef defaultValue, WKFrameRef, const void* clientInfo) 171 171 { 172 172 QString qMessage = WKStringCopyQString(message); … … 179 179 } 180 180 181 void qt_wk_setStatusText(WKPageRef, WKStringRef text, const void *clientInfo)181 static void qt_wk_setStatusText(WKPageRef, WKStringRef text, const void *clientInfo) 182 182 { 183 183 QString qText = WKStringCopyQString(text); … … 185 185 } 186 186 187 void qt_wk_runOpenPanel(WKPageRef, WKFrameRef, WKOpenPanelParametersRef parameters, WKOpenPanelResultListenerRef listener, const void* clientInfo)187 static void qt_wk_runOpenPanel(WKPageRef, WKFrameRef, WKOpenPanelParametersRef parameters, WKOpenPanelResultListenerRef listener, const void* clientInfo) 188 188 { 189 189 Vector<String> wkSelectedFileNames = toImpl(parameters)->selectedFileNames(); … … 198 198 } 199 199 200 void qt_wk_mouseDidMoveOverElement(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void* clientInfo)200 static void qt_wk_mouseDidMoveOverElement(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void* clientInfo) 201 201 { 202 202 const QUrl absoluteLinkUrl = WKURLCopyQUrl(WKHitTestResultCopyAbsoluteLinkURL(hitTestResult)); … … 232 232 } 233 233 234 void qt_wk_decidePolicyForNavigationAction(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)234 static void qt_wk_decidePolicyForNavigationAction(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) 235 235 { 236 236 QtPolicyInterface* policyInterface = toQtPolicyInterface(clientInfo); … … 253 253 } 254 254 255 void qt_wk_decidePolicyForResponse(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)255 static void qt_wk_decidePolicyForResponse(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo) 256 256 { 257 257 String type = toImpl(response)->resourceResponse().mimeType(); … … 279 279 WKFramePolicyListenerUse(listener); 280 280 } 281 282 void setupPageLoaderClient(QtWebPageProxy* qtWebPageProxy, WebPageProxy* webPageProxy) 283 { 284 WKPageLoaderClient loadClient; 285 memset(&loadClient, 0, sizeof(WKPageLoaderClient)); 286 loadClient.version = kWKPageLoaderClientCurrentVersion; 287 loadClient.clientInfo = qtWebPageProxy; 288 loadClient.didStartProvisionalLoadForFrame = qt_wk_didStartProvisionalLoadForFrame; 289 loadClient.didFailProvisionalLoadWithErrorForFrame = qt_wk_didFailProvisionalLoadWithErrorForFrame; 290 loadClient.didCommitLoadForFrame = qt_wk_didCommitLoadForFrame; 291 loadClient.didFinishLoadForFrame = qt_wk_didFinishLoadForFrame; 292 loadClient.didFailLoadWithErrorForFrame = qt_wk_didFailLoadWithErrorForFrame; 293 loadClient.didSameDocumentNavigationForFrame = qt_wk_didSameDocumentNavigationForFrame; 294 loadClient.didReceiveTitleForFrame = qt_wk_didReceiveTitleForFrame; 295 loadClient.didStartProgress = qt_wk_didStartProgress; 296 loadClient.didChangeProgress = qt_wk_didChangeProgress; 297 loadClient.didFinishProgress = qt_wk_didFinishProgress; 298 WKPageSetPageLoaderClient(qtWebPageProxy->pageRef(), &loadClient); 299 } 300 301 void setupPageUiClient(QtWebPageProxy* qtWebPageProxy, WebPageProxy* webPageProxy) 302 { 303 WKPageUIClient uiClient; 304 memset(&uiClient, 0, sizeof(WKPageUIClient)); 305 uiClient.version = kWKPageUIClientCurrentVersion; 306 uiClient.clientInfo = qtWebPageProxy->viewInterface(); 307 uiClient.runJavaScriptAlert = qt_wk_runJavaScriptAlert; 308 uiClient.runJavaScriptConfirm = qt_wk_runJavaScriptConfirm; 309 uiClient.runJavaScriptPrompt = qt_wk_runJavaScriptPrompt; 310 uiClient.setStatusText = qt_wk_setStatusText; 311 uiClient.runOpenPanel = qt_wk_runOpenPanel; 312 uiClient.mouseDidMoveOverElement = qt_wk_mouseDidMoveOverElement; 313 WKPageSetPageUIClient(toAPI(webPageProxy), &uiClient); 314 } 315 316 void setupPagePolicyClient(QtPolicyInterface* policyInterface, WebPageProxy* webPageProxy) 317 { 318 WKPagePolicyClient policyClient; 319 memset(&policyClient, 0, sizeof(WKPagePolicyClient)); 320 policyClient.version = kWKPagePolicyClientCurrentVersion; 321 policyClient.clientInfo = policyInterface; 322 policyClient.decidePolicyForNavigationAction = qt_wk_decidePolicyForNavigationAction; 323 policyClient.decidePolicyForResponse = qt_wk_decidePolicyForResponse; 324 WKPageSetPagePolicyClient(toAPI(webPageProxy), &policyClient); 325 } -
trunk/Source/WebKit2/UIProcess/qt/ClientImpl.h
r97608 r98570 18 18 */ 19 19 20 #ifndef DefaultClientCallbacksQt_h21 #define DefaultClientCallbacksQt_h20 #ifndef ClientImpl_h 21 #define ClientImpl_h 22 22 23 23 #include <WebKit2/WKPage.h> 24 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 25 class QtWebPageProxy; 26 namespace WebKit { 27 class QtPolicyInterface; 28 class WebPageProxy; 29 } 30 void setupPageLoaderClient(QtWebPageProxy*, WebKit::WebPageProxy*); 31 void setupPageUiClient(QtWebPageProxy*, WebKit::WebPageProxy*); 32 void setupPagePolicyClient(WebKit::QtPolicyInterface*, WebKit::WebPageProxy*); 28 33 29 // loader client 30 void qt_wk_didStartProvisionalLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef, const void* clientInfo); 31 void qt_wk_didFailProvisionalLoadWithErrorForFrame(WKPageRef, WKFrameRef, WKErrorRef, WKTypeRef, const void* clientInfo); 32 void qt_wk_didCommitLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef, const void* clientInfo); 33 void qt_wk_didFinishLoadForFrame(WKPageRef, WKFrameRef, WKTypeRef, const void* clientInfo); 34 void qt_wk_didFailLoadWithErrorForFrame(WKPageRef, WKFrameRef, WKErrorRef, WKTypeRef, const void* clientInfo); 35 void qt_wk_didReceiveTitleForFrame(WKPageRef, WKStringRef title, WKFrameRef, WKTypeRef, const void* clientInfo); 36 void qt_wk_didStartProgress(WKPageRef, const void* clientInfo); 37 void qt_wk_didChangeProgress(WKPageRef, const void* clientInfo); 38 void qt_wk_didFinishProgress(WKPageRef, const void* clientInfo); 39 void qt_wk_didSameDocumentNavigationForFrame(WKPageRef, WKFrameRef, WKSameDocumentNavigationType, WKTypeRef, const void* clientInfo); 34 #endif /* ClientImpl_h */ 40 35 41 // ui client42 void qt_wk_runJavaScriptAlert(WKPageRef, WKStringRef alertText, WKFrameRef, const void* clientInfo);43 bool qt_wk_runJavaScriptConfirm(WKPageRef, WKStringRef message, WKFrameRef, const void* clientInfo);44 WKStringRef qt_wk_runJavaScriptPrompt(WKPageRef, WKStringRef message, WKStringRef defaultValue, WKFrameRef, const void* clientInfo);45 void qt_wk_setStatusText(WKPageRef page, WKStringRef text, const void *clientInfo);46 void qt_wk_runOpenPanel(WKPageRef, WKFrameRef, WKOpenPanelParametersRef, WKOpenPanelResultListenerRef, const void* clientInfo);47 void qt_wk_mouseDidMoveOverElement(WKPageRef, WKHitTestResultRef, WKEventModifiers, WKTypeRef, const void* clientInfo);48 49 // Policy client.50 void qt_wk_decidePolicyForNavigationAction(WKPageRef, WKFrameRef, WKFrameNavigationType, WKEventModifiers, WKEventMouseButton, WKURLRequestRef, WKFramePolicyListenerRef, WKTypeRef userData, const void* clientInfo);51 void qt_wk_decidePolicyForResponse(WKPageRef, WKFrameRef, WKURLResponseRef, WKURLRequestRef, WKFramePolicyListenerRef, WKTypeRef userData, const void* clientInfo);52 53 #ifdef __cplusplus54 }55 #endif56 57 #endif /* DefaultClientCallbacksQt_h */58 -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp
r98472 r98570 120 120 m_webPageProxy->initializeWebPage(); 121 121 122 WKPageLoaderClient loadClient; 123 memset(&loadClient, 0, sizeof(WKPageLoaderClient)); 124 loadClient.version = kWKPageLoaderClientCurrentVersion; 125 loadClient.clientInfo = this; 126 loadClient.didStartProvisionalLoadForFrame = qt_wk_didStartProvisionalLoadForFrame; 127 loadClient.didFailProvisionalLoadWithErrorForFrame = qt_wk_didFailProvisionalLoadWithErrorForFrame; 128 loadClient.didCommitLoadForFrame = qt_wk_didCommitLoadForFrame; 129 loadClient.didFinishLoadForFrame = qt_wk_didFinishLoadForFrame; 130 loadClient.didFailLoadWithErrorForFrame = qt_wk_didFailLoadWithErrorForFrame; 131 loadClient.didSameDocumentNavigationForFrame = qt_wk_didSameDocumentNavigationForFrame; 132 loadClient.didReceiveTitleForFrame = qt_wk_didReceiveTitleForFrame; 133 loadClient.didStartProgress = qt_wk_didStartProgress; 134 loadClient.didChangeProgress = qt_wk_didChangeProgress; 135 loadClient.didFinishProgress = qt_wk_didFinishProgress; 136 WKPageSetPageLoaderClient(pageRef(), &loadClient); 137 138 WKPageUIClient uiClient; 139 memset(&uiClient, 0, sizeof(WKPageUIClient)); 140 uiClient.version = kWKPageUIClientCurrentVersion; 141 uiClient.clientInfo = m_viewInterface; 142 uiClient.runJavaScriptAlert = qt_wk_runJavaScriptAlert; 143 uiClient.runJavaScriptConfirm = qt_wk_runJavaScriptConfirm; 144 uiClient.runJavaScriptPrompt = qt_wk_runJavaScriptPrompt; 145 uiClient.setStatusText = qt_wk_setStatusText; 146 uiClient.runOpenPanel = qt_wk_runOpenPanel; 147 uiClient.mouseDidMoveOverElement = qt_wk_mouseDidMoveOverElement; 148 WKPageSetPageUIClient(toAPI(m_webPageProxy.get()), &uiClient); 149 150 if (m_policyInterface) { 151 WKPagePolicyClient policyClient; 152 memset(&policyClient, 0, sizeof(WKPagePolicyClient)); 153 policyClient.version = kWKPagePolicyClientCurrentVersion; 154 policyClient.clientInfo = m_policyInterface; 155 policyClient.decidePolicyForNavigationAction = qt_wk_decidePolicyForNavigationAction; 156 policyClient.decidePolicyForResponse = qt_wk_decidePolicyForResponse; 157 WKPageSetPagePolicyClient(toAPI(m_webPageProxy.get()), &policyClient); 158 } 122 setupPageLoaderClient(this, m_webPageProxy.get()); 123 setupPageUiClient(this, m_webPageProxy.get()); 124 125 if (m_policyInterface) 126 setupPagePolicyClient(m_policyInterface, m_webPageProxy.get()); 159 127 } 160 128 -
trunk/Source/WebKit2/UIProcess/qt/QtWebPageProxy.h
r98472 r98570 171 171 172 172 QWKHistory* history() const; 173 QtViewInterface* viewInterface() const { return m_viewInterface; } 173 174 174 175 public Q_SLOTS:
Note:
See TracChangeset
for help on using the changeset viewer.