Diff
Modified: trunk/Source/WebKit2/ChangeLog (148659 => 148660)
--- trunk/Source/WebKit2/ChangeLog 2013-04-18 07:26:35 UTC (rev 148659)
+++ trunk/Source/WebKit2/ChangeLog 2013-04-18 08:05:17 UTC (rev 148660)
@@ -1,3 +1,27 @@
+2013-04-18 Kenneth Rohde Christiansen <kenn...@webkit.org>
+
+ [EFL][WK2] Add tooltip API to the WKView client
+ https://bugs.webkit.org/show_bug.cgi?id=111563
+
+ Reviewed by Andreas Kling.
+
+ Add tooltip to the barebone Tizen C API, and implement
+ the method so that the EFL API keeps working.
+
+ * UIProcess/API/C/efl/WKView.h:
+ * UIProcess/efl/ViewClientEfl.cpp:
+ (WebKit::ViewClientEfl::didChangeTooltip):
+ (WebKit):
+ (WebKit::ViewClientEfl::ViewClientEfl):
+ * UIProcess/efl/ViewClientEfl.h:
+ (ViewClientEfl):
+ * UIProcess/efl/WebView.cpp:
+ (WebKit::WebView::toolTipChanged):
+ * UIProcess/efl/WebViewClient.cpp:
+ (WebKit::WebViewClient::didChangeTooltip):
+ (WebKit):
+ * UIProcess/efl/WebViewClient.h:
+
2013-04-17 Joone Hur <joone....@intel.com>
[EFL][AC] m_pendingSurfaceResize needs to be guarded by USE(ACCELERATED_COMPOSITING)
Modified: trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.h (148659 => 148660)
--- trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.h 2013-04-18 07:26:35 UTC (rev 148659)
+++ trunk/Source/WebKit2/UIProcess/API/C/efl/WKView.h 2013-04-18 08:05:17 UTC (rev 148660)
@@ -37,6 +37,7 @@
typedef void (*WKViewPageDidChangeContentsPositionCallback)(WKViewRef view, WKPoint position, const void* clientInfo);
typedef void (*WKViewPageDidRenderFrameCallback)(WKViewRef view, WKSize contentsSize, WKRect coveredRect, const void* clientInfo);
typedef void (*WKViewPageDidChangeViewportAttributesCallback)(WKViewRef view, WKViewportAttributesRef, const void* clientInfo);
+typedef void (*WKViewPageDidChangeTooltipCallback)(WKViewRef view, WKStringRef newTooltip, const void* clientInfo);
struct WKViewClient {
int version;
@@ -51,6 +52,7 @@
WKViewPageDidRenderFrameCallback didRenderFrame;
WKViewCallback didCompletePageTransition;
WKViewPageDidChangeViewportAttributesCallback didChangeViewportAttributes;
+ WKViewPageDidChangeTooltipCallback didChangeTooltip;
};
typedef struct WKViewClient WKViewClient;
Modified: trunk/Source/WebKit2/UIProcess/efl/ViewClientEfl.cpp (148659 => 148660)
--- trunk/Source/WebKit2/UIProcess/efl/ViewClientEfl.cpp 2013-04-18 07:26:35 UTC (rev 148659)
+++ trunk/Source/WebKit2/UIProcess/efl/ViewClientEfl.cpp 2013-04-18 08:05:17 UTC (rev 148660)
@@ -145,6 +145,14 @@
ewkView->scheduleUpdateDisplay();
}
+void ViewClientEfl::didChangeTooltip(WKViewRef, WKStringRef tooltip, const void* clientInfo)
+{
+ if (WKStringIsEmpty(tooltip))
+ toEwkView(clientInfo)->smartCallback<TooltipTextUnset>().call();
+ else
+ toEwkView(clientInfo)->smartCallback<TooltipTextSet>().call(WKEinaSharedString(tooltip));
+}
+
ViewClientEfl::ViewClientEfl(EwkView* view)
: m_view(view)
{
Modified: trunk/Source/WebKit2/UIProcess/efl/ViewClientEfl.h (148659 => 148660)
--- trunk/Source/WebKit2/UIProcess/efl/ViewClientEfl.h 2013-04-18 07:26:35 UTC (rev 148659)
+++ trunk/Source/WebKit2/UIProcess/efl/ViewClientEfl.h 2013-04-18 08:05:17 UTC (rev 148660)
@@ -55,6 +55,7 @@
static void didRenderFrame(WKViewRef, WKSize, WKRect, const void* clientInfo);
static void didCompletePageTransition(WKViewRef, const void* clientInfo);
static void didChangeViewportAttributes(WKViewRef, WKViewportAttributesRef, const void* clientInfo);
+ static void didChangeTooltip(WKViewRef, WKStringRef, const void* clientInfo);
EwkView* m_view;
};
Modified: trunk/Source/WebKit2/UIProcess/efl/WebView.cpp (148659 => 148660)
--- trunk/Source/WebKit2/UIProcess/efl/WebView.cpp 2013-04-18 07:26:35 UTC (rev 148659)
+++ trunk/Source/WebKit2/UIProcess/efl/WebView.cpp 2013-04-18 08:05:17 UTC (rev 148660)
@@ -352,10 +352,7 @@
void WebView::toolTipChanged(const String&, const String& newToolTip)
{
- if (newToolTip.isEmpty())
- m_ewkView->smartCallback<TooltipTextUnset>().call();
- else
- m_ewkView->smartCallback<TooltipTextSet>().call(newToolTip);
+ m_client.didChangeTooltip(this, newToolTip);
}
void WebView::setCursor(const Cursor& cursor)
Modified: trunk/Source/WebKit2/UIProcess/efl/WebViewClient.cpp (148659 => 148660)
--- trunk/Source/WebKit2/UIProcess/efl/WebViewClient.cpp 2013-04-18 07:26:35 UTC (rev 148659)
+++ trunk/Source/WebKit2/UIProcess/efl/WebViewClient.cpp 2013-04-18 08:05:17 UTC (rev 148660)
@@ -100,4 +100,12 @@
m_client.didChangeViewportAttributes(toAPI(view), wkAttributes.get(), m_client.clientInfo);
}
+void WebViewClient::didChangeTooltip(WebView* view, const String& tooltip)
+{
+ if (!m_client.didChangeTooltip)
+ return;
+
+ m_client.didChangeTooltip(toAPI(view), adoptWK(toCopiedAPI(tooltip)).get(), m_client.clientInfo);
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit2/UIProcess/efl/WebViewClient.h (148659 => 148660)
--- trunk/Source/WebKit2/UIProcess/efl/WebViewClient.h 2013-04-18 07:26:35 UTC (rev 148659)
+++ trunk/Source/WebKit2/UIProcess/efl/WebViewClient.h 2013-04-18 08:05:17 UTC (rev 148660)
@@ -51,6 +51,7 @@
void didRenderFrame(WebView*, const WebCore::IntSize&, const WebCore::IntRect&);
void didCompletePageTransition(WebView*);
void didChangeViewportAttributes(WebView*, const WebCore::ViewportAttributes&);
+ void didChangeTooltip(WebView*, const String& tooltip);
};
} // namespace WebKit