Changeset 95565 in webkit


Ignore:
Timestamp:
Sep 20, 2011 1:16:58 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Source/WebKit2: Added WKHitTestResult API's.

WKHitTestResult API's are added. These API's can be used to
get the hover'ed link/image/media URL as well as link lable and
title.
https://bugs.webkit.org/show_bug.cgi?id=68426

Patch by Nayan Kumar K <nayankk@motorola.com> on 2011-09-20
Reviewed by Anders Carlsson.

  • GNUmakefile.am:
  • Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.

(WKHitTestResultGetTypeID):
(WKHitTestResultCopyAbsoluteImageURL):
(WKHitTestResultCopyAbsoluteLinkURL):
(WKHitTestResultCopyAbsoluteMediaURL):
(WKHitTestResultCopyLinkLabel):
(WKHitTestResultCopyLinkTitle):

  • Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
  • UIProcess/API/C/WebKit2.h:

Tools: Get hover'ed element URL from HitTest.

mouseDidMoveOverElement now gets the hover'ed element link using
WKHitTestResult API's.
https://bugs.webkit.org/show_bug.cgi?id=68426

Patch by Nayan Kumar K <nayankk@motorola.com> on 2011-09-20
Reviewed by Anders Carlsson.

  • MiniBrowser/gtk/BrowserWindow.c:

(mouseDidMoveOverElement):

Location:
trunk
Files:
5 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r95551 r95565  
     12011-09-20  Nayan Kumar K  <nayankk@motorola.com>
     2
     3        Added WKHitTestResult API's.
     4
     5        WKHitTestResult API's are added. These API's can be used to
     6        get the hover'ed link/image/media URL as well as link lable and
     7        title.
     8        https://bugs.webkit.org/show_bug.cgi?id=68426
     9
     10        Reviewed by Anders Carlsson.
     11
     12        * GNUmakefile.am:
     13        * Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
     14        (WKHitTestResultGetTypeID):
     15        (WKHitTestResultCopyAbsoluteImageURL):
     16        (WKHitTestResultCopyAbsoluteLinkURL):
     17        (WKHitTestResultCopyAbsoluteMediaURL):
     18        (WKHitTestResultCopyLinkLabel):
     19        (WKHitTestResultCopyLinkTitle):
     20        * Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
     21        * UIProcess/API/C/WebKit2.h:
     22
    1232011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
    224
  • trunk/Source/WebKit2/GNUmakefile.am

    r95521 r95565  
    1414        $(WebKit2)/Shared/API/c/WKGeometry.h \
    1515        $(WebKit2)/Shared/API/c/WKGraphicsContext.h \
     16        $(WebKit2)/Shared/API/c/WKHitTestResult.h \
    1617        $(WebKit2)/Shared/API/c/WKImage.h \
    1718        $(WebKit2)/Shared/API/c/WKMutableArray.h \
     
    223224        Source/WebKit2/Shared/API/c/WKGraphicsContext.cpp \
    224225        Source/WebKit2/Shared/API/c/WKGraphicsContext.h \
     226        Source/WebKit2/Shared/API/c/WKHitTestResult.cpp \
     227        Source/WebKit2/Shared/API/c/WKHitTestResult.h \
    225228        Source/WebKit2/Shared/API/c/WKImage.cpp \
    226229        Source/WebKit2/Shared/API/c/WKImage.h \
  • trunk/Source/WebKit2/Shared/API/c/WKHitTestResult.cpp

    r95564 r95565  
    11/*
    22 * Copyright (C) 2010 Apple Inc. All rights reserved.
     3 * Portions Copyright (c) 2010 Motorola Mobility, Inc.  All rights reserved.
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    2425 */
    2526
    26 #ifndef WebKit2_h
    27 #define WebKit2_h
     27#include "config.h"
     28#include "WKHitTestResult.h"
    2829
    29 #include <WebKit2/WKBase.h>
    30 #include <WebKit2/WKType.h>
     30#include "WKAPICast.h"
     31#include "WebHitTestResult.h"
    3132
    32 #include <WebKit2/WKArray.h>
    33 #include <WebKit2/WKBackForwardList.h>
    34 #include <WebKit2/WKBackForwardListItem.h>
    35 #include <WebKit2/WKContext.h>
    36 #include <WebKit2/WKData.h>
    37 #include <WebKit2/WKDictionary.h>
    38 #include <WebKit2/WKError.h>
    39 #include <WebKit2/WKFormSubmissionListener.h>
    40 #include <WebKit2/WKFrame.h>
    41 #include <WebKit2/WKFramePolicyListener.h>
    42 #include <WebKit2/WKGeolocationManager.h>
    43 #include <WebKit2/WKGeolocationPermissionRequest.h>
    44 #include <WebKit2/WKGeolocationPosition.h>
    45 #include <WebKit2/WKGraphicsContext.h>
    46 #include <WebKit2/WKMutableArray.h>
    47 #include <WebKit2/WKMutableDictionary.h>
    48 #include <WebKit2/WKNavigationData.h>
    49 #include <WebKit2/WKNumber.h>
    50 #include <WebKit2/WKOpenPanelParameters.h>
    51 #include <WebKit2/WKOpenPanelResultListener.h>
    52 #include <WebKit2/WKPage.h>
    53 #include <WebKit2/WKPageGroup.h>
    54 #include <WebKit2/WKPreferences.h>
    55 #include <WebKit2/WKString.h>
    56 #include <WebKit2/WKURL.h>
    57 #include <WebKit2/WKURLRequest.h>
    58 #include <WebKit2/WKURLResponse.h>
     33using namespace WebKit;
    5934
    60 #if defined(__OBJC__) && __OBJC__
    61 #import <WebKit2/WKView.h>
    62 #elif !(defined(__APPLE__) && __APPLE__)
    63 #include <WebKit2/WKView.h>
    64 #endif
     35WKTypeID WKHitTestResultGetTypeID()
     36{
     37    return toAPI(WebHitTestResult::APIType);
     38}
    6539
    66 #endif /* WebKit2_h */
     40WKURLRef WKHitTestResultCopyAbsoluteImageURL(WKHitTestResultRef hitTestResultRef)
     41{
     42    return toCopiedURLAPI(toImpl(hitTestResultRef)->absoluteImageURL());
     43}
     44
     45WKURLRef WKHitTestResultCopyAbsoluteLinkURL(WKHitTestResultRef hitTestResultRef)
     46{
     47    return toCopiedURLAPI(toImpl(hitTestResultRef)->absoluteLinkURL());
     48}
     49
     50WKURLRef WKHitTestResultCopyAbsoluteMediaURL(WKHitTestResultRef hitTestResultRef)
     51{
     52    return toCopiedURLAPI(toImpl(hitTestResultRef)->absoluteMediaURL());
     53}
     54
     55WKStringRef WKHitTestResultCopyLinkLabel(WKHitTestResultRef hitTestResultRef)
     56{
     57    return toCopiedAPI(toImpl(hitTestResultRef)->linkLabel());
     58}
     59
     60WKStringRef WKHitTestResultCopyLinkTitle(WKHitTestResultRef hitTestResultRef)
     61{
     62    return toCopiedAPI(toImpl(hitTestResultRef)->linkTitle());
     63}
  • trunk/Source/WebKit2/Shared/API/c/WKHitTestResult.h

    r95564 r95565  
    11/*
    22 * Copyright (C) 2010 Apple Inc. All rights reserved.
     3 * Portions Copyright (c) 2010 Motorola Mobility, Inc.  All rights reserved.
    34 *
    45 * Redistribution and use in source and binary forms, with or without
     
    2425 */
    2526
    26 #ifndef WebKit2_h
    27 #define WebKit2_h
     27#ifndef WKHitTestResult_h
     28#define WKHitTestResult_h
    2829
    2930#include <WebKit2/WKBase.h>
    30 #include <WebKit2/WKType.h>
    3131
    32 #include <WebKit2/WKArray.h>
    33 #include <WebKit2/WKBackForwardList.h>
    34 #include <WebKit2/WKBackForwardListItem.h>
    35 #include <WebKit2/WKContext.h>
    36 #include <WebKit2/WKData.h>
    37 #include <WebKit2/WKDictionary.h>
    38 #include <WebKit2/WKError.h>
    39 #include <WebKit2/WKFormSubmissionListener.h>
    40 #include <WebKit2/WKFrame.h>
    41 #include <WebKit2/WKFramePolicyListener.h>
    42 #include <WebKit2/WKGeolocationManager.h>
    43 #include <WebKit2/WKGeolocationPermissionRequest.h>
    44 #include <WebKit2/WKGeolocationPosition.h>
    45 #include <WebKit2/WKGraphicsContext.h>
    46 #include <WebKit2/WKMutableArray.h>
    47 #include <WebKit2/WKMutableDictionary.h>
    48 #include <WebKit2/WKNavigationData.h>
    49 #include <WebKit2/WKNumber.h>
    50 #include <WebKit2/WKOpenPanelParameters.h>
    51 #include <WebKit2/WKOpenPanelResultListener.h>
    52 #include <WebKit2/WKPage.h>
    53 #include <WebKit2/WKPageGroup.h>
    54 #include <WebKit2/WKPreferences.h>
    55 #include <WebKit2/WKString.h>
    56 #include <WebKit2/WKURL.h>
    57 #include <WebKit2/WKURLRequest.h>
    58 #include <WebKit2/WKURLResponse.h>
    59 
    60 #if defined(__OBJC__) && __OBJC__
    61 #import <WebKit2/WKView.h>
    62 #elif !(defined(__APPLE__) && __APPLE__)
    63 #include <WebKit2/WKView.h>
     32#ifdef __cplusplus
     33extern "C" {
    6434#endif
    6535
    66 #endif /* WebKit2_h */
     36WK_EXPORT WKTypeID WKHitTestResultGetTypeID();
     37
     38WK_EXPORT WKURLRef WKHitTestResultCopyAbsoluteImageURL(WKHitTestResultRef hitTestResult);
     39WK_EXPORT WKURLRef WKHitTestResultCopyAbsoluteLinkURL(WKHitTestResultRef hitTestResult);
     40WK_EXPORT WKURLRef WKHitTestResultCopyAbsoluteMediaURL(WKHitTestResultRef hitTestResult);
     41
     42WK_EXPORT WKStringRef WKHitTestResultCopyLinkLabel(WKHitTestResultRef hitTestResult);
     43WK_EXPORT WKStringRef WKHitTestResultCopyLinkTitle(WKHitTestResultRef hitTestResult);
     44
     45#ifdef __cplusplus
     46}
     47#endif
     48
     49#endif /* WKHitTestResult_h */
  • trunk/Source/WebKit2/UIProcess/API/C/WebKit2.h

    r77432 r95565  
    4444#include <WebKit2/WKGeolocationPosition.h>
    4545#include <WebKit2/WKGraphicsContext.h>
     46#include <WebKit2/WKHitTestResult.h>
    4647#include <WebKit2/WKMutableArray.h>
    4748#include <WebKit2/WKMutableDictionary.h>
  • trunk/Tools/ChangeLog

    r95549 r95565  
     12011-09-20  Nayan Kumar K  <nayankk@motorola.com>
     2
     3        Get hover'ed element URL from HitTest.
     4       
     5        mouseDidMoveOverElement now gets the hover'ed element link using
     6        WKHitTestResult API's.
     7        https://bugs.webkit.org/show_bug.cgi?id=68426
     8
     9        Reviewed by Anders Carlsson.
     10
     11        * MiniBrowser/gtk/BrowserWindow.c:
     12        (mouseDidMoveOverElement):
     13
    1142011-09-20  Leandro Pereira  <leandro@profusion.mobi>
    215
  • trunk/Tools/MiniBrowser/gtk/BrowserWindow.c

    r95315 r95565  
    593593}
    594594
    595 static void mouseDidMoveOverElement(WKPageRef page, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo)
     595static void mouseDidMoveOverElement(WKPageRef page, WKHitTestResultRef hitTestResult, WKEventModifiers modifiers, WKTypeRef userData, const void *clientInfo)
    596596{
    597597    BrowserWindow *window = BROWSER_WINDOW(clientInfo);
    598598    gtk_statusbar_pop(GTK_STATUSBAR(window->statusBar), window->statusBarContextId);
    599599
    600     if (!userData)
    601         return;
    602 
    603     if (WKGetTypeID(userData) != WKURLGetTypeID())
    604         return;
    605 
    606     gchar *link = WKURLGetCString((WKURLRef)userData);
     600    WKURLRef linkUrlRef = WKHitTestResultCopyAbsoluteLinkURL(hitTestResult);
     601    if (!linkUrlRef)
     602        return;
     603
     604    gchar *link = WKURLGetCString(linkUrlRef);
    607605    gtk_statusbar_push(GTK_STATUSBAR(window->statusBar), window->statusBarContextId, link);
    608606    g_free(link);
Note: See TracChangeset for help on using the changeset viewer.