Title: [118331] trunk
Revision
118331
Author
[email protected]
Date
2012-05-24 00:20:57 -0700 (Thu, 24 May 2012)

Log Message

[EFL] EFL's LayoutTestController needs to implement sendWebIntentResponse
https://bugs.webkit.org/show_bug.cgi?id=86867

Patch by Christophe Dumez <[email protected]> on 2012-05-24
Reviewed by Adam Barth.

Source/WebKit/efl:

ewk_intent_request_failure_post() should call
WebCore::IntentRequest::postFailure(), not
WebCore::IntentRequest::postResult().

* ewk/ewk_intent_request.cpp:
(ewk_intent_request_failure_post):

Tools:

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):

LayoutTests:

Remove from test expectations the webintents tests that require
support for sendWebIntentResponse() in EFL's LayoutTestController.

* platform/efl/test_expectations.txt:

Modified Paths

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.
+}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to