Log Message
[EFL][DRT] http/tests/globalhistory testcases do not pass https://bugs.webkit.org/show_bug.cgi?id=82579
Patch by Mikhail Pozdnyakov <[email protected]> on 2012-06-06 Reviewed by Csaba Osztrogonác. Tools: DRT has provided callbacks for ewk_view "global history delegate" signals. * DumpRenderTree/efl/DumpRenderTree.cpp: (isGlobalHistoryTest): Aux function to ident global history testcase. (createLayoutTestController): * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: (DumpRenderTreeChrome::createView): (DumpRenderTreeChrome::onTitleChanged): Handles also some global history testcases. (DumpRenderTreeChrome::onWebViewNavigatedWithData): New callback function. (DumpRenderTreeChrome::onWebViewServerRedirect): Ditto. (DumpRenderTreeChrome::onWebViewClientRedirect): Ditto. (DumpRenderTreeChrome::onWebViewPopulateVisitedLinks): Ditto. * DumpRenderTree/efl/DumpRenderTreeChrome.h: (DumpRenderTreeChrome): LayoutTests: * platform/efl/Skipped: Unskip http/tests/globalhistory.
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (119589 => 119590)
--- trunk/LayoutTests/ChangeLog 2012-06-06 14:12:36 UTC (rev 119589)
+++ trunk/LayoutTests/ChangeLog 2012-06-06 14:57:42 UTC (rev 119590)
@@ -1,3 +1,12 @@
+2012-06-06 Mikhail Pozdnyakov <[email protected]>
+
+ [EFL][DRT] http/tests/globalhistory testcases do not pass
+ https://bugs.webkit.org/show_bug.cgi?id=82579
+
+ Reviewed by Csaba Osztrogonác.
+
+ * platform/efl/Skipped: Unskip http/tests/globalhistory.
+
2012-06-06 Ilya Tikhonovsky <[email protected]>
Unreviewed update chromium test expectations.
Modified: trunk/LayoutTests/platform/efl/Skipped (119589 => 119590)
--- trunk/LayoutTests/platform/efl/Skipped 2012-06-06 14:12:36 UTC (rev 119589)
+++ trunk/LayoutTests/platform/efl/Skipped 2012-06-06 14:57:42 UTC (rev 119590)
@@ -293,9 +293,6 @@
fast/dom/Window/slow-unload-handler.html
fast/dom/Window/slow-unload-handler-only-frame-is-stopped.html
-# The EFL port has no global history delegate
-http/tests/globalhistory
-
# Fails because of the security policy of the user agent?
# http://webkit.org/b/79604
fast/mutation/database-callback-delivery.html
Modified: trunk/Tools/ChangeLog (119589 => 119590)
--- trunk/Tools/ChangeLog 2012-06-06 14:12:36 UTC (rev 119589)
+++ trunk/Tools/ChangeLog 2012-06-06 14:57:42 UTC (rev 119590)
@@ -1,3 +1,25 @@
+2012-06-06 Mikhail Pozdnyakov <[email protected]>
+
+ [EFL][DRT] http/tests/globalhistory testcases do not pass
+ https://bugs.webkit.org/show_bug.cgi?id=82579
+
+ Reviewed by Csaba Osztrogonác.
+
+ DRT has provided callbacks for ewk_view "global history delegate" signals.
+
+ * DumpRenderTree/efl/DumpRenderTree.cpp:
+ (isGlobalHistoryTest): Aux function to ident global history testcase.
+ (createLayoutTestController):
+ * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
+ (DumpRenderTreeChrome::createView):
+ (DumpRenderTreeChrome::onTitleChanged): Handles also some global history testcases.
+ (DumpRenderTreeChrome::onWebViewNavigatedWithData): New callback function.
+ (DumpRenderTreeChrome::onWebViewServerRedirect): Ditto.
+ (DumpRenderTreeChrome::onWebViewClientRedirect): Ditto.
+ (DumpRenderTreeChrome::onWebViewPopulateVisitedLinks): Ditto.
+ * DumpRenderTree/efl/DumpRenderTreeChrome.h:
+ (DumpRenderTreeChrome):
+
2012-06-06 János Badics <[email protected]>
[Qt] run-qtwebkit-tests hangs with -j1
Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTree.cpp (119589 => 119590)
--- trunk/Tools/DumpRenderTree/efl/DumpRenderTree.cpp 2012-06-06 14:12:36 UTC (rev 119589)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTree.cpp 2012-06-06 14:57:42 UTC (rev 119590)
@@ -199,6 +199,11 @@
return (hashSeparatorPos != notFound) ? testURL.substring(hashSeparatorPos + 1) : String();
}
+static inline bool isGlobalHistoryTest(const String& cTestPathOrURL)
+{
+ return cTestPathOrURL.contains("/globalhistory/");
+}
+
static void createLayoutTestController(const String& testURL, const String& expectedPixelHash)
{
gLayoutTestController =
@@ -214,6 +219,7 @@
gLayoutTestController->setDumpFrameLoadCallbacks(true);
gLayoutTestController->setDeveloperExtrasEnabled(true);
+ gLayoutTestController->setDumpHistoryDelegateCallbacks(isGlobalHistoryTest(testURL));
if (shouldDumpAsText(testURL)) {
gLayoutTestController->setDumpAsText(true);
Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (119589 => 119590)
--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp 2012-06-06 14:12:36 UTC (rev 119589)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp 2012-06-06 14:57:42 UTC (rev 119590)
@@ -110,6 +110,10 @@
evas_object_smart_callback_add(view, "mixedcontent,run", onInsecureContentRun, 0);
evas_object_smart_callback_add(view, "mixedcontent,displayed", onInsecureContentDisplayed, 0);
evas_object_smart_callback_add(view, "frame,created", onFrameCreated, 0);
+ evas_object_smart_callback_add(view, "navigate,with,data", onWebViewNavigatedWithData, 0);
+ evas_object_smart_callback_add(view, "perform,server,redirect", onWebViewServerRedirect, 0);
+ evas_object_smart_callback_add(view, "perform,client,redirect", onWebViewClientRedirect, 0);
+ evas_object_smart_callback_add(view, "populate,visited,links", onWebViewPopulateVisitedLinks, 0);
connectEditingCallbacks(view);
@@ -454,6 +458,10 @@
if (!done && gLayoutTestController->dumpTitleChanges())
printf("TITLE CHANGED: %s\n", (titleText && titleText->string) ? titleText->string : "");
+
+ if (!done && gLayoutTestController->dumpHistoryDelegateCallbacks())
+ printf("WebView updated the title for history URL \"%s\" to \"%s\".\n", ewk_frame_uri_get(frame)
+ , (titleText && titleText->string) ? titleText->string : "");
}
void DumpRenderTreeChrome::onDocumentLoadFinished(void*, Evas_Object*, void* eventInfo)
@@ -550,6 +558,57 @@
evas_object_smart_callback_add(frame, "xss,detected", onDidDetectXSS, 0);
}
+void DumpRenderTreeChrome::onWebViewNavigatedWithData(void*, Evas_Object*, void* eventInfo)
+{
+ if (done || !gLayoutTestController->dumpHistoryDelegateCallbacks())
+ return;
+
+ ASSERT(eventInfo);
+ const Ewk_View_Navigation_Data* navigationData = static_cast<Ewk_View_Navigation_Data*>(eventInfo);
+
+ ASSERT(navigationData->request);
+ ASSERT(navigationData->response);
+
+ const bool wasFailure = navigationData->has_substitute_data || navigationData->response->status_code >= 400;
+ const bool wasRedirected = navigationData->client_redirect_source && *(navigationData->client_redirect_source);
+
+ printf("WebView navigated to url \"%s\" with title \"%s\" with HTTP equivalent method \"%s\". The navigation was %s and was %s%s.\n",
+ navigationData->url,
+ navigationData->title,
+ navigationData->request->http_method,
+ wasFailure? "a failure" : "successful",
+ (wasRedirected ? "a client redirect from " : "not a client redirect"),
+ (wasRedirected ? navigationData->client_redirect_source : ""));
+}
+
+void DumpRenderTreeChrome::onWebViewServerRedirect(void*, Evas_Object*, void* eventInfo)
+{
+ if (done || !gLayoutTestController->dumpHistoryDelegateCallbacks())
+ return;
+
+ ASSERT(eventInfo);
+ const Ewk_View_Redirection_Data* data = ""
+ printf("WebView performed a server redirect from \"%s\" to \"%s\".\n", data->source_url, data->destination_url);
+}
+
+void DumpRenderTreeChrome::onWebViewClientRedirect(void*, Evas_Object*, void* eventInfo)
+{
+ if (done || !gLayoutTestController->dumpHistoryDelegateCallbacks())
+ return;
+
+ ASSERT(eventInfo);
+ const Ewk_View_Redirection_Data* data = ""
+ printf("WebView performed a client redirect from \"%s\" to \"%s\".\n", data->source_url, data->destination_url);
+}
+
+void DumpRenderTreeChrome::onWebViewPopulateVisitedLinks(void*, Evas_Object* ewkView, void*)
+{
+ if (done || !gLayoutTestController->dumpHistoryDelegateCallbacks())
+ return;
+
+ printf("Asked to populate visited links for WebView \"%s\"\n", ewk_view_uri_get(ewkView));
+}
+
void DumpRenderTreeChrome::onFrameProvisionalLoad(void*, Evas_Object* frame, void*)
{
if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) {
Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h (119589 => 119590)
--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h 2012-06-06 14:12:36 UTC (rev 119589)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h 2012-06-06 14:57:42 UTC (rev 119590)
@@ -91,6 +91,14 @@
static void onWebViewOnloadEvent(void*, Evas_Object*, void*);
+ static void onWebViewNavigatedWithData(void*, Evas_Object*, void*);
+
+ static void onWebViewServerRedirect(void*, Evas_Object*, void*);
+
+ static void onWebViewClientRedirect(void*, Evas_Object*, void*);
+
+ static void onWebViewPopulateVisitedLinks(void*, Evas_Object*, void*);
+
static void onInsecureContentRun(void*, Evas_Object*, void*);
static void onInsecureContentDisplayed(void*, Evas_Object*, void*);
_______________________________________________ webkit-changes mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes
