WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch for landing
85956_didFailProvisionalLoadWithError.patch (text/plain), 17.12 KB, created by
Chris Dumez
on 2012-05-22 23:04:24 PDT
(
hide
)
Description:
Patch for landing
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2012-05-22 23:04:24 PDT
Size:
17.12 KB
patch
obsolete
>diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index ce6fa9e..3135b1b 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,20 @@ >+2012-05-22 Christophe Dumez <christophe.dumez@intel.com> >+ >+ [EFL] EFL's DRT does not print didFailProvisionalLoadWithError messages >+ https://bugs.webkit.org/show_bug.cgi?id=85956 >+ >+ Reviewed by Gustavo Noronha Silva. >+ >+ Unskip test cases which expect the DumpRenderTree to print >+ didFailProvisionalLoadWithError messages. >+ Add EFL expectation for >+ http/tests/loading/pdf-commit-load-callbacks.html. >+ >+ * platform/efl/Skipped: >+ * platform/efl/http/tests/loading/pdf-commit-load-callbacks-expected.txt: Added. >+ Use same expectation as for Qt. >+ * platform/efl/test_expectations.txt: >+ > 2012-05-22 Stephanie Lewis <slewis@apple.com> > > https://bugs.webkit.org/show_bug.cgi?id=87208 >diff --git a/LayoutTests/platform/efl/Skipped b/LayoutTests/platform/efl/Skipped >index b67e986..1ca1452 100644 >--- a/LayoutTests/platform/efl/Skipped >+++ b/LayoutTests/platform/efl/Skipped >@@ -565,8 +565,6 @@ http/tests/history/back-with-fragment-change.php > > # Failing http tests (via GTK+) > http/tests/loading/bad-scheme-subframe.html >-http/tests/loading/bad-server-subframe.html >-http/tests/loading/text-content-type-with-binary-extension.html > http/tests/media/video-play-stall-seek.html > http/tests/media/video-play-stall.html > http/tests/misc/acid3.html >@@ -1376,17 +1374,10 @@ http/tests/cache/subresource-failover-to-network.html > http/tests/cache/subresource-multiple-instances.html > http/tests/fileapi/create-blob-url-from-data-url.html > http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html >-http/tests/loading/basic.html > http/tests/local/blob/send-data-blob.html > http/tests/local/blob/send-sliced-data-blob.html >-http/tests/loading/empty-subframe.html >-http/tests/loading/load-javascript-after-many-xhrs.html >-http/tests/loading/location-hash-reload-cycle.html > http/tests/loading/nested_bad_objects.php >-http/tests/loading/preload-img-test.html > http/tests/loading/progress-finished-callback.html >-http/tests/loading/slow-parsing-subframe.html >-http/tests/loading/state-object-security-exception.html > http/tests/misc/401-alternative-content.php > http/tests/misc/copy-resolves-urls.html > http/tests/misc/SVGFont-delayed-load.html >diff --git a/LayoutTests/platform/efl/http/tests/loading/pdf-commit-load-callbacks-expected.txt b/LayoutTests/platform/efl/http/tests/loading/pdf-commit-load-callbacks-expected.txt >new file mode 100644 >index 0000000..78323e1 >--- /dev/null >+++ b/LayoutTests/platform/efl/http/tests/loading/pdf-commit-load-callbacks-expected.txt >@@ -0,0 +1,8 @@ >+main frame - didStartProvisionalLoadForFrame >+main frame - didCommitLoadForFrame >+frame "<!--framePath //<!--frame0-->-->" - didStartProvisionalLoadForFrame >+main frame - didFinishDocumentLoadForFrame >+main frame - didHandleOnloadEventsForFrame >+frame "<!--framePath //<!--frame0-->-->" - didFailProvisionalLoadWithError >+main frame - didFinishLoadForFrame >+ >diff --git a/LayoutTests/platform/efl/test_expectations.txt b/LayoutTests/platform/efl/test_expectations.txt >index 44a6022..61f26c6 100644 >--- a/LayoutTests/platform/efl/test_expectations.txt >+++ b/LayoutTests/platform/efl/test_expectations.txt >@@ -519,9 +519,6 @@ BUGWK84839 : editing/execCommand/remove-list-from-range-selection.html = MISSING > BUGWK84839 : editing/execCommand/remove-list-item-1.html = MISSING > BUGWK84839 : editing/execCommand/selectAll.html = MISSING > >-// EFL's DRT does not print didFailProvisionalLoadWithError messages >-BUGWK85956 : http/tests/loading/pdf-commit-load-callbacks.html = TEXT >- > BUGWK79757 : fast/selectors/selection-window-inactive.html = IMAGE > > // Font kerning issue, fails on GTK as well. >diff --git a/Source/WebKit/efl/ChangeLog b/Source/WebKit/efl/ChangeLog >index 6146e20..fec994f 100644 >--- a/Source/WebKit/efl/ChangeLog >+++ b/Source/WebKit/efl/ChangeLog >@@ -1,3 +1,24 @@ >+2012-05-22 Christophe Dumez <christophe.dumez@intel.com> >+ >+ [EFL] EFL's DRT does not print didFailProvisionalLoadWithError messages >+ https://bugs.webkit.org/show_bug.cgi?id=85956 >+ >+ Reviewed by Gustavo Noronha Silva. >+ >+ Add new "load,provisional,failed" signal on the frame and the view to >+ complement the "load,provisional" one. >+ >+ * WebCoreSupport/FrameLoaderClientEfl.cpp: >+ (WebCore::FrameLoaderClientEfl::dispatchDidFailProvisionalLoad): >+ * ewk/ewk_frame.cpp: >+ (ewk_frame_load_provisional_failed): >+ * ewk/ewk_frame.h: >+ * ewk/ewk_frame_private.h: >+ * ewk/ewk_view.cpp: >+ (ewk_view_load_provisional_failed): >+ * ewk/ewk_view.h: >+ * ewk/ewk_view_private.h: >+ > 2012-05-22 Kangil Han <kangil.han@samsung.com> > > [EFL][DRT] Implement touch event >diff --git a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp >index 73cd038..bac93d8 100644 >--- a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp >+++ b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp >@@ -7,6 +7,7 @@ > * Copyright (C) 2008 Kenneth Rohde Christiansen > * Copyright (C) 2009-2010 ProFUSION embedded systems > * Copyright (C) 2009-2010 Samsung Electronics >+ * Copyright (C) 2012 Intel Corporation > * > * All rights reserved. > * >@@ -791,6 +792,27 @@ void FrameLoaderClientEfl::dispatchDidLoadResourceByXMLHttpRequest(unsigned long > > void FrameLoaderClientEfl::dispatchDidFailProvisionalLoad(const ResourceError& err) > { >+ Ewk_Frame_Load_Error error; >+ CString errorDomain = err.domain().utf8(); >+ CString errorDescription = err.localizedDescription().utf8(); >+ CString failingUrl = err.failingURL().utf8(); >+ >+ DBG("ewkFrame=%p, error=%s (%d, cancellation=%hhu) \"%s\", url=%s", >+ m_frame, errorDomain.data(), err.errorCode(), err.isCancellation(), >+ errorDescription.data(), failingUrl.data()); >+ >+ error.code = err.errorCode(); >+ error.is_cancellation = err.isCancellation(); >+ error.domain = errorDomain.data(); >+ error.description = errorDescription.data(); >+ error.failing_url = failingUrl.data(); >+ error.resource_identifier = 0; >+ error.frame = m_frame; >+ >+ ewk_frame_load_provisional_failed(m_frame, &error); >+ if (ewk_view_frame_main_get(m_view) == m_frame) >+ ewk_view_load_provisional_failed(m_view, &error); >+ > dispatchDidFailLoad(err); > } > >diff --git a/Source/WebKit/efl/ewk/ewk_frame.cpp b/Source/WebKit/efl/ewk/ewk_frame.cpp >index 848d150..f06416c 100644 >--- a/Source/WebKit/efl/ewk/ewk_frame.cpp >+++ b/Source/WebKit/efl/ewk/ewk_frame.cpp >@@ -1384,6 +1384,20 @@ void ewk_frame_load_provisional(Evas_Object* ewkFrame) > > /** > * @internal >+ * Reports the frame provisional load failed. >+ * >+ * @param ewkFrame Frame. >+ * @param error Load error. >+ * >+ * Emits signal: "load,provisional,failed" with pointer to Ewk_Frame_Load_Error. >+ */ >+void ewk_frame_load_provisional_failed(Evas_Object* ewkFrame, const Ewk_Frame_Load_Error* error) >+{ >+ evas_object_smart_callback_call(ewkFrame, "load,provisional,failed", const_cast<Ewk_Frame_Load_Error*>(error)); >+} >+ >+/** >+ * @internal > * Reports the frame finished first layout. > * > * @param ewkFrame Frame. >diff --git a/Source/WebKit/efl/ewk/ewk_frame.h b/Source/WebKit/efl/ewk/ewk_frame.h >index cbd4a4c..cfffcb5 100644 >--- a/Source/WebKit/efl/ewk/ewk_frame.h >+++ b/Source/WebKit/efl/ewk/ewk_frame.h >@@ -58,6 +58,7 @@ > * - "load,progress", double*: load progress is changed (overall value > * from 0.0 to 1.0, connect to individual frames for fine grained). > * - "load,provisional", void: frame started provisional load. >+ * - "load,provisional,failed", Ewk_Frame_Load_Error*: frame provisional load failed. > * - "load,started", void: frame started loading the document. > * - "mixedcontent,displayed", void: frame has loaded and displayed mixed content. > * - "mixedcontent,run", void: frame has loaded and run mixed content. >diff --git a/Source/WebKit/efl/ewk/ewk_frame_private.h b/Source/WebKit/efl/ewk/ewk_frame_private.h >index dd37860..1692518 100644 >--- a/Source/WebKit/efl/ewk/ewk_frame_private.h >+++ b/Source/WebKit/efl/ewk/ewk_frame_private.h >@@ -42,6 +42,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_provisional_failed(Evas_Object* ewkFrame, const Ewk_Frame_Load_Error* error); > void ewk_frame_load_firstlayout_finished(Evas_Object* ewkFrame); > void ewk_frame_load_firstlayout_nonempty_finished(Evas_Object* ewkFrame); > void ewk_frame_load_document_finished(Evas_Object* ewkFrame); >diff --git a/Source/WebKit/efl/ewk/ewk_view.cpp b/Source/WebKit/efl/ewk/ewk_view.cpp >index 3c85ca0..5429a3e 100644 >--- a/Source/WebKit/efl/ewk/ewk_view.cpp >+++ b/Source/WebKit/efl/ewk/ewk_view.cpp >@@ -3032,6 +3032,21 @@ void ewk_view_load_provisional(Evas_Object* ewkView) > > /** > * @internal >+ * Reports the main frame provisional load failed. >+ * >+ * @param ewkView View. >+ * @param error Load error. >+ * >+ * Emits signal: "load,provisional" on View with pointer to Ewk_Frame_Load_Error. >+ */ >+void ewk_view_load_provisional_failed(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error) >+{ >+ DBG("ewkView=%p, error=%p", ewkView, error); >+ evas_object_smart_callback_call(ewkView, "load,provisional,failed", const_cast<Ewk_Frame_Load_Error*>(error)); >+} >+ >+/** >+ * @internal > * Reports view can be shown after a new window is created. > * > * @param ewkView Frame. >diff --git a/Source/WebKit/efl/ewk/ewk_view.h b/Source/WebKit/efl/ewk/ewk_view.h >index ee87503..e9466e5 100644 >--- a/Source/WebKit/efl/ewk/ewk_view.h >+++ b/Source/WebKit/efl/ewk/ewk_view.h >@@ -60,6 +60,7 @@ > * - "load,progress", double*: load progress is changed (overall value > * from 0.0 to 1.0, connect to individual frames for fine grained). > * - "load,provisional", void: view started provisional load. >+ * - "load,provisional,failed", Ewk_Frame_Load_Error*: view provisional load failed. > * - "load,resource,finished", unsigned long*: reports resource load finished and it gives > * a pointer to its identifier. > * - "load,resource,failed", Ewk_Frame_Load_Error*: reports resource load failure and it >diff --git a/Source/WebKit/efl/ewk/ewk_view_private.h b/Source/WebKit/efl/ewk/ewk_view_private.h >index 75c7a18..cb07204 100644 >--- a/Source/WebKit/efl/ewk/ewk_view_private.h >+++ b/Source/WebKit/efl/ewk/ewk_view_private.h >@@ -54,6 +54,7 @@ void ewk_view_uri_changed(Evas_Object* ewkView); > void ewk_view_load_document_finished(Evas_Object* ewkView, Evas_Object* frame); > void ewk_view_load_started(Evas_Object* ewkView, Evas_Object* ewkFrame); > void ewk_view_load_provisional(Evas_Object* ewkView); >+void ewk_view_load_provisional_failed(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error); > void ewk_view_frame_main_load_started(Evas_Object* ewkView); > void ewk_view_frame_main_cleared(Evas_Object* ewkView); > void ewk_view_frame_main_icon_received(Evas_Object* ewkView); >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 8cbe927..e966c4b 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,24 @@ >+2012-05-22 Christophe Dumez <christophe.dumez@intel.com> >+ >+ [EFL] EFL's DRT does not print didFailProvisionalLoadWithError messages >+ https://bugs.webkit.org/show_bug.cgi?id=85956 >+ >+ Reviewed by Gustavo Noronha Silva. >+ >+ Catch new "load,provisional,failed" signal and print >+ didFailProvisionalLoadWithError messages when LayoutTestController's >+ dumpFrameLoadCallbacks() returns true. Also make sure the >+ didFailLoadWithError message is not printed in case of provisional >+ load failure. >+ >+ * DumpRenderTree/efl/DumpRenderTreeChrome.cpp: >+ (DumpRenderTreeChrome::createView): >+ (DumpRenderTreeChrome::onFrameCreated): >+ (DumpRenderTreeChrome::onFrameProvisionalLoadFailed): >+ (DumpRenderTreeChrome::onFrameLoadError): >+ * DumpRenderTree/efl/DumpRenderTreeChrome.h: >+ (DumpRenderTreeChrome): >+ > 2012-05-22 Xianzhu Wang <wangxianzhu@chromium.org> > > [Chromium-Android] Run DumpRenderTree as an apk (C++ and gyp part) >diff --git a/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp b/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp >index 6c5cca2..3140f8d 100644 >--- a/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp >+++ b/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp >@@ -1,6 +1,7 @@ > /* > * Copyright (C) 2011 ProFUSION Embedded Systems > * Copyright (C) 2011 Samsung Electronics >+ * Copyright (C) 2012 Intel Corporation > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions >@@ -51,6 +52,7 @@ > using namespace WebCore; > > HashMap<unsigned long, CString> DumpRenderTreeChrome::m_dumpAssignedUrls; >+Evas_Object* DumpRenderTreeChrome::m_provisionalLoadFailedFrame = 0; > > PassOwnPtr<DumpRenderTreeChrome> DumpRenderTreeChrome::create(Evas* evas) > { >@@ -114,6 +116,7 @@ Evas_Object* DumpRenderTreeChrome::createView() const > evas_object_smart_callback_add(mainFrame, "icon,changed", onFrameIconChanged, 0); > evas_object_smart_callback_add(mainFrame, "intent,new", onFrameIntentNew, 0); > evas_object_smart_callback_add(mainFrame, "load,provisional", onFrameProvisionalLoad, 0); >+ evas_object_smart_callback_add(mainFrame, "load,provisional,failed", onFrameProvisionalLoadFailed, 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); >@@ -520,6 +523,7 @@ void DumpRenderTreeChrome::onFrameCreated(void*, Evas_Object*, void* eventInfo) > evas_object_smart_callback_add(frame, "icon,changed", onFrameIconChanged, 0); > evas_object_smart_callback_add(frame, "intent,new", onFrameIntentNew, 0); > evas_object_smart_callback_add(frame, "load,provisional", onFrameProvisionalLoad, 0); >+ evas_object_smart_callback_add(frame, "load,provisional,failed", onFrameProvisionalLoadFailed, 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); >@@ -538,6 +542,16 @@ void DumpRenderTreeChrome::onFrameProvisionalLoad(void*, Evas_Object* frame, voi > } > } > >+void DumpRenderTreeChrome::onFrameProvisionalLoadFailed(void*, Evas_Object* frame, void*) >+{ >+ m_provisionalLoadFailedFrame = frame; >+ >+ if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) { >+ const String frameName(DumpRenderTreeSupportEfl::suitableDRTFrameName(frame)); >+ printf("%s - didFailProvisionalLoadWithError\n", frameName.utf8().data()); >+ } >+} >+ > void DumpRenderTreeChrome::onFrameLoadCommitted(void*, Evas_Object* frame, void*) > { > if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) { >@@ -567,11 +581,17 @@ void DumpRenderTreeChrome::onFrameLoadFinished(void*, Evas_Object* frame, void* > > void DumpRenderTreeChrome::onFrameLoadError(void*, Evas_Object* frame, void*) > { >- if (!done && gLayoutTestController->dumpFrameLoadCallbacks()) { >+ // In case of provisional load error, we receive both "load,error" and "load,provisional,failed" >+ // signals. m_provisionalLoadFailedFrame is used to avoid printing twice the load error: in >+ // onFrameProvisionalLoadFailed() and onFrameLoadError(). >+ if (!done && gLayoutTestController->dumpFrameLoadCallbacks() && frame != m_provisionalLoadFailedFrame) { > const String frameName(DumpRenderTreeSupportEfl::suitableDRTFrameName(frame)); > printf("%s - didFailLoadWithError\n", frameName.utf8().data()); > } > >+ if (m_provisionalLoadFailedFrame && frame == m_provisionalLoadFailedFrame) >+ m_provisionalLoadFailedFrame = 0; >+ > if (frame == topLoadingFrame) > topLoadingFrameLoadFinished(); > } >diff --git a/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h b/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h >index 2e6bb96..8af2a32 100644 >--- a/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h >+++ b/Tools/DumpRenderTree/efl/DumpRenderTreeChrome.h >@@ -1,6 +1,7 @@ > /* > * Copyright (C) 2011 ProFUSION Embedded Systems > * Copyright (C) 2011 Samsung Electronics >+ * Copyright (C) 2012 Intel Corporation > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions >@@ -66,6 +67,7 @@ private: > OwnPtr<GCController> m_gcController; > Vector<Evas_Object*> m_extraViews; > static HashMap<unsigned long, CString> m_dumpAssignedUrls; >+ static Evas_Object* m_provisionalLoadFailedFrame; > > // Smart callbacks > static void onWindowObjectCleared(void*, Evas_Object*, void*); >@@ -94,6 +96,7 @@ private: > static void onFrameIconChanged(void*, Evas_Object*, void*); > > static void onFrameProvisionalLoad(void*, Evas_Object*, void*); >+ static void onFrameProvisionalLoadFailed(void*, Evas_Object*, void*); > > static void onFrameLoadCommitted(void*, Evas_Object*, void*); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 85956
:
140879
|
140887
|
141097
| 143466