Index: Source/core/html/parser/HTMLPreloadScanner.cpp |
diff --git a/Source/core/html/parser/HTMLPreloadScanner.cpp b/Source/core/html/parser/HTMLPreloadScanner.cpp |
index a98df60e30f99459ef336dd255f28deb2d1f4c31..d554c9b3c8c7a38a717b2e59b88254e44d473d9e 100644 |
--- a/Source/core/html/parser/HTMLPreloadScanner.cpp |
+++ b/Source/core/html/parser/HTMLPreloadScanner.cpp |
@@ -515,8 +515,10 @@ template<typename Token> |
void TokenPreloadScanner::updatePredictedBaseURL(const Token& token) |
{ |
ASSERT(m_predictedBaseElementURL.isEmpty()); |
- if (const typename Token::Attribute* hrefAttribute = token.getAttributeItem(hrefAttr)) |
- m_predictedBaseElementURL = KURL(m_documentURL, stripLeadingAndTrailingHTMLSpaces(hrefAttribute->value)).copy(); |
+ if (const typename Token::Attribute* hrefAttribute = token.getAttributeItem(hrefAttr)) { |
+ KURL url(m_documentURL, stripLeadingAndTrailingHTMLSpaces(hrefAttribute->value)); |
+ m_predictedBaseElementURL = url.isValid() ? url.copy() : KURL(); |
+ } |
} |
HTMLPreloadScanner::HTMLPreloadScanner(const HTMLParserOptions& options, const KURL& documentURL, PassRefPtr<MediaValues> mediaValues) |