[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

zecke at webkit.org zecke at webkit.org
Wed Apr 7 23:26:15 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 909fb651e35639cb59b4a9d11dea37f1de1d43a2
Author: zecke at webkit.org <zecke at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Nov 9 07:34:17 2009 +0000

    The XML tokenizer reports a parse error twice if it occurs before the document element is found.
    
    https://bugs.webkit.org/show_bug.cgi?id=31144
    
    XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
    documents that end prematurely but are not considered invalid by QXmlStream.
    This is to stay compatible with the libxml2 implementation.
    However, that code path would be also hit in situations when it should not,
    i.e. the error would have already been caught and handled. As a result, the
    same error would be reported twice.
    
    No new tests, because the problem is already covered by
    fast/parser/xml-declaration-missing-ending-mark.html.
    
    Add the Qt-specific result for that test and unskip it.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50640 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 969df84..165dddd 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,18 @@
+2009-11-05  Jakub Wieczorek  <faw217 at gmail.com>
+
+        Reviewed by Holger Freyther.
+
+        [Qt] Add Qt specific result for fast/parser/xml-declaration-missing-ending-mark.html
+        https://bugs.webkit.org/show_bug.cgi?id=31192
+
+        Qt is using the QXmlStreamReader to handle XML and it is generating a different
+        error string requiring to have a custom result.
+
+        Unskip the test as it is passing now.
+
+        * platform/qt/Skipped:
+        * platform/qt/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
+
 2009-11-08  Johnny Ding  <johnnyding.webkit at gmail.com>
 
         Reviewed by Dimitri Glazkov.
diff --git a/LayoutTests/platform/qt/Skipped b/LayoutTests/platform/qt/Skipped
index 99089ac..7d28bb7 100644
--- a/LayoutTests/platform/qt/Skipped
+++ b/LayoutTests/platform/qt/Skipped
@@ -4820,7 +4820,6 @@ fast/loader/null-request-after-willSendRequest.html
 fast/loader/policy-delegate-action-hit-test-zoomed.html
 fast/loader/reload-policy-delegate.html
 fast/loading/subframe-removes-itself.html
-fast/parser/xml-declaration-missing-ending-mark.html
 fast/replaced/table-percent-height-text-controls.html
 fast/xmlhttprequest/xmlhttprequest-gc.html
 platform/qt/fast/events/event-sender-keydown-frame.html
diff --git a/LayoutTests/platform/qt/fast/parser/xml-declaration-missing-ending-mark-expected.txt b/LayoutTests/platform/qt/fast/parser/xml-declaration-missing-ending-mark-expected.txt
new file mode 100644
index 0000000..0861f5e
--- /dev/null
+++ b/LayoutTests/platform/qt/fast/parser/xml-declaration-missing-ending-mark-expected.txt
@@ -0,0 +1,16 @@
+CRASH: Omitting terminal question mark in <?xml...?> declaration (above) causes access violation.
+
+This tests the both the HTML parser (.html extension), which is where the crash was observed, and the XML parser (in an iframe).
+See https://bugs.webkit.org/show_bug.cgi?id=17814
+
+If you don't crash, you pass. A parsing error in the "xml-parser" subframe is expected.
+
+
+
+--------
+Frame: 'xml-parser'
+--------
+This page contains the following errors:
+
+error on line 1 at column 20: Expected '?', but got '>'.
+Below is a rendering of the page up to the first error.
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 2a898e8..cfb7563 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,23 @@
+2009-11-05  Jakub Wieczorek  <faw217 at gmail.com>
+
+        Reviewed by Holger Freyther.
+
+        [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
+        https://bugs.webkit.org/show_bug.cgi?id=31144
+
+        XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
+        documents that end prematurely but are not considered invalid by QXmlStream.
+        This is to stay compatible with the libxml2 implementation.
+        However, that code path would be also hit in situations when it should not,
+        i.e. the error would have already been caught and handled. As a result, the
+        same error would be reported twice.
+
+        No new tests, because the problem is already covered by
+        fast/parser/xml-declaration-missing-ending-mark.html.
+
+        * dom/XMLTokenizerQt.cpp:
+        (WebCore::XMLTokenizer::doEnd):
+
 2009-11-08  Keishi Hattori  <casey.hattori at gmail.com>
 
         Reviewed by Pavel Feldman.
diff --git a/WebCore/dom/XMLTokenizerQt.cpp b/WebCore/dom/XMLTokenizerQt.cpp
index c6e73ba..79fc51e 100644
--- a/WebCore/dom/XMLTokenizerQt.cpp
+++ b/WebCore/dom/XMLTokenizerQt.cpp
@@ -256,7 +256,7 @@ void XMLTokenizer::doEnd()
 #endif
     
     if (m_stream.error() == QXmlStreamReader::PrematureEndOfDocumentError
-        || (m_wroteText && !m_sawFirstElement && !m_sawXSLTransform))
+        || (m_wroteText && !m_sawFirstElement && !m_sawXSLTransform && !m_sawError))
         handleError(fatal, qPrintable(m_stream.errorString()), lineNumber(), columnNumber());
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list