Changeset 95315 in webkit


Ignore:
Timestamp:
Sep 16, 2011 1:12:07 PM (13 years ago)
Author:
andersca@apple.com
Message:

Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
https://bugs.webkit.org/show_bug.cgi?id=68269

Reviewed by Geoffrey Garen.

Source/WebKit2:

Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.

  • UIProcess/API/C/WKPage.h:
  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::mouseDidMoveOverElement):

Tools:

Update client function signatures.

  • MiniBrowser/gtk/BrowserWindow.c:

(browserWindowUIClientInit):

  • MiniBrowser/mac/BrowserWindowController.m:

(mouseDidMoveOverElement):
(-[BrowserWindowController awakeFromNib]):

  • MiniBrowser/win/BrowserView.cpp:

(BrowserView::create):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::initialize):

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r95314 r95315  
     12011-09-16  Anders Carlsson  <andersca@apple.com>
     2
     3        Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
     4        https://bugs.webkit.org/show_bug.cgi?id=68269
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.
     9
     10        * UIProcess/API/C/WKPage.h:
     11        * UIProcess/WebUIClient.cpp:
     12        (WebKit::WebUIClient::mouseDidMoveOverElement):
     13
    1142011-09-16  Alexey Proskuryakov  <ap@apple.com>
    215
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.h

    r95311 r95315  
    169169typedef void (*WKPageUnfocusCallback)(WKPageRef page, const void *clientInfo);
    170170typedef void (*WKPageSetStatusTextCallback)(WKPageRef page, WKStringRef text, const void *clientInfo);
    171 typedef void (*WKPageMouseDidMoveOverElementCallback)(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
     171typedef void (*WKPageMouseDidMoveOverElementCallback)(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
    172172typedef void (*WKPageMissingPluginButtonClickedCallback)(WKPageRef page, WKStringRef mimeType, WKStringRef url, WKStringRef pluginsPageURL, const void* clientInfo);
    173173typedef void (*WKPageDidNotHandleKeyEventCallback)(WKPageRef page, WKNativeEventPtr event, const void *clientInfo);
     
    198198// Deprecated   
    199199typedef WKPageRef (*WKPageCreateNewPageCallback_deprecatedForUseWithV0)(WKPageRef page, WKDictionaryRef features, WKEventModifiers modifiers, WKEventMouseButton mouseButton, const void *clientInfo);
    200    
     200typedef void      (*WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0)(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo);
     201
    201202struct WKPageUIClient {
    202203    int                                                                 version;
     
    214215    WKPageRunJavaScriptPromptCallback                                   runJavaScriptPrompt;
    215216    WKPageSetStatusTextCallback                                         setStatusText;
    216     WKPageMouseDidMoveOverElementCallback                               mouseDidMoveOverElement;
     217    WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0        mouseDidMoveOverElement_deprecatedForUseWithV0;
    217218    WKPageMissingPluginButtonClickedCallback                            missingPluginButtonClicked;
    218219    WKPageDidNotHandleKeyEventCallback                                  didNotHandleKeyEvent;
     
    246247    // Version 1
    247248    WKPageCreateNewPageCallback                                         createNewPage;
     249    WKPageMouseDidMoveOverElementCallback                               mouseDidMoveOverElement;
    248250};
    249251typedef struct WKPageUIClient WKPageUIClient;
  • trunk/Source/WebKit2/UIProcess/WebUIClient.cpp

    r95311 r95315  
    158158void WebUIClient::mouseDidMoveOverElement(WebPageProxy* page, const WebHitTestResult::Data& data, WebEvent::Modifiers modifiers, APIObject* userData)
    159159{
    160     if (!m_client.mouseDidMoveOverElement)
    161         return;
    162 
    163     // FIXME: Pass the hit test result to the UI client callback function.
     160    if (!m_client.mouseDidMoveOverElement && !m_client.mouseDidMoveOverElement_deprecatedForUseWithV0)
     161        return;
     162
     163    if (m_client.version == kWKPageUIClientCurrentVersion && !m_client.mouseDidMoveOverElement)
     164        return;
     165
     166    if (!m_client.version) {
     167        m_client.mouseDidMoveOverElement_deprecatedForUseWithV0(toAPI(page), toAPI(modifiers), toAPI(userData), m_client.clientInfo);
     168        return;
     169    }
     170
    164171    RefPtr<WebHitTestResult> webHitTestResult = WebHitTestResult::create(data);
    165     m_client.mouseDidMoveOverElement(toAPI(page), toAPI(modifiers), toAPI(userData), m_client.clientInfo);
     172    m_client.mouseDidMoveOverElement(toAPI(page), toAPI(webHitTestResult.get()), toAPI(modifiers), toAPI(userData), m_client.clientInfo);
    166173}
    167174
  • trunk/Tools/ChangeLog

    r95311 r95315  
     12011-09-16  Anders Carlsson  <andersca@apple.com>
     2
     3        Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
     4        https://bugs.webkit.org/show_bug.cgi?id=68269
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Update client function signatures.
     9
     10        * MiniBrowser/gtk/BrowserWindow.c:
     11        (browserWindowUIClientInit):
     12        * MiniBrowser/mac/BrowserWindowController.m:
     13        (mouseDidMoveOverElement):
     14        (-[BrowserWindowController awakeFromNib]):
     15        * MiniBrowser/win/BrowserView.cpp:
     16        (BrowserView::create):
     17        * WebKitTestRunner/TestController.cpp:
     18        (WTR::TestController::createOtherPage):
     19        (WTR::TestController::initialize):
     20
    1212011-09-16  Anders Carlsson  <andersca@apple.com>
    222
  • trunk/Tools/MiniBrowser/gtk/BrowserWindow.c

    r93902 r95315  
    624624        runJavaScriptPrompt,
    625625        0,      /* setStatusText */
    626         mouseDidMoveOverElement,
     626        0,      /* mouseDidMoveOverElement_deprecatedForUseWithV0 */
    627627        0,      /* missingPluginButtonClicked */
    628628        0,      /* didNotHandleKeyEvent */
     
    653653        0,      /* saveDataToFileInDownloadsFolder */
    654654        0,      /* shouldInterruptJavaScript */
    655         createNewPage
     655        createNewPage,
     656        mouseDidMoveOverElement
    656657    };
    657658    WKPageSetPageUIClient(WKViewGetPage(window->webView), &uiClient);
  • trunk/Tools/MiniBrowser/mac/BrowserWindowController.m

    r95311 r95315  
    491491}
    492492
    493 static void mouseDidMoveOverElement(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo)
     493static void mouseDidMoveOverElement(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo)
    494494{
    495495    LOG(@"mouseDidMoveOverElement");
     
    627627        runJavaScriptPrompt,
    628628        setStatusText,
    629         mouseDidMoveOverElement,
     629        0,          /* mouseDidMoveOverElement_deprecatedForUseWithV0 */
    630630        0,          /* missingPluginButtonClicked */
    631631        0,          /* didNotHandleKeyEvent */
     
    657657        0, // shouldInterruptJavaScript
    658658        createNewPage,
     659        mouseDidMoveOverElement,
    659660    };
    660661    WKPageSetPageUIClient(_webView.pageRef, &uiClient);
  • trunk/Tools/MiniBrowser/win/BrowserView.cpp

    r95305 r95315  
    106106        runJavaScriptPrompt,
    107107        setStatusText,
    108         mouseDidMoveOverElement,
     108        0,          /* mouseDidMoveOverElement_deprecatedForUseWithV0 */
    109109        0,          /* missingPluginButtonClicked */
    110110        0,          /* didNotHandleKeyEvent */
     
    136136        0,          /* shouldInterruptJavaScript */
    137137        createNewPage,
     138        mouseDidMoveOverElement,
    138139    };
    139140
  • trunk/Tools/WebKitTestRunner/TestController.cpp

    r95039 r95315  
    158158        0, // runJavaScriptPrompt
    159159        0, // setStatusText
    160         0, // mouseDidMoveOverElement
     160        0, // mouseDidMoveOverElement_deprecatedForUseWithV0
    161161        0, // missingPluginButtonClicked
    162162        0, // didNotHandleKeyEvent
     
    188188        0, // shouldInterruptJavaScript
    189189        createOtherPage,
     190        0, // mouseDidMoveOverElement
    190191    };
    191192    WKPageSetPageUIClient(newPage, &otherPageUIClient);
     
    302303        0, // runJavaScriptPrompt
    303304        0, // setStatusText
    304         0, // mouseDidMoveOverElement
     305        0, // mouseDidMoveOverElement_deprecatedForUseWithV0
    305306        0, // missingPluginButtonClicked
    306307        0, // didNotHandleKeyEvent
     
    332333        0, // shouldInterruptJavaScript
    333334        createOtherPage,
     335        0, // mouseDidMoveOverElement
    334336    };
    335337    WKPageSetPageUIClient(m_mainWebView->page(), &pageUIClient);
Note: See TracChangeset for help on using the changeset viewer.