Show
Ignore:
Timestamp:
03/26/08 10:19:07 (8 months ago)
Author:
eric@webkit.org
Message:

Reviewed by darin.

Fix, makes us pass Test 70
XML documents should be strict about encoding checks
http://bugs.webkit.org/show_bug.cgi?id=17079

Test: fast/encoding/invalid-xml.html

  • WebCore.base.exp:
  • dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
  • loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData):
  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::TextResourceDecoder): (WebCore::TextResourceDecoder::decode):
  • loader/TextResourceDecoder.h:
  • platform/text/TextCodec.h: (WebCore::TextCodec::decode):
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decodeToBuffer): (WebCore::ErrorCallbackSetter::ErrorCallbackSetter): (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter): (WebCore::TextCodecICU::decode):
  • platform/text/TextCodecICU.h:
  • platform/text/TextCodecLatin1.cpp:
  • platform/text/TextCodecLatin1.h:
  • platform/text/TextCodecUTF16.cpp:
  • platform/text/TextCodecUTF16.h:
  • platform/text/TextCodecUserDefined.cpp:
  • platform/text/TextCodecUserDefined.h:
  • platform/text/TextDecoder.cpp: (WebCore::TextDecoder::checkForBOM):
  • platform/text/TextDecoder.h: (WebCore::TextDecoder::decode):
  • platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode):
  • platform/text/TextEncoding.h: (WebCore::TextEncoding::decode):
  • platform/text/mac/TextCodecMac.cpp: (WebCore::TextCodecMac::decode):
  • platform/text/mac/TextCodecMac.h:
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/dom/XMLTokenizer.cpp

    r30584 r31316  
    4747#include "ResourceRequest.h" 
    4848#include "ResourceResponse.h" 
     49#include "TextResourceDecoder.h" 
    4950#ifndef USE_QXMLSTREAM 
    5051#include <libxml/parser.h> 
     
    669670#endif 
    670671     
     672    if (m_doc->decoder() && m_doc->decoder()->sawError()) 
     673        // If the decoder saw an error, report it as fatal (stops parsing) 
     674        handleError(fatal, "Encoding error", lineNumber(), columnNumber()); 
     675 
    671676    return false; 
    672677}