Title: [114376] trunk
Revision
114376
Author
[email protected]
Date
2012-04-17 08:02:36 -0700 (Tue, 17 Apr 2012)

Log Message

[EFL] DRT should support LayoutTestController's dumpFrameLoadCallbacks()
https://bugs.webkit.org/show_bug.cgi?id=83030

Patch by Christophe Dumez <[email protected]> on 2012-04-17
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Implement support for LayoutTestController's dumpFrameLoadCallbacks()
in EFL's DumpRenderTree. We no longer emit the "load,finished" signal
from postProgressFinishedNotification() since it is already emitted
from dispatchDidFinishLoad(). This avoids unwanted extra signals we
prevent some tests from passing (e.g.
http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html).

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::postProgressFinishedNotification):
(WebCore::FrameLoaderClientEfl::dispatchDidFinishLoad):
(WebCore::FrameLoaderClientEfl::dispatchDidHandleOnloadEvents):
(WebCore::FrameLoaderClientEfl::dispatchDidCommitLoad):
(WebCore::FrameLoaderClientEfl::dispatchDidFailLoad):
* WebCoreSupport/FrameLoaderClientEfl.h:
(FrameLoaderClientEfl):
* ewk/ewk_frame.cpp:
(ewk_frame_load_committed):
* ewk/ewk_frame.h:
* ewk/ewk_private.h:
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(ewk_view_onload_event):
* ewk/ewk_view.h:

Tools:

Implement support for LayoutTestController's dumpFrameLoadCallbacks()
in EFL's DumpRenderTree.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::createView):
(DumpRenderTreeChrome::processWork):
(DumpRenderTreeChrome::topLoadingFrameLoadFinished):
(DumpRenderTreeChrome::onWebViewOnloadEvent):
(DumpRenderTreeChrome::onInsecureContentRun):
(DumpRenderTreeChrome::onInsecureContentDisplayed):
(DumpRenderTreeChrome::onFrameCreated):
(DumpRenderTreeChrome::onFrameProvisionalLoad):
(DumpRenderTreeChrome::onFrameLoadCommitted):
(DumpRenderTreeChrome::onFrameLoadFinished):
(DumpRenderTreeChrome::onFrameLoadError):
* DumpRenderTree/efl/DumpRenderTreeChrome.h:
(DumpRenderTreeChrome):

LayoutTests:

Unskip the test cases in EFL which needed dumpFrameLoadCallbacks()
support in the DumpRenderTree now that it is implemented.

* platform/efl/Skipped:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (114375 => 114376)


--- trunk/LayoutTests/ChangeLog	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/LayoutTests/ChangeLog	2012-04-17 15:02:36 UTC (rev 114376)
@@ -1,3 +1,15 @@
+2012-04-17  Christophe Dumez  <[email protected]>
+
+        [EFL] DRT should support LayoutTestController's dumpFrameLoadCallbacks()
+        https://bugs.webkit.org/show_bug.cgi?id=83030
+
+        Reviewed by Antonio Gomes.
+
+        Unskip the test cases in EFL which needed dumpFrameLoadCallbacks()
+        support in the DumpRenderTree now that it is implemented.
+
+        * platform/efl/Skipped:
+
 2012-04-17  Allan Sandfeld Jensen  <[email protected]>
 
         Asserts in XMLHttpRequestProgressEventThrottle

Modified: trunk/LayoutTests/platform/efl/Skipped (114375 => 114376)


--- trunk/LayoutTests/platform/efl/Skipped	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/LayoutTests/platform/efl/Skipped	2012-04-17 15:02:36 UTC (rev 114376)
@@ -754,7 +754,6 @@
 fast/history/back-forward-reset-after-error-handling.html
 
 # Missing delegates: tests which need proper frame loader callbacks reporting
-http/tests/security/mixedContent/empty-url-plugin-in-frame.html
 fast/loader/file-protocol-fragment.html
 
 # Missing delegates: tests failing because of missing resource load delegate callbacks.
@@ -1163,7 +1162,6 @@
 # Failing http tests (via GTK+)
 http/tests/loading/bad-scheme-subframe.html
 http/tests/loading/bad-server-subframe.html
-http/tests/loading/gmail-assert-on-load.html
 http/tests/loading/redirect-with-no-location-crash.html
 http/tests/loading/text-content-type-with-binary-extension.html
 http/tests/media/video-play-stall-seek.html
@@ -1368,7 +1366,6 @@
 fast/html/tab-order.html
 fast/inline/skipped-whitespace-boundingBox.html
 fast/loader/fragment-after-redirect-gets-back-entry.html
-fast/loader/subframe-removes-itself.html
 fast/multicol/client-rects.html
 fast/multicol/single-line.html
 fast/overflow/overflow-y-scroll.html
@@ -2331,21 +2328,11 @@
 http/tests/security/frameNavigation/not-opener.html
 http/tests/security/local-image-from-remote-whitelisted.html
 http/tests/security/local-user-CSS-from-remote.html
-http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html
-http/tests/security/mixedContent/data-url-iframe-in-main-frame.html
-http/tests/security/mixedContent/data-url-script-in-iframe.html
-http/tests/security/mixedContent/insecure-css-in-iframe.html
-http/tests/security/mixedContent/insecure-css-in-main-frame.html
-http/tests/security/mixedContent/insecure-iframe-in-iframe.html
-http/tests/security/mixedContent/insecure-iframe-in-main-frame.html
-http/tests/security/mixedContent/insecure-image-in-iframe.html
 http/tests/security/mixedContent/insecure-image-in-main-frame.html
 http/tests/security/mixedContent/insecure-plugin-in-iframe.html
 http/tests/security/mixedContent/insecure-script-in-iframe.html
 http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html
-http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
 http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html
-http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
 http/tests/security/no-referrer.html
 http/tests/security/originHeader/origin-header-for-empty.html
 http/tests/security/originHeader/origin-header-for-https.html

Modified: trunk/Source/WebKit/efl/ChangeLog (114375 => 114376)


--- trunk/Source/WebKit/efl/ChangeLog	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Source/WebKit/efl/ChangeLog	2012-04-17 15:02:36 UTC (rev 114376)
@@ -1,3 +1,34 @@
+2012-04-17  Christophe Dumez  <[email protected]>
+
+        [EFL] DRT should support LayoutTestController's dumpFrameLoadCallbacks()
+        https://bugs.webkit.org/show_bug.cgi?id=83030
+
+        Reviewed by Antonio Gomes.
+
+        Implement support for LayoutTestController's dumpFrameLoadCallbacks()
+        in EFL's DumpRenderTree. We no longer emit the "load,finished" signal
+        from postProgressFinishedNotification() since it is already emitted
+        from dispatchDidFinishLoad(). This avoids unwanted extra signals we
+        prevent some tests from passing (e.g.
+        http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html).
+
+        * WebCoreSupport/FrameLoaderClientEfl.cpp:
+        (WebCore::FrameLoaderClientEfl::postProgressFinishedNotification):
+        (WebCore::FrameLoaderClientEfl::dispatchDidFinishLoad):
+        (WebCore::FrameLoaderClientEfl::dispatchDidHandleOnloadEvents):
+        (WebCore::FrameLoaderClientEfl::dispatchDidCommitLoad):
+        (WebCore::FrameLoaderClientEfl::dispatchDidFailLoad):
+        * WebCoreSupport/FrameLoaderClientEfl.h:
+        (FrameLoaderClientEfl):
+        * ewk/ewk_frame.cpp:
+        (ewk_frame_load_committed):
+        * ewk/ewk_frame.h:
+        * ewk/ewk_private.h:
+        * ewk/ewk_view.cpp:
+        (_Ewk_View_Private_Data):
+        (ewk_view_onload_event):
+        * ewk/ewk_view.h:
+
 2012-04-17  Mariusz Grzegorczyk  <[email protected]>
 
         [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.

Modified: trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp (114375 => 114376)


--- trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp	2012-04-17 15:02:36 UTC (rev 114376)
@@ -232,16 +232,7 @@
 
 void FrameLoaderClientEfl::postProgressFinishedNotification()
 {
-    if (m_loadError.isNull())
-        ewk_frame_load_finished(m_frame, 0, 0, 0, 0, 0);
-    else {
-        ewk_frame_load_finished(m_frame,
-                                m_loadError.domain().utf8().data(),
-                                m_loadError.errorCode(),
-                                m_loadError.isCancellation(),
-                                m_loadError.localizedDescription().utf8().data(),
-                                m_loadError.failingURL().utf8().data());
-    }
+    notImplemented();
 }
 
 void FrameLoaderClientEfl::frameLoaderDestroyed()
@@ -457,7 +448,7 @@
 
 void FrameLoaderClientEfl::dispatchDidFinishLoad()
 {
-    m_loadError = ResourceError(); /* clears previous error */
+    ewk_frame_load_finished(m_frame, 0, 0, 0, 0, 0);
 }
 
 void FrameLoaderClientEfl::frameLoadCompleted()
@@ -544,7 +535,7 @@
 
 void FrameLoaderClientEfl::dispatchDidHandleOnloadEvents()
 {
-    notImplemented();
+    ewk_view_onload_event(m_view, m_frame);
 }
 
 void FrameLoaderClientEfl::dispatchDidReceiveServerRedirectForProvisionalLoad()
@@ -611,6 +602,7 @@
 void FrameLoaderClientEfl::dispatchDidCommitLoad()
 {
     ewk_frame_uri_changed(m_frame);
+    ewk_frame_load_committed(m_frame);
     if (ewk_view_frame_main_get(m_view) != m_frame)
         return;
     ewk_view_title_set(m_view, 0);
@@ -761,15 +753,18 @@
 
 void FrameLoaderClientEfl::dispatchDidFailLoad(const ResourceError& err)
 {
-    if (!shouldFallBack(err))
-        return;
-
-    m_loadError = err;
     ewk_frame_load_error(m_frame,
-                         m_loadError.domain().utf8().data(),
-                         m_loadError.errorCode(), m_loadError.isCancellation(),
-                         m_loadError.localizedDescription().utf8().data(),
-                         m_loadError.failingURL().utf8().data());
+                         err.domain().utf8().data(),
+                         err.errorCode(), err.isCancellation(),
+                         err.localizedDescription().utf8().data(),
+                         err.failingURL().utf8().data());
+
+    ewk_frame_load_finished(m_frame,
+                            err.domain().utf8().data(),
+                            err.errorCode(),
+                            err.isCancellation(),
+                            err.localizedDescription().utf8().data(),
+                            err.failingURL().utf8().data());
 }
 
 void FrameLoaderClientEfl::download(ResourceHandle*, const ResourceRequest& request, const ResourceResponse&)

Modified: trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h (114375 => 114376)


--- trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h	2012-04-17 15:02:36 UTC (rev 114376)
@@ -212,8 +212,6 @@
     String m_userAgent;
     String m_customUserAgent;
 
-    ResourceError m_loadError;
-
     // Plugin view to redirect data to
     PluginView* m_pluginView;
     bool m_hasSentResponseToPlugin;

Modified: trunk/Source/WebKit/efl/ewk/ewk_frame.cpp (114375 => 114376)


--- trunk/Source/WebKit/efl/ewk/ewk_frame.cpp	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Source/WebKit/efl/ewk/ewk_frame.cpp	2012-04-17 15:02:36 UTC (rev 114376)
@@ -1261,6 +1261,17 @@
 
 /**
  * @internal
+ * Reports the frame committed load.
+ *
+ * Emits signal: "load,committed" with no parameters.
+ */
+void ewk_frame_load_committed(Evas_Object* ewkFrame)
+{
+    evas_object_smart_callback_call(ewkFrame, "load,committed", 0);
+}
+
+/**
+ * @internal
  * Reports the frame started loading something.
  *
  * Emits signal: "load,started" with no parameters.

Modified: trunk/Source/WebKit/efl/ewk/ewk_frame.h (114375 => 114376)


--- trunk/Source/WebKit/efl/ewk/ewk_frame.h	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Source/WebKit/efl/ewk/ewk_frame.h	2012-04-17 15:02:36 UTC (rev 114376)
@@ -39,6 +39,7 @@
  *     were changed due new layout, script actions or any other events.
  *  - "editorclient,contents,changed", void: reports that editor client's
  *    contents were changed
+ *  - "load,committed", void: reports load committed.
  *  - "load,document,finished", void: frame finished loading the document.
  *  - "load,error", const Ewk_Frame_Load_Error*: reports load failed
  *    and it gives a pointer to structure defining the error as an argument.

Modified: trunk/Source/WebKit/efl/ewk/ewk_private.h (114375 => 114376)


--- trunk/Source/WebKit/efl/ewk/ewk_private.h	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Source/WebKit/efl/ewk/ewk_private.h	2012-04-17 15:02:36 UTC (rev 114376)
@@ -118,6 +118,7 @@
 void ewk_view_load_error(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error);
 void ewk_view_load_progress_changed(Evas_Object* ewkView);
 void ewk_view_load_show(Evas_Object* ewkView);
+void ewk_view_onload_event(Evas_Object* ewkView, Evas_Object* frame);
 void ewk_view_restore_state(Evas_Object* ewkView, Evas_Object* frame);
 Evas_Object* ewk_view_window_create(Evas_Object* ewkView, bool _javascript_, const WebCore::WindowFeatures* coreFeatures);
 void ewk_view_window_close(Evas_Object* ewkView);
@@ -211,6 +212,7 @@
 
 void ewk_frame_core_gone(Evas_Object* ewkFrame);
 
+void ewk_frame_load_committed(Evas_Object* ewkFrame);
 void ewk_frame_load_started(Evas_Object* ewkFrame);
 void ewk_frame_load_provisional(Evas_Object* ewkFrame);
 void ewk_frame_load_firstlayout_finished(Evas_Object* ewkFrame);

Modified: trunk/Source/WebKit/efl/ewk/ewk_view.cpp (114375 => 114376)


--- trunk/Source/WebKit/efl/ewk/ewk_view.cpp	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.cpp	2012-04-17 15:02:36 UTC (rev 114376)
@@ -2864,6 +2864,19 @@
     evas_object_smart_callback_call(ewkView, "load,newwindow,show", 0);
 }
 
+/**
+ * @internal
+ * Reports an onload event for @p frame.
+ *
+ * @param ewkView View which contains the frame.
+ * @param frame The frame whose onload event was received.
+ *
+ * Emits signal: "onload,event" with @p frame as the parameter.
+ */
+void ewk_view_onload_event(Evas_Object* ewkView, Evas_Object* frame)
+{
+    evas_object_smart_callback_call(ewkView, "onload,event", frame);
+}
 
 /**
  * @internal

Modified: trunk/Source/WebKit/efl/ewk/ewk_view.h (114375 => 114376)


--- trunk/Source/WebKit/efl/ewk/ewk_view.h	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Source/WebKit/efl/ewk/ewk_view.h	2012-04-17 15:02:36 UTC (rev 114376)
@@ -66,6 +66,7 @@
  *  - "menubar,visible,set", Eina_Bool: sets menubar visibility.
  *  - "mixedcontent,displayed", void: any of the containing frames has loaded and displayed mixed content.
  *  - "mixedcontent,run", void: any of the containing frames has loaded and run mixed content.
+ *  - "onload,event", Evas_Object*: a frame onload event has been received.
  *  - "ready", void: page is fully loaded.
  *  - "resource,request,willsend", Ewk_Frame_Resource_Request*: a resource will
  *    be requested.

Modified: trunk/Tools/ChangeLog (114375 => 114376)


--- trunk/Tools/ChangeLog	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Tools/ChangeLog	2012-04-17 15:02:36 UTC (rev 114376)
@@ -1,3 +1,28 @@
+2012-04-17  Christophe Dumez  <[email protected]>
+
+        [EFL] DRT should support LayoutTestController's dumpFrameLoadCallbacks()
+        https://bugs.webkit.org/show_bug.cgi?id=83030
+
+        Reviewed by Antonio Gomes.
+
+        Implement support for LayoutTestController's dumpFrameLoadCallbacks()
+        in EFL's DumpRenderTree.
+
+        * DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
+        (DumpRenderTreeChrome::createView):
+        (DumpRenderTreeChrome::processWork):
+        (DumpRenderTreeChrome::topLoadingFrameLoadFinished):
+        (DumpRenderTreeChrome::onWebViewOnloadEvent):
+        (DumpRenderTreeChrome::onInsecureContentRun):
+        (DumpRenderTreeChrome::onInsecureContentDisplayed):
+        (DumpRenderTreeChrome::onFrameCreated):
+        (DumpRenderTreeChrome::onFrameProvisionalLoad):
+        (DumpRenderTreeChrome::onFrameLoadCommitted):
+        (DumpRenderTreeChrome::onFrameLoadFinished):
+        (DumpRenderTreeChrome::onFrameLoadError):
+        * DumpRenderTree/efl/DumpRenderTreeChrome.h:
+        (DumpRenderTreeChrome):
+
 2012-04-17  Michael BrĂ¼ning  <[email protected]>
 
         [Qt] Fix builds with force_static_libs_as_shared for non-linux builds.

Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp (114375 => 114376)


--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp	2012-04-17 15:02:36 UTC (rev 114376)
@@ -90,13 +90,22 @@
     ewk_view_theme_set(view, DATA_DIR"/default.edj");
 
     evas_object_smart_callback_add(view, "load,started", onLoadStarted, 0);
-    evas_object_smart_callback_add(view, "load,finished", onLoadFinished, 0);
     evas_object_smart_callback_add(view, "title,changed", onTitleChanged, 0);
     evas_object_smart_callback_add(view, "window,object,cleared", onWindowObjectCleared, m_gcController.get());
     evas_object_smart_callback_add(view, "statusbar,text,set", onStatusbarTextSet, 0);
     evas_object_smart_callback_add(view, "load,document,finished", onDocumentLoadFinished, 0);
     evas_object_smart_callback_add(view, "resource,request,willsend", onWillSendRequest, 0);
+    evas_object_smart_callback_add(view, "onload,event", onWebViewOnloadEvent, 0);
+    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* mainFrame = ewk_view_frame_main_get(view);
+    evas_object_smart_callback_add(mainFrame, "load,provisional", onFrameProvisionalLoad, 0);
+    evas_object_smart_callback_add(mainFrame, "load,committed", onFrameLoadCommitted, 0);
+    evas_object_smart_callback_add(mainFrame, "load,finished", onFrameLoadFinished, 0);
+    evas_object_smart_callback_add(mainFrame, "load,error", onFrameLoadError, 0);
+
     return view;
 }
 
@@ -231,24 +240,16 @@
         topLoadingFrame = frame;
 }
 
-Eina_Bool DumpRenderTreeChrome::processWork(void* data)
+Eina_Bool DumpRenderTreeChrome::processWork(void*)
 {
-    Evas_Object* frame = static_cast<Evas_Object*>(data);
-
     if (WorkQueue::shared()->processWork() && !gLayoutTestController->waitToDump())
         dump();
 
     return ECORE_CALLBACK_CANCEL;
 }
 
-void DumpRenderTreeChrome::onLoadFinished(void*, Evas_Object* view, void*)
+void DumpRenderTreeChrome::topLoadingFrameLoadFinished()
 {
-    // FIXME: we actually need the frame related to this event
-    Evas_Object* frame = ewk_view_frame_main_get(view);
-
-    if (topLoadingFrame != frame)
-        return;
-
     topLoadingFrame = 0;
 
     WorkQueue::shared()->setFrozen(true);
@@ -256,7 +257,7 @@
         return;
 
     if (WorkQueue::shared()->count())
-        ecore_idler_add(processWork, frame);
+        ecore_idler_add(processWork, 0 /*frame*/);
     else
         dump();
 }
@@ -314,3 +315,81 @@
         request->url = ""
     }
 }
+
+void DumpRenderTreeChrome::onWebViewOnloadEvent(void*, Evas_Object*, void* eventInfo)
+{
+    const Evas_Object* frame = static_cast<Evas_Object*>(eventInfo);
+
+    if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) {
+        const String frameName(DumpRenderTreeSupportEfl::suitableDRTFrameName(frame));
+        printf("%s - didHandleOnloadEventsForFrame\n", frameName.utf8().data());
+    }
+}
+
+void DumpRenderTreeChrome::onInsecureContentRun(void*, Evas_Object*, void*)
+{
+    if (!done && gLayoutTestController->dumpFrameLoadCallbacks())
+        printf("didRunInsecureContent\n");
+}
+
+void DumpRenderTreeChrome::onInsecureContentDisplayed(void*, Evas_Object*, void*)
+{
+    if (!done && gLayoutTestController->dumpFrameLoadCallbacks())
+        printf("didDisplayInsecureContent\n");
+}
+
+void DumpRenderTreeChrome::onFrameCreated(void*, Evas_Object*, void* eventInfo)
+{
+    Evas_Object* frame = static_cast<Evas_Object*>(eventInfo);
+
+    evas_object_smart_callback_add(frame, "load,provisional", onFrameProvisionalLoad, 0);
+    evas_object_smart_callback_add(frame, "load,committed", onFrameLoadCommitted, 0);
+    evas_object_smart_callback_add(frame, "load,finished", onFrameLoadFinished, 0);
+    evas_object_smart_callback_add(frame, "load,error", onFrameLoadError, 0);
+}
+
+void DumpRenderTreeChrome::onFrameProvisionalLoad(void*, Evas_Object* frame, void*)
+{
+    if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) {
+        const String frameName(DumpRenderTreeSupportEfl::suitableDRTFrameName(frame));
+        printf("%s - didStartProvisionalLoadForFrame\n", frameName.utf8().data());
+    }
+}
+
+void DumpRenderTreeChrome::onFrameLoadCommitted(void*, Evas_Object* frame, void*)
+{
+    if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) {
+        const String frameName(DumpRenderTreeSupportEfl::suitableDRTFrameName(frame));
+        printf("%s - didCommitLoadForFrame\n", frameName.utf8().data());
+    }
+}
+
+void DumpRenderTreeChrome::onFrameLoadFinished(void*, Evas_Object* frame, void* eventInfo)
+{
+    const Ewk_Frame_Load_Error* error = static_cast<Ewk_Frame_Load_Error*>(eventInfo);
+
+    // EFL port emits both "load,finished" and "load,error" signals in error case.
+    // Error case is therefore already handled in onFrameLoadError() and we don't need
+    // to handle it here.
+    if (error)
+        return;
+
+    if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) {
+        const String frameName(DumpRenderTreeSupportEfl::suitableDRTFrameName(frame));
+        printf("%s - didFinishLoadForFrame\n", frameName.utf8().data());
+    }
+
+    if (frame == topLoadingFrame)
+        topLoadingFrameLoadFinished();
+}
+
+void DumpRenderTreeChrome::onFrameLoadError(void*, Evas_Object* frame, void*)
+{
+    if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) {
+        const String frameName(DumpRenderTreeSupportEfl::suitableDRTFrameName(frame));
+        printf("%s - didFailLoadWithError\n", frameName.utf8().data());
+    }
+
+    if (frame == topLoadingFrame)
+        topLoadingFrameLoadFinished();
+}

Modified: trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h (114375 => 114376)


--- trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h	2012-04-17 14:15:38 UTC (rev 114375)
+++ trunk/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h	2012-04-17 15:02:36 UTC (rev 114376)
@@ -68,7 +68,7 @@
 
     static Eina_Bool processWork(void*);
 
-    static void onLoadFinished(void*, Evas_Object*, void*);
+    static void topLoadingFrameLoadFinished();
 
     static void onStatusbarTextSet(void*, Evas_Object*, void*);
 
@@ -77,6 +77,22 @@
     static void onDocumentLoadFinished(void*, Evas_Object*, void*);
 
     static void onWillSendRequest(void*, Evas_Object*, void*);
+
+    static void onWebViewOnloadEvent(void*, Evas_Object*, void*);
+
+    static void onInsecureContentRun(void*, Evas_Object*, void*);
+
+    static void onInsecureContentDisplayed(void*, Evas_Object*, void*);
+
+    static void onFrameCreated(void*, Evas_Object*, void*);
+
+    static void onFrameProvisionalLoad(void*, Evas_Object*, void*);
+
+    static void onFrameLoadCommitted(void*, Evas_Object*, void*);
+
+    static void onFrameLoadFinished(void*, Evas_Object*, void*);
+
+    static void onFrameLoadError(void*, Evas_Object*, void*);
 };
 
 #endif // DumpRenderTreeChrome_h
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to