Changeset 95999 in webkit


Ignore:
Timestamp:
Sep 26, 2011 3:00:06 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-26
Reviewed by Anders Carlsson.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • UIProcess/API/C/WKHitTestResult.cpp: Added.

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

  • UIProcess/API/C/WKHitTestResult.h: Added.
  • UIProcess/API/C/WebKit2.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebKit2API.pri:
  • win/WebKit2.vcproj:
  • win/WebKit2Generated.make:

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-26
Reviewed by Anders Carlsson.

  • MiniBrowser/gtk/BrowserWindow.c:

(mouseDidMoveOverElement):

Location:
trunk
Files:
10 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/CMakeLists.txt

    r95310 r95999  
    192192    UIProcess/API/C/WKFrame.cpp
    193193    UIProcess/API/C/WKFramePolicyListener.cpp
     194    UIProcess/API/C/WKHitTestResult.cpp
    194195    UIProcess/API/C/WKIconDatabase.cpp
    195196    UIProcess/API/C/WKInspector.cpp
  • trunk/Source/WebKit2/ChangeLog

    r95989 r95999  
     12011-09-26  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        * CMakeLists.txt:
     13        * GNUmakefile.am:
     14        * UIProcess/API/C/WKHitTestResult.cpp: Added.
     15        (WKHitTestResultGetTypeID):
     16        (WKHitTestResultCopyAbsoluteImageURL):
     17        (WKHitTestResultCopyAbsoluteLinkURL):
     18        (WKHitTestResultCopyAbsoluteMediaURL):
     19        (WKHitTestResultCopyLinkLabel):
     20        (WKHitTestResultCopyLinkTitle):
     21        * UIProcess/API/C/WKHitTestResult.h: Added.
     22        * UIProcess/API/C/WebKit2.h:
     23        * WebKit2.xcodeproj/project.pbxproj:
     24        * WebKit2API.pri:
     25        * win/WebKit2.vcproj:
     26        * win/WebKit2Generated.make:
     27
    1282011-09-26  Csaba Osztrogonác  <ossy@webkit.org>
    229
  • trunk/Source/WebKit2/GNUmakefile.am

    r95759 r95999  
    4949        $(WebKit2)/UIProcess/API/C/WKFrame.h \
    5050        $(WebKit2)/UIProcess/API/C/WKFramePolicyListener.h \
     51        $(WebKit2)/UIProcess/API/C/WKHitTestResult.h \
    5152        $(WebKit2)/UIProcess/API/C/WKInspector.h \
    5253        $(WebKit2)/UIProcess/API/C/WKKeyValueStorageManager.h \
     
    414415        Source/WebKit2/UIProcess/API/C/WKFramePolicyListener.cpp \
    415416        Source/WebKit2/UIProcess/API/C/WKFramePolicyListener.h \
     417        Source/WebKit2/UIProcess/API/C/WKHitTestResult.cpp \
     418        Source/WebKit2/UIProcess/API/C/WKHitTestResult.h \
    416419        Source/WebKit2/UIProcess/API/C/WKIconDatabase.cpp \
    417420        Source/WebKit2/UIProcess/API/C/WKIconDatabase.h \
  • trunk/Source/WebKit2/UIProcess/API/C/WKHitTestResult.cpp

    r95998 r95999  
    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/UIProcess/API/C/WKHitTestResult.h

    r95998 r95999  
    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

    r95901 r95999  
    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/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

    r95853 r95999  
    423423                93FC67BF12D3CCF200A60610 /* EncoderAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93FC679F12D3CC7400A60610 /* EncoderAdapter.cpp */; };
    424424                93FC67C012D3CCF200A60610 /* EncoderAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FC67A012D3CC7400A60610 /* EncoderAdapter.h */; };
     425                B62E7310143047A60069EC35 /* WKHitTestResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B62E730F143047A60069EC35 /* WKHitTestResult.cpp */; };
     426                B62E7312143047B00069EC35 /* WKHitTestResult.h in Headers */ = {isa = PBXBuildFile; fileRef = B62E7311143047B00069EC35 /* WKHitTestResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
    425427                B878B615133428DC006888E9 /* CorrectionPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = B878B613133428DC006888E9 /* CorrectionPanel.h */; };
    426428                B878B616133428DC006888E9 /* CorrectionPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = B878B614133428DC006888E9 /* CorrectionPanel.mm */; };
     
    13721374                A72D5D7F1236CBA800A88B15 /* WebSerializedScriptValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSerializedScriptValue.h; sourceTree = "<group>"; };
    13731375                B396EA5512E0ED2D00F4FEB7 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
     1376                B62E730F143047A60069EC35 /* WKHitTestResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKHitTestResult.cpp; sourceTree = "<group>"; };
     1377                B62E7311143047B00069EC35 /* WKHitTestResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKHitTestResult.h; sourceTree = "<group>"; };
    13741378                B878B613133428DC006888E9 /* CorrectionPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CorrectionPanel.h; sourceTree = "<group>"; };
    13751379                B878B614133428DC006888E9 /* CorrectionPanel.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CorrectionPanel.mm; sourceTree = "<group>"; };
     
    27742778                        isa = PBXGroup;
    27752779                        children = (
     2780                                B62E7311143047B00069EC35 /* WKHitTestResult.h */,
     2781                                B62E730F143047A60069EC35 /* WKHitTestResult.cpp */,
    27762782                                5123CF18133D25E60056F800 /* cg */,
    27772783                                6EE849C41368D9040038D481 /* mac */,
     
    38633869                                7801C09A142290C400FAF9AF /* WebHitTestResult.h in Headers */,
    38643870                                0F174AA3142A4CB70039250F /* WebGeometry.h in Headers */,
     3871                                B62E7312143047B00069EC35 /* WKHitTestResult.h in Headers */,
    38653872                        );
    38663873                        runOnlyForDeploymentPostprocessing = 0;
     
    45504557                                7801C099142290C400FAF9AF /* WebHitTestResult.cpp in Sources */,
    45514558                                0F174AA7142AAC610039250F /* WKGeometry.cpp in Sources */,
     4559                                B62E7310143047A60069EC35 /* WKHitTestResult.cpp in Sources */,
    45524560                        );
    45534561                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/Source/WebKit2/WebKit2API.pri

    r95759 r95999  
    3535    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPermissionRequest.cpp \
    3636    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp \
     37    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKHitTestResult.cpp \
    3738    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKIconDatabase.cpp \
    3839    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKInspector.cpp \
     
    109110    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPermissionRequest.h \
    110111    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPosition.h \
     112    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKHitTestResult.h \
    111113    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKIconDatabase.h \
    112114    $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKInspector.h \
  • trunk/Source/WebKit2/win/WebKit2.vcproj

    r95759 r95999  
    32583258                                        </File>
    32593259                                        <File
     3260                                                RelativePath="..\UIProcess\API\C\WKHitTestResult.cpp"
     3261                                                >
     3262                                        </File>
     3263                                        <File
     3264                                                RelativePath="..\UIProcess\API\C\WKHitTestResult.h"
     3265                                                >
     3266                                        </File>
     3267                                        <File
    32603268                                                RelativePath="..\UIProcess\API\C\WKIconDatabase.cpp"
    32613269                                                >
  • trunk/Source/WebKit2/win/WebKit2Generated.make

    r95299 r95999  
    6464    xcopy /y /d "..\UIProcess\API\C\WKGeolocationPermissionRequest.h" "%ConfigurationBuildDir%\include\WebKit2"
    6565    xcopy /y /d "..\UIProcess\API\C\WKGeolocationPosition.h" "%ConfigurationBuildDir%\include\WebKit2"
     66    xcopy /y /d "..\UIProcess\API\C\WKHitTestResult.h" "%ConfigurationBuildDir%\include\WebKit2"
    6667    xcopy /y /d "..\UIProcess\API\C\WKInspector.h" "%ConfigurationBuildDir%\include\WebKit2"
    6768    xcopy /y /d "..\UIProcess\API\C\WKIconDatabase.h" "%ConfigurationBuildDir%\include\WebKit2"
  • trunk/Tools/ChangeLog

    r95995 r95999  
     12011-09-26  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-26  David Levin  <levin@chromium.org>
    215
  • trunk/Tools/MiniBrowser/gtk/BrowserWindow.c

    r95569 r95999  
    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);
     605    WKRelease(linkUrlRef);
    607606    gtk_statusbar_push(GTK_STATUSBAR(window->statusBar), window->statusBarContextId, link);
    608607    g_free(link);
Note: See TracChangeset for help on using the changeset viewer.