Title: [131729] trunk/Source/WebKit2
Revision
131729
Author
carlo...@webkit.org
Date
2012-10-18 05:16:46 -0700 (Thu, 18 Oct 2012)

Log Message

[GTK] Don't use the C API internally in WebKitHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=96779

Reviewed by Xan Lopez.

Using the C++ classes directly instead of the C API wrappers we
avoid a lot of toImpl/toAPI casts, string conversions and
allocations. The code is also a lot simpler and easier to read.

* UIProcess/API/gtk/WebKitHitTestResult.cpp:
(webkitHitTestResultCreate):
(webkitHitTestResultCompare):
* UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewMouseTargetChanged):
(webkitWebViewPopulateContextMenu):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (131728 => 131729)


--- trunk/Source/WebKit2/ChangeLog	2012-10-18 12:09:51 UTC (rev 131728)
+++ trunk/Source/WebKit2/ChangeLog	2012-10-18 12:16:46 UTC (rev 131729)
@@ -1,3 +1,22 @@
+2012-10-18  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [GTK] Don't use the C API internally in WebKitHitTestResult
+        https://bugs.webkit.org/show_bug.cgi?id=96779
+
+        Reviewed by Xan Lopez.
+
+        Using the C++ classes directly instead of the C API wrappers we
+        avoid a lot of toImpl/toAPI casts, string conversions and
+        allocations. The code is also a lot simpler and easier to read.
+
+        * UIProcess/API/gtk/WebKitHitTestResult.cpp:
+        (webkitHitTestResultCreate):
+        (webkitHitTestResultCompare):
+        * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
+        * UIProcess/API/gtk/WebKitWebView.cpp:
+        (webkitWebViewMouseTargetChanged):
+        (webkitWebViewPopulateContextMenu):
+
 2012-10-15  Balazs Kelemen  <kbal...@webkit.org>
 
         [Qt][WTR] Do a forced repaint before generating pixel results

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp (131728 => 131729)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp	2012-10-18 12:09:51 UTC (rev 131728)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResult.cpp	2012-10-18 12:16:46 UTC (rev 131729)
@@ -52,8 +52,6 @@
  *
  */
 
-using namespace WebKit;
-
 enum {
     PROP_0,
 
@@ -237,27 +235,27 @@
     g_type_class_add_private(hitTestResultClass, sizeof(WebKitHitTestResultPrivate));
 }
 
-WebKitHitTestResult* webkitHitTestResultCreate(WKHitTestResultRef wkHitTestResult)
+WebKitHitTestResult* webkitHitTestResultCreate(WebHitTestResult* hitTestResult)
 {
     unsigned context = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT;
 
-    const String& linkURL = toImpl(wkHitTestResult)->absoluteLinkURL();
+    const String& linkURL = hitTestResult->absoluteLinkURL();
     if (!linkURL.isEmpty())
         context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK;
 
-    const String& imageURL = toImpl(wkHitTestResult)->absoluteImageURL();
+    const String& imageURL = hitTestResult->absoluteImageURL();
     if (!imageURL.isEmpty())
         context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE;
 
-    const String& mediaURL = toImpl(wkHitTestResult)->absoluteMediaURL();
+    const String& mediaURL = hitTestResult->absoluteMediaURL();
     if (!mediaURL.isEmpty())
         context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA;
 
-    if (WKHitTestResultIsContentEditable(wkHitTestResult))
+    if (hitTestResult->isContentEditable())
         context |= WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE;
 
-    const String& linkTitle = toImpl(wkHitTestResult)->linkTitle();
-    const String& linkLabel = toImpl(wkHitTestResult)->linkLabel();
+    const String& linkTitle = hitTestResult->linkTitle();
+    const String& linkLabel = hitTestResult->linkLabel();
 
     return WEBKIT_HIT_TEST_RESULT(g_object_new(WEBKIT_TYPE_HIT_TEST_RESULT,
                                                "context", context,
@@ -274,15 +272,15 @@
     return ((string.isEmpty() && cString.isNull()) || (string.utf8() == cString));
 }
 
-bool webkitHitTestResultCompare(WebKitHitTestResult* hitTestResult, WKHitTestResultRef wkHitTestResult)
+bool webkitHitTestResultCompare(WebKitHitTestResult* hitTestResult, WebHitTestResult* webHitTestResult)
 {
     WebKitHitTestResultPrivate* priv = hitTestResult->priv;
-    return WKHitTestResultIsContentEditable(wkHitTestResult) == webkit_hit_test_result_context_is_editable(hitTestResult)
-        && stringIsEqualToCString(toImpl(wkHitTestResult)->absoluteLinkURL(), priv->linkURI)
-        && stringIsEqualToCString(toImpl(wkHitTestResult)->linkTitle(), priv->linkTitle)
-        && stringIsEqualToCString(toImpl(wkHitTestResult)->linkLabel(), priv->linkLabel)
-        && stringIsEqualToCString(toImpl(wkHitTestResult)->absoluteImageURL(), priv->imageURI)
-        && stringIsEqualToCString(toImpl(wkHitTestResult)->absoluteMediaURL(), priv->mediaURI);
+    return webHitTestResult->isContentEditable() == webkit_hit_test_result_context_is_editable(hitTestResult)
+        && stringIsEqualToCString(webHitTestResult->absoluteLinkURL(), priv->linkURI)
+        && stringIsEqualToCString(webHitTestResult->linkTitle(), priv->linkTitle)
+        && stringIsEqualToCString(webHitTestResult->linkLabel(), priv->linkLabel)
+        && stringIsEqualToCString(webHitTestResult->absoluteImageURL(), priv->imageURI)
+        && stringIsEqualToCString(webHitTestResult->absoluteMediaURL(), priv->mediaURI);
 }
 
 /**

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResultPrivate.h (131728 => 131729)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResultPrivate.h	2012-10-18 12:09:51 UTC (rev 131728)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitHitTestResultPrivate.h	2012-10-18 12:16:46 UTC (rev 131729)
@@ -23,7 +23,9 @@
 #include "WebKitHitTestResult.h"
 #include "WebKitPrivate.h"
 
-WebKitHitTestResult* webkitHitTestResultCreate(WKHitTestResultRef);
-bool webkitHitTestResultCompare(WebKitHitTestResult*, WKHitTestResultRef);
+using namespace WebKit;
 
+WebKitHitTestResult* webkitHitTestResultCreate(WebHitTestResult*);
+bool webkitHitTestResultCompare(WebKitHitTestResult*, WebHitTestResult*);
+
 #endif // WebKitHitTestResultPrivate_h

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (131728 => 131729)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp	2012-10-18 12:09:51 UTC (rev 131728)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp	2012-10-18 12:16:46 UTC (rev 131729)
@@ -1423,11 +1423,11 @@
     WebKitWebViewPrivate* priv = webView->priv;
     if (priv->mouseTargetHitTestResult
         && priv->mouseTargetModifiers == modifiers
-        && webkitHitTestResultCompare(priv->mouseTargetHitTestResult.get(), toAPI(hitTestResult)))
+        && webkitHitTestResultCompare(priv->mouseTargetHitTestResult.get(), hitTestResult))
         return;
 
     priv->mouseTargetModifiers = modifiers;
-    priv->mouseTargetHitTestResult = adoptGRef(webkitHitTestResultCreate(toAPI(hitTestResult)));
+    priv->mouseTargetHitTestResult = adoptGRef(webkitHitTestResultCreate(hitTestResult));
     g_signal_emit(webView, signals[MOUSE_TARGET_CHANGED], 0, priv->mouseTargetHitTestResult.get(), modifiers);
 }
 
@@ -1581,7 +1581,7 @@
     if (webHitTestResult->isContentEditable())
         webkitWebViewCreateAndAppendInputMethodsMenuItem(webView, contextMenu.get());
 
-    GRefPtr<WebKitHitTestResult> hitTestResult = adoptGRef(webkitHitTestResultCreate(toAPI(webHitTestResult)));
+    GRefPtr<WebKitHitTestResult> hitTestResult = adoptGRef(webkitHitTestResultCreate(webHitTestResult));
     GOwnPtr<GdkEvent> contextMenuEvent(webkitWebViewBaseTakeContextMenuEvent(webViewBase));
 
     gboolean returnValue;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to