Diff
Modified: trunk/LayoutTests/ChangeLog (118330 => 118331)
--- trunk/LayoutTests/ChangeLog 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/LayoutTests/ChangeLog 2012-05-24 07:20:57 UTC (rev 118331)
@@ -1,3 +1,15 @@
+2012-05-24 Christophe Dumez <[email protected]>
+
+ [EFL] EFL's LayoutTestController needs to implement sendWebIntentResponse
+ https://bugs.webkit.org/show_bug.cgi?id=86867
+
+ Reviewed by Adam Barth.
+
+ Remove from test expectations the webintents tests that require
+ support for sendWebIntentResponse() in EFL's LayoutTestController.
+
+ * platform/efl/test_expectations.txt:
+
2012-05-23 Filip Pizlo <[email protected]>
DFG operationTearOffActivation should return after handling the null activation case
Modified: trunk/LayoutTests/platform/efl/test_expectations.txt (118330 => 118331)
--- trunk/LayoutTests/platform/efl/test_expectations.txt 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/LayoutTests/platform/efl/test_expectations.txt 2012-05-24 07:20:57 UTC (rev 118331)
@@ -635,10 +635,8 @@
// Incomplete Web Intents support
BUGWK86866 SKIP : webintents/intent-tag.html = TEXT
BUGWK86865 SKIP : webintents/web-intents-delivery.html = TEXT
-BUGWK86867 SKIP : webintents/web-intents-failure.html = TEXT
BUGWK86841 SKIP : webintents/web-intents-invoke-port.html = TEXT
BUGWK86873 SKIP : webintents/web-intents-obj-constructor.html = TEXT
-BUGWK86867 SKIP : webintents/web-intents-reply.html = TEXT
// EFL's LayoutTestController does not implement setAutomaticLinkDetectionEnabled
BUGWK85463 SKIP : editing/inserting/typing-space-to-trigger-smart-link.html = FAIL
Modified: trunk/Source/WebKit/efl/ChangeLog (118330 => 118331)
--- trunk/Source/WebKit/efl/ChangeLog 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Source/WebKit/efl/ChangeLog 2012-05-24 07:20:57 UTC (rev 118331)
@@ -1,5 +1,19 @@
2012-05-24 Christophe Dumez <[email protected]>
+ [EFL] EFL's LayoutTestController needs to implement sendWebIntentResponse
+ https://bugs.webkit.org/show_bug.cgi?id=86867
+
+ Reviewed by Adam Barth.
+
+ ewk_intent_request_failure_post() should call
+ WebCore::IntentRequest::postFailure(), not
+ WebCore::IntentRequest::postResult().
+
+ * ewk/ewk_intent_request.cpp:
+ (ewk_intent_request_failure_post):
+
+2012-05-24 Christophe Dumez <[email protected]>
+
[EFL] The EFL port has no support for title directionality
https://bugs.webkit.org/show_bug.cgi?id=86462
Modified: trunk/Source/WebKit/efl/ewk/ewk_intent_request.cpp (118330 => 118331)
--- trunk/Source/WebKit/efl/ewk/ewk_intent_request.cpp 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Source/WebKit/efl/ewk/ewk_intent_request.cpp 2012-05-24 07:20:57 UTC (rev 118331)
@@ -96,7 +96,7 @@
EWK_INTENT_REQUEST_CORE_GET_OR_RETURN(request, core);
RefPtr<WebCore::SerializedScriptValue> value = WebCore::SerializedScriptValue::create(String::fromUTF8(failure));
- core->postResult(value.release().leakRef());
+ core->postFailure(value.release().leakRef());
#endif
}
Modified: trunk/Tools/ChangeLog (118330 => 118331)
--- trunk/Tools/ChangeLog 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/ChangeLog 2012-05-24 07:20:57 UTC (rev 118331)
@@ -1,5 +1,39 @@
2012-05-24 Christophe Dumez <[email protected]>
+ [EFL] EFL's LayoutTestController needs to implement sendWebIntentResponse
+ https://bugs.webkit.org/show_bug.cgi?id=86867
+
+ Reviewed by Adam Barth.
+
+ Add implementation for sendWebIntentResponse() in EFL's
+ LayoutTestController and add empty implementation for other ports.
+
+ * DumpRenderTree/LayoutTestController.cpp:
+ (sendWebIntentResponseCallback):
+ (LayoutTestController::staticFunctions):
+ * DumpRenderTree/LayoutTestController.h:
+ (LayoutTestController):
+ * DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
+ (LayoutTestController::sendWebIntentResponse):
+ * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
+ (DumpRenderTreeChrome::currentIntentRequest):
+ (DumpRenderTreeChrome::resetDefaultsToConsistentValues):
+ (DumpRenderTreeChrome::onFrameIntentNew):
+ * DumpRenderTree/efl/DumpRenderTreeChrome.h:
+ (DumpRenderTreeChrome):
+ * DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
+ (LayoutTestController::sendWebIntentResponse):
+ * DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
+ (LayoutTestController::sendWebIntentResponse):
+ * DumpRenderTree/mac/LayoutTestControllerMac.mm:
+ (LayoutTestController::sendWebIntentResponse):
+ * DumpRenderTree/win/LayoutTestControllerWin.cpp:
+ (LayoutTestController::sendWebIntentResponse):
+ * DumpRenderTree/wx/LayoutTestControllerWx.cpp:
+ (LayoutTestController::sendWebIntentResponse):
+
+2012-05-24 Christophe Dumez <[email protected]>
+
[EFL] The EFL port has no support for title directionality
https://bugs.webkit.org/show_bug.cgi?id=86462
Modified: trunk/Tools/DumpRenderTree/LayoutTestController.cpp (118330 => 118331)
--- trunk/Tools/DumpRenderTree/LayoutTestController.cpp 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/LayoutTestController.cpp 2012-05-24 07:20:57 UTC (rev 118331)
@@ -2005,7 +2005,21 @@
return JSValueMakeUndefined(context);
}
+static JSValueRef sendWebIntentResponseCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+ JSRetainPtr<JSStringRef> response;
+ if (argumentCount == 1) {
+ response.adopt(JSValueToStringCopy(context, arguments[0], exception));
+ ASSERT(!*exception);
+ } else
+ response.adopt(JSStringCreateWithUTF8CString(0));
+ LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
+ controller->sendWebIntentResponse(response.get());
+
+ return JSValueMakeUndefined(context);
+}
+
static JSValueRef abortModalCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
{
LayoutTestController* controller = static_cast<LayoutTestController*>(JSObjectGetPrivate(thisObject));
@@ -2338,6 +2352,7 @@
{ "removeOriginAccessWhitelistEntry", removeOriginAccessWhitelistEntryCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "repaintSweepHorizontally", repaintSweepHorizontallyCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "resetPageVisibility", resetPageVisibilityCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+ { "sendWebIntentResponse", sendWebIntentResponseCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "setAcceptsEditing", setAcceptsEditingCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "setAllowUniversalAccessFromFileURLs", setAllowUniversalAccessFromFileURLsCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
{ "setAllowFileAccessFromFileURLs", setAllowFileAccessFromFileURLsCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
Modified: trunk/Tools/DumpRenderTree/LayoutTestController.h (118330 => 118331)
--- trunk/Tools/DumpRenderTree/LayoutTestController.h 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/LayoutTestController.h 2012-05-24 07:20:57 UTC (rev 118331)
@@ -86,6 +86,7 @@
void queueNonLoadingScript(JSStringRef script);
void queueReload();
void removeAllVisitedLinks();
+ void sendWebIntentResponse(JSStringRef response);
void setAcceptsEditing(bool acceptsEditing);
void setAllowUniversalAccessFromFileURLs(bool);
void setAllowFileAccessFromFileURLs(bool);
Modified: trunk/Tools/DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp (118330 => 118331)
--- trunk/Tools/DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp 2012-05-24 07:20:57 UTC (rev 118331)
@@ -877,3 +877,8 @@
{
notImplemented();
}
+
+void LayoutTestController::sendWebIntentResponse(JSStringRef)
+{
+ notImplemented();
+}
Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (118330 => 118331)
--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp 2012-05-24 07:20:57 UTC (rev 118331)
@@ -53,6 +53,7 @@
HashMap<unsigned long, CString> DumpRenderTreeChrome::m_dumpAssignedUrls;
Evas_Object* DumpRenderTreeChrome::m_provisionalLoadFailedFrame = 0;
+Ewk_Intent_Request* DumpRenderTreeChrome::m_currentIntentRequest = 0;
PassOwnPtr<DumpRenderTreeChrome> DumpRenderTreeChrome::create(Evas* evas)
{
@@ -196,6 +197,11 @@
return m_mainView;
}
+Ewk_Intent_Request* DumpRenderTreeChrome::currentIntentRequest() const
+{
+ return m_currentIntentRequest;
+}
+
void DumpRenderTreeChrome::resetDefaultsToConsistentValues()
{
ewk_settings_icon_database_clear();
@@ -263,6 +269,11 @@
DumpRenderTreeSupportEfl::setJavaScriptProfilingEnabled(mainView(), false);
DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting(mainView(), false);
DumpRenderTreeSupportEfl::setSerializeHTTPLoads(false);
+
+ if (m_currentIntentRequest) {
+ ewk_intent_request_unref(m_currentIntentRequest);
+ m_currentIntentRequest = 0;
+ }
}
static CString pathSuitableForTestResult(const char* uriString)
@@ -681,6 +692,11 @@
if (!intent)
return;
+ ewk_intent_request_ref(request);
+ if (m_currentIntentRequest)
+ ewk_intent_request_unref(m_currentIntentRequest);
+ m_currentIntentRequest = request;
+
printf("Received Web Intent: action="" type=%s\n",
ewk_intent_action_get(intent),
ewk_intent_type_get(intent));
Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h (118330 => 118331)
--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h 2012-05-24 07:20:57 UTC (rev 118331)
@@ -32,6 +32,7 @@
#include <Eina.h>
#include <Evas.h>
+#include <ewk_intent_request.h>
#include <wtf/HashMap.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -53,6 +54,8 @@
Evas_Object* mainFrame() const;
Evas_Object* mainView() const;
+ Ewk_Intent_Request* currentIntentRequest() const;
+
void resetDefaultsToConsistentValues();
private:
@@ -68,6 +71,7 @@
Vector<Evas_Object*> m_extraViews;
static HashMap<unsigned long, CString> m_dumpAssignedUrls;
static Evas_Object* m_provisionalLoadFailedFrame;
+ static Ewk_Intent_Request* m_currentIntentRequest;
// Smart callbacks
static void onWindowObjectCleared(void*, Evas_Object*, void*);
Modified: trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp (118330 => 118331)
--- trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp 2012-05-24 07:20:57 UTC (rev 118331)
@@ -851,3 +851,16 @@
{
notImplemented();
}
+
+void LayoutTestController::sendWebIntentResponse(JSStringRef response)
+{
+ Ewk_Intent_Request* request = browser->currentIntentRequest();
+ if (!request)
+ return;
+
+ JSC::UString responseString = response->ustring();
+ if (responseString.isNull())
+ ewk_intent_request_failure_post(request, "ERROR");
+ else
+ ewk_intent_request_result_post(request, responseString.utf8().data());
+}
Modified: trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp (118330 => 118331)
--- trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/gtk/LayoutTestControllerGtk.cpp 2012-05-24 07:20:57 UTC (rev 118331)
@@ -1020,3 +1020,8 @@
{
// FIXME: Implement this.
}
+
+void LayoutTestController::sendWebIntentResponse(JSStringRef)
+{
+ // FIXME: Implement this.
+}
Modified: trunk/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm (118330 => 118331)
--- trunk/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/mac/LayoutTestControllerMac.mm 2012-05-24 07:20:57 UTC (rev 118331)
@@ -1213,3 +1213,8 @@
{
// FIXME: Implement.
}
+
+void LayoutTestController::sendWebIntentResponse(JSStringRef)
+{
+ // FIXME: Implement.
+}
Modified: trunk/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp (118330 => 118331)
--- trunk/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/win/LayoutTestControllerWin.cpp 2012-05-24 07:20:57 UTC (rev 118331)
@@ -1514,3 +1514,8 @@
{
// FIXME: Implement this.
}
+
+void LayoutTestController::sendWebIntentResponse(JSStringRef)
+{
+ // FIXME: Implement this.
+}
Modified: trunk/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp (118330 => 118331)
--- trunk/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp 2012-05-24 07:05:31 UTC (rev 118330)
+++ trunk/Tools/DumpRenderTree/wx/LayoutTestControllerWx.cpp 2012-05-24 07:20:57 UTC (rev 118331)
@@ -647,3 +647,8 @@
{
// FIXME: Implement this.
}
+
+void LayoutTestController::sendWebIntentResponse(JSStringRef)
+{
+ // FIXME: Implement this.
+}