Changeset 52118 in webkit
- Timestamp:
- Dec 14, 2009 2:09:13 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r52117 r52118 1 2009-12-14 Robert Hogan <robert@roberthogan.net> 2 3 Reviewed by Eric Seidel. 4 5 [Qt] Fix https://bugs.webkit.org/show_bug.cgi?id=32437 6 7 Amend the behaviour of DRT::notifyDone to dump only when 8 the page has finished loading. 9 10 This fix permits removal of the following tests from the Qt skipped list: 11 fast/forms/textarea-linewrap-dynamic.html 12 fast/forms/textarea-setvalue-submit.html 13 fast/forms/textarea-hard-linewrap-empty.html 14 fast/forms/submit-to-url-fragment.html 15 http/tests/misc/percent-sign-in-form-field-name.html 16 http/tests/security/escape-form-data-field-names.html 17 18 However it also requires the following two to be added to the skipped list: 19 20 http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html 21 svg/custom/use-instanceRoot-as-event-target.xhtml 22 23 It appears the behaviour of notifyDone was masking problems with these two 24 tests. 25 26 * platform/qt/Skipped: 27 1 28 2009-12-14 Robert Hogan <robert@roberthogan.net> 2 29 -
trunk/LayoutTests/platform/qt/Skipped
r52117 r52118 4860 4860 fast/forms/slider-transformed.html 4861 4861 fast/forms/slider-zoomed.html 4862 fast/forms/submit-to-url-fragment.html4863 4862 fast/forms/text-control-intrinsic-widths.html 4864 fast/forms/textarea-hard-linewrap-empty.html4865 fast/forms/textarea-linewrap-dynamic.html4866 4863 fast/forms/textarea-metrics.html 4867 fast/forms/textarea-setvalue-submit.html4868 4864 fast/history/back-forward-is-asynchronous.html 4869 4865 fast/history/window-open.html … … 4987 4983 http/tests/security/dataTransfer-set-data-file-url.html 4988 4984 http/tests/security/drag-over-remote-content-iframe.html 4989 http/tests/security/escape-form-data-field-names.html4990 4985 http/tests/security/host-compare-case-insensitive.html 4991 4986 http/tests/security/window-properties-clear-domain.html … … 5180 5175 fast/loader/input-element-page-cache-crash.html 5181 5176 5182 # [Qt][LayoutTestController] Output of document.write() is vanished by waitUntilDone()/notifyDone()5183 # https://bugs.webkit.org/show_bug.cgi?id=324375184 http/tests/misc/percent-sign-in-form-field-name.html5185 5186 5177 # Missing forward entries when dumping back/forward list. 5187 5178 # https://bugs.webkit.org/show_bug.cgi?id=32470 -
trunk/WebKitTools/ChangeLog
r52113 r52118 1 2009-12-14 Robert Hogan <robert@roberthogan.net> 2 3 Reviewed by Eric Seidel. 4 5 [Qt] Fix https://bugs.webkit.org/show_bug.cgi?id=32437 6 7 Amend the behaviour of DRT::notifyDone to dump only when 8 the page has finished loading. 9 10 This fix permits removal of the following tests from the Qt skipped list: 11 fast/forms/textarea-linewrap-dynamic.html 12 fast/forms/textarea-setvalue-submit.html 13 fast/forms/textarea-hard-linewrap-empty.html 14 fast/forms/submit-to-url-fragment.html 15 http/tests/misc/percent-sign-in-form-field-name.html 16 http/tests/security/escape-form-data-field-names.html 17 18 However it also requires the following two to be added to the skipped list: 19 20 http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html 21 svg/custom/use-instanceRoot-as-event-target.xhtml 22 23 It appears the behaviour of notifyDone was masking problems with these two 24 tests. 25 26 * DumpRenderTree/qt/DumpRenderTree.cpp: 27 (WebCore::DumpRenderTree::DumpRenderTree): 28 * DumpRenderTree/qt/LayoutTestControllerQt.cpp: 29 (LayoutTestController::reset): 30 (LayoutTestController::processWork): 31 (LayoutTestController::maybeDump): 32 (LayoutTestController::notifyDone): 33 (LayoutTestController::provisionalLoad): 34 * DumpRenderTree/qt/LayoutTestControllerQt.h: 35 (LayoutTestController::resetLoadFinished): 36 1 37 2009-12-14 Simon Hausmann <hausmann@webkit.org> 2 38 -
trunk/WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp
r51715 r52118 333 333 connect(m_page, SIGNAL(loadFinished(bool)), 334 334 m_controller, SLOT(maybeDump(bool))); 335 // We need to connect to loadStarted() because notifyDone should only 336 // dump results itself when the last page loaded in the test has finished loading. 337 connect(m_page, SIGNAL(loadStarted()), 338 m_controller, SLOT(resetLoadFinished())); 335 339 336 340 connect(m_page->mainFrame(), SIGNAL(titleChanged(const QString&)), -
trunk/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp
r51715 r52118 55 55 void LayoutTestController::reset() 56 56 { 57 m_isLoading = true; 57 m_hasDumped = false; 58 m_loadFinished = false; 58 59 m_textDump = false; 59 60 m_dumpBackForwardList = false; … … 79 80 if (WorkQueue::shared()->processWork() && !shouldWaitUntilDone()) { 80 81 emit done(); 81 m_ isLoading = false;82 m_hasDumped = true; 82 83 } 83 84 } … … 88 89 Q_ASSERT(sender() == m_topLoadingFrame->page()); 89 90 91 m_loadFinished = true; 90 92 // as the function is called on loadFinished, the test might 91 93 // already have dumped and thus no longer be active, thus 92 94 // bail out here. 93 if ( !m_isLoading)95 if (m_hasDumped) 94 96 return; 95 97 96 m_topLoadingFrame = 0;97 98 WorkQueue::shared()->setFrozen(true); // first complete load freezes the queue for the rest of this test 98 99 if (!shouldWaitUntilDone()) { 100 if (WorkQueue::shared()->count()) 101 QTimer::singleShot(0, this, SLOT(processWork())); 102 else { 103 if (success) 104 emit done(); 105 m_isLoading = false; 106 } 99 if (WorkQueue::shared()->count()) 100 QTimer::singleShot(0, this, SLOT(processWork())); 101 else if (!shouldWaitUntilDone()) { 102 if (success) 103 emit done(); 104 m_hasDumped = true; 107 105 } 108 106 } … … 133 131 134 132 m_timeoutTimer.stop(); 133 m_waitForDone = false; 134 135 // If the page has not finished loading (i.e. loadFinished() has not been emitted) then 136 // content created by the likes of document.write() JS methods will not be available yet. 137 // When the page has finished loading, maybeDump above will dump the results now that we have 138 // just set shouldWaitUntilDone to false. 139 if (!m_loadFinished) 140 return; 141 135 142 emit done(); 136 143 137 144 // FIXME: investigate why always resetting these result in timeouts 138 m_isLoading = false; 139 m_waitForDone = false; 145 m_hasDumped = true; 140 146 m_waitForPolicy = false; 141 147 } … … 209 215 { 210 216 QWebFrame* frame = qobject_cast<QWebFrame*>(sender()); 211 if (!m_topLoadingFrame && m_isLoading)217 if (!m_topLoadingFrame && !m_hasDumped) 212 218 m_topLoadingFrame = frame; 213 219 } -
trunk/WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.h
r51715 r52118 54 54 public: 55 55 LayoutTestController(WebCore::DumpRenderTree* drt); 56 57 bool isLoading() const { return m_isLoading; }58 void setLoading(bool loading) { m_isLoading = loading; }59 56 60 57 bool shouldDumpAsText() const { return m_textDump; } … … 116 113 void setPopupBlockingEnabled(bool enable); 117 114 void setPOSIXLocale(const QString& locale); 115 void resetLoadFinished() { m_loadFinished = false; } 118 116 119 117 bool pauseAnimationAtTimeOnElementWithId(const QString& animationName, double time, const QString& elementId); … … 138 136 139 137 private: 140 bool m_ isLoading;138 bool m_hasDumped; 141 139 bool m_textDump; 142 140 bool m_dumpBackForwardList; … … 149 147 bool m_waitForPolicy; 150 148 bool m_handleErrorPages; 149 bool m_loadFinished; 151 150 152 151 QBasicTimer m_timeoutTimer;
Note: See TracChangeset
for help on using the changeset viewer.