Changeset 98570 in webkit


Ignore:
Timestamp:
Oct 27, 2011, 7:36:59 AM (13 years ago)
Author:
alexis.menard@openbossa.org
Message:

[Qt][WK2] Move the C API callback setup out of QtWebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=70965

Reviewed by Andreas Kling.

Move out the setup of C API callback into ClientImpl file
so that QtWebPageProxy will be less polluted.

  • UIProcess/qt/ClientImpl.cpp:

(qt_wk_didStartProvisionalLoadForFrame):
(qt_wk_didFailProvisionalLoadWithErrorForFrame):
(qt_wk_didCommitLoadForFrame):
(qt_wk_didFinishLoadForFrame):
(qt_wk_didFailLoadWithErrorForFrame):
(qt_wk_didSameDocumentNavigationForFrame):
(qt_wk_didReceiveTitleForFrame):
(qt_wk_didStartProgress):
(qt_wk_didChangeProgress):
(qt_wk_didFinishProgress):
(qt_wk_runJavaScriptAlert):
(qt_wk_runJavaScriptConfirm):
(qt_wk_runJavaScriptPrompt):
(qt_wk_setStatusText):
(qt_wk_runOpenPanel):
(qt_wk_mouseDidMoveOverElement):
(qt_wk_decidePolicyForNavigationAction):
(qt_wk_decidePolicyForResponse):
(setupPageLoaderClient):
(setupPageUiClient):
(setupPagePolicyClient):

  • UIProcess/qt/ClientImpl.h:
  • UIProcess/qt/QtWebPageProxy.cpp:

(QtWebPageProxy::init):

  • UIProcess/qt/QtWebPageProxy.h:

(QtWebPageProxy::viewInterface):

Location:
trunk/Source/WebKit2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r98560 r98570  
     12011-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
    1392011-10-27  Zeno Albisser  <zeno.albisser@nokia.com>
    240
  • trunk/Source/WebKit2/UIProcess/qt/ClientImpl.cpp

    r98447 r98570  
    8282}
    8383
    84 void qt_wk_didStartProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
     84static void qt_wk_didStartProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
    8585{
    8686    if (!WKFrameIsMainFrame(frame))
     
    9191}
    9292
    93 void qt_wk_didFailProvisionalLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
     93static void qt_wk_didFailProvisionalLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
    9494{
    9595    dispatchLoadFailed(frame, clientInfo, error);
    9696}
    9797
    98 void qt_wk_didCommitLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
     98static void qt_wk_didCommitLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
    9999{
    100100    if (!WKFrameIsMainFrame(frame))
     
    108108}
    109109
    110 void qt_wk_didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
     110static void qt_wk_didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
    111111{
    112112    dispatchLoadSucceeded(frame, clientInfo);
    113113}
    114114
    115 void qt_wk_didFailLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
     115static void qt_wk_didFailLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
    116116{
    117117    dispatchLoadFailed(frame, clientInfo, error);
    118118}
    119119
    120 void qt_wk_didSameDocumentNavigationForFrame(WKPageRef page, WKFrameRef frame, WKSameDocumentNavigationType type, WKTypeRef userData, const void* clientInfo)
     120static void qt_wk_didSameDocumentNavigationForFrame(WKPageRef page, WKFrameRef frame, WKSameDocumentNavigationType type, WKTypeRef userData, const void* clientInfo)
    121121{
    122122    WebFrameProxy* wkframe = toImpl(frame);
     
    127127}
    128128
    129 void qt_wk_didReceiveTitleForFrame(WKPageRef page, WKStringRef title, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
     129static void qt_wk_didReceiveTitleForFrame(WKPageRef page, WKStringRef title, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
    130130{
    131131    if (!WKFrameIsMainFrame(frame))
     
    135135}
    136136
    137 void qt_wk_didStartProgress(WKPageRef page, const void* clientInfo)
     137static void qt_wk_didStartProgress(WKPageRef page, const void* clientInfo)
    138138{
    139139    toQtWebPageProxy(clientInfo)->didChangeLoadProgress(0);
    140140}
    141141
    142 void qt_wk_didChangeProgress(WKPageRef page, const void* clientInfo)
     142static void qt_wk_didChangeProgress(WKPageRef page, const void* clientInfo)
    143143{
    144144    toQtWebPageProxy(clientInfo)->didChangeLoadProgress(WKPageGetEstimatedProgress(page) * 100);
    145145}
    146146
    147 void qt_wk_didFinishProgress(WKPageRef page, const void* clientInfo)
     147static void qt_wk_didFinishProgress(WKPageRef page, const void* clientInfo)
    148148{
    149149    toQtWebPageProxy(clientInfo)->didChangeLoadProgress(100);
    150150}
    151151
    152 void qt_wk_runJavaScriptAlert(WKPageRef page, WKStringRef alertText, WKFrameRef frame, const void* clientInfo)
     152static void qt_wk_runJavaScriptAlert(WKPageRef page, WKStringRef alertText, WKFrameRef frame, const void* clientInfo)
    153153{
    154154    QString qAlertText = WKStringCopyQString(alertText);
     
    156156}
    157157
    158 bool qt_wk_runJavaScriptConfirm(WKPageRef, WKStringRef message, WKFrameRef, const void* clientInfo)
     158static bool qt_wk_runJavaScriptConfirm(WKPageRef, WKStringRef message, WKFrameRef, const void* clientInfo)
    159159{
    160160    QString qMessage = WKStringCopyQString(message);
     
    168168}
    169169
    170 WKStringRef qt_wk_runJavaScriptPrompt(WKPageRef, WKStringRef message, WKStringRef defaultValue, WKFrameRef, const void* clientInfo)
     170static WKStringRef qt_wk_runJavaScriptPrompt(WKPageRef, WKStringRef message, WKStringRef defaultValue, WKFrameRef, const void* clientInfo)
    171171{
    172172    QString qMessage = WKStringCopyQString(message);
     
    179179}
    180180
    181 void qt_wk_setStatusText(WKPageRef, WKStringRef text, const void *clientInfo)
     181static void qt_wk_setStatusText(WKPageRef, WKStringRef text, const void *clientInfo)
    182182{
    183183    QString qText = WKStringCopyQString(text);
     
    185185}
    186186
    187 void qt_wk_runOpenPanel(WKPageRef, WKFrameRef, WKOpenPanelParametersRef parameters, WKOpenPanelResultListenerRef listener, const void* clientInfo)
     187static void qt_wk_runOpenPanel(WKPageRef, WKFrameRef, WKOpenPanelParametersRef parameters, WKOpenPanelResultListenerRef listener, const void* clientInfo)
    188188{
    189189    Vector<String> wkSelectedFileNames = toImpl(parameters)->selectedFileNames();
     
    198198}
    199199
    200 void qt_wk_mouseDidMoveOverElement(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void* clientInfo)
     200static void qt_wk_mouseDidMoveOverElement(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void* clientInfo)
    201201{
    202202    const QUrl absoluteLinkUrl = WKURLCopyQUrl(WKHitTestResultCopyAbsoluteLinkURL(hitTestResult));
     
    232232}
    233233
    234 void qt_wk_decidePolicyForNavigationAction(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
     234static void qt_wk_decidePolicyForNavigationAction(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
    235235{
    236236    QtPolicyInterface* policyInterface = toQtPolicyInterface(clientInfo);
     
    253253}
    254254
    255 void qt_wk_decidePolicyForResponse(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
     255static void qt_wk_decidePolicyForResponse(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
    256256{
    257257    String type = toImpl(response)->resourceResponse().mimeType();
     
    279279    WKFramePolicyListenerUse(listener);
    280280}
     281
     282void 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
     301void 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
     316void 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  
    1818*/
    1919
    20 #ifndef DefaultClientCallbacksQt_h
    21 #define DefaultClientCallbacksQt_h
     20#ifndef ClientImpl_h
     21#define ClientImpl_h
    2222
    2323#include <WebKit2/WKPage.h>
    2424
    25 #ifdef __cplusplus
    26 extern "C" {
    27 #endif
     25class QtWebPageProxy;
     26namespace WebKit {
     27class QtPolicyInterface;
     28class WebPageProxy;
     29}
     30void setupPageLoaderClient(QtWebPageProxy*, WebKit::WebPageProxy*);
     31void setupPageUiClient(QtWebPageProxy*, WebKit::WebPageProxy*);
     32void setupPagePolicyClient(WebKit::QtPolicyInterface*, WebKit::WebPageProxy*);
    2833
    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 */
    4035
    41 // ui client
    42 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 __cplusplus
    54 }
    55 #endif
    56 
    57 #endif /* DefaultClientCallbacksQt_h */
    58 
  • trunk/Source/WebKit2/UIProcess/qt/QtWebPageProxy.cpp

    r98472 r98570  
    120120    m_webPageProxy->initializeWebPage();
    121121
    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());
    159127}
    160128
  • trunk/Source/WebKit2/UIProcess/qt/QtWebPageProxy.h

    r98472 r98570  
    171171
    172172    QWKHistory* history() const;
     173    QtViewInterface* viewInterface() const { return m_viewInterface; }
    173174
    174175public Q_SLOTS:
Note: See TracChangeset for help on using the changeset viewer.