Unreviewed, rolling out r141905.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Feb 2013 19:47:33 +0000 (19:47 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Feb 2013 19:47:33 +0000 (19:47 +0000)
http://trac.webkit.org/changeset/141905
https://bugs.webkit.org/show_bug.cgi?id=108963

"Broke mac build" (Requested by tonyg-cr on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-05

Source/WebCore:

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::pumpTokenizer):
* html/parser/CompactHTMLToken.cpp:
(SameSizeAsCompactHTMLToken):
(WebCore::isStringSafeToSendToAnotherThread):
(WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
* html/parser/CompactHTMLToken.h:
(WebCore):
(CompactHTMLToken):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::pumpTokenizer):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterToken):
* html/parser/XSSAuditor.h:
(WebCore):
(XSSAuditor):
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::didBlockScript):
* html/parser/XSSAuditorDelegate.h:
(WebCore::DidBlockScriptRequest::create):
(WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
(XSSAuditorDelegate):
* platform/KURL.cpp:
* platform/KURL.h:
(KURL):
* platform/KURLGoogle.cpp:
(WebCore::KURLGooglePrivate::reportMemoryUsage):
* platform/KURLGooglePrivate.h:
(KURLGooglePrivate):
* platform/KURLWTFURLImpl.h:
(WebCore::KURLWTFURLImpl::reportMemoryUsage):

Source/WTF:

* wtf/text/CString.cpp:
* wtf/text/CString.h:
* wtf/text/WTFString.cpp:
* wtf/text/WTFString.h:
(String):
* wtf/url/api/ParsedURL.h:
(ParsedURL):
* wtf/url/api/URLString.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@141909 268f45cc-cd09-0410-ab3c-d52691b4dbfc

21 files changed:
Source/WTF/ChangeLog
Source/WTF/wtf/text/CString.cpp
Source/WTF/wtf/text/CString.h
Source/WTF/wtf/text/WTFString.cpp
Source/WTF/wtf/text/WTFString.h
Source/WTF/wtf/url/api/ParsedURL.h
Source/WTF/wtf/url/api/URLString.h
Source/WebCore/ChangeLog
Source/WebCore/html/parser/BackgroundHTMLParser.cpp
Source/WebCore/html/parser/CompactHTMLToken.cpp
Source/WebCore/html/parser/CompactHTMLToken.h
Source/WebCore/html/parser/HTMLDocumentParser.cpp
Source/WebCore/html/parser/XSSAuditor.cpp
Source/WebCore/html/parser/XSSAuditor.h
Source/WebCore/html/parser/XSSAuditorDelegate.cpp
Source/WebCore/html/parser/XSSAuditorDelegate.h
Source/WebCore/platform/KURL.cpp
Source/WebCore/platform/KURL.h
Source/WebCore/platform/KURLGoogle.cpp
Source/WebCore/platform/KURLGooglePrivate.h
Source/WebCore/platform/KURLWTFURLImpl.h

index 1904b51..21c0266 100644 (file)
@@ -1,3 +1,20 @@
+2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r141905.
+        http://trac.webkit.org/changeset/141905
+        https://bugs.webkit.org/show_bug.cgi?id=108963
+
+        "Broke mac build" (Requested by tonyg-cr on #webkit).
+
+        * wtf/text/CString.cpp:
+        * wtf/text/CString.h:
+        * wtf/text/WTFString.cpp:
+        * wtf/text/WTFString.h:
+        (String):
+        * wtf/url/api/ParsedURL.h:
+        (ParsedURL):
+        * wtf/url/api/URLString.h:
+
 2013-02-05  Tony Gentilcore  <tonyg@chromium.org>
 
         Call XSSAuditor's didBlockScript() for the threaded HTML parser
index 86193ce..fe14855 100644 (file)
@@ -99,11 +99,6 @@ void CString::copyBufferIfNeeded()
     memcpy(m_buffer->mutableData(), buffer->data(), length + 1);
 }
 
-bool CString::isSafeToSendToAnotherThread() const
-{
-    return !m_buffer || m_buffer->hasOneRef();
-}
-
 bool operator==(const CString& a, const CString& b)
 {
     if (a.isNull() != b.isNull())
index 1df9f6b..4d894b1 100644 (file)
@@ -72,7 +72,6 @@ public:
     }
 
     bool isNull() const { return !m_buffer; }
-    bool isSafeToSendToAnotherThread() const;
 
     CStringBuffer* buffer() const { return m_buffer.get(); }
 
index 8fac559..00c5140 100644 (file)
@@ -661,17 +661,6 @@ String String::isolatedCopy() const
     return m_impl->isolatedCopy();
 }
 
-bool String::isSafeToSendToAnotherThread() const
-{
-    if (!impl())
-        return true;
-    if (impl()->hasOneRef())
-        return true;
-    if (isEmpty())
-        return true;
-    return false;
-}
-
 void String::split(const String& separator, bool allowEmptyEntries, Vector<String>& result) const
 {
     result.clear();
index 08f403f..38994b8 100644 (file)
@@ -394,7 +394,6 @@ public:
     bool percentage(int& percentage) const;
 
     WTF_EXPORT_STRING_API String isolatedCopy() const;
-    bool isSafeToSendToAnotherThread() const;
 
     // Prevent Strings from being implicitly convertable to bool as it will be ambiguous on any platform that
     // allows implicit conversion to another pointer type (e.g., Mac allows implicit conversion to NSString*).
index cc2a5d0..c2cbb9c 100644 (file)
@@ -49,7 +49,6 @@ public:
     WTF_EXPORT_PRIVATE explicit ParsedURL(const ParsedURL& base, const String& relative, URLQueryCharsetConverter*);
 
     WTF_EXPORT_PRIVATE ParsedURL isolatedCopy() const;
-    bool isSafeToSendToAnotherThread() const { return m_spec.isSafeToSendToAnotherThread(); }
 
     bool isValid() const { return !m_spec.string().isNull(); }
 
index 8fdd1a1..70ef219 100644 (file)
@@ -39,7 +39,6 @@ public:
     URLString() { }
 
     const String& string() const { return m_string;}
-    bool isSafeToSendToAnotherThread() const { return m_string.isSafeToSendToAnotherThread(); }
 
 #ifndef NDEBUG
     WTF_EXPORT_PRIVATE void print() const;
index 1288395..17818b3 100644 (file)
@@ -1,3 +1,44 @@
+2013-02-05  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r141905.
+        http://trac.webkit.org/changeset/141905
+        https://bugs.webkit.org/show_bug.cgi?id=108963
+
+        "Broke mac build" (Requested by tonyg-cr on #webkit).
+
+        * html/parser/BackgroundHTMLParser.cpp:
+        (WebCore::BackgroundHTMLParser::pumpTokenizer):
+        * html/parser/CompactHTMLToken.cpp:
+        (SameSizeAsCompactHTMLToken):
+        (WebCore::isStringSafeToSendToAnotherThread):
+        (WebCore::CompactHTMLToken::isSafeToSendToAnotherThread):
+        * html/parser/CompactHTMLToken.h:
+        (WebCore):
+        (CompactHTMLToken):
+        * html/parser/HTMLDocumentParser.cpp:
+        (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
+        (WebCore::HTMLDocumentParser::pumpTokenizer):
+        * html/parser/XSSAuditor.cpp:
+        (WebCore::XSSAuditor::filterToken):
+        * html/parser/XSSAuditor.h:
+        (WebCore):
+        (XSSAuditor):
+        * html/parser/XSSAuditorDelegate.cpp:
+        (WebCore::XSSAuditorDelegate::didBlockScript):
+        * html/parser/XSSAuditorDelegate.h:
+        (WebCore::DidBlockScriptRequest::create):
+        (WebCore::DidBlockScriptRequest::DidBlockScriptRequest):
+        (XSSAuditorDelegate):
+        * platform/KURL.cpp:
+        * platform/KURL.h:
+        (KURL):
+        * platform/KURLGoogle.cpp:
+        (WebCore::KURLGooglePrivate::reportMemoryUsage):
+        * platform/KURLGooglePrivate.h:
+        (KURLGooglePrivate):
+        * platform/KURLWTFURLImpl.h:
+        (WebCore::KURLWTFURLImpl::reportMemoryUsage):
+
 2013-02-05  Dominik Röttsches  <dominik.rottsches@intel.com>
 
         [HarfBuzz][Cairo] harfBuzzGetGlyph is slow and hot
index 13497f5..b9c2649 100644 (file)
@@ -153,7 +153,7 @@ bool BackgroundHTMLParser::simulateTreeBuilder(const CompactHTMLToken& token)
 void BackgroundHTMLParser::pumpTokenizer()
 {
     while (m_tokenizer->nextToken(m_input.current(), *m_token.get())) {
-        // FIXME: Call m_xssAuditor.filterToken(m_token) and put resulting XSSInfo into CompactHTMLToken.
+        // FIXME: Call m_xssAuditor.filterToken(m_token) and put resulting DidBlockScriptRequest into CompactHTMLToken.
         m_pendingTokens->append(CompactHTMLToken(m_token.get(), TextPosition(m_input.current().currentLine(), m_input.current().currentColumn())));
         m_token->clear();
 
index d8a5110..a1a27f2 100644 (file)
@@ -30,7 +30,6 @@
 #include "CompactHTMLToken.h"
 
 #include "HTMLToken.h"
-#include "XSSAuditorDelegate.h"
 
 namespace WebCore {
 
@@ -39,7 +38,6 @@ struct SameSizeAsCompactHTMLToken  {
     String name;
     Vector<CompactAttribute> vector;
     TextPosition textPosition;
-    OwnPtr<XSSInfo> xssInfo;
 };
 
 COMPILE_ASSERT(sizeof(CompactHTMLToken) == sizeof(SameSizeAsCompactHTMLToken), CompactHTMLToken_should_stay_small);
@@ -88,37 +86,27 @@ CompactHTMLToken::CompactHTMLToken(const HTMLToken* token, const TextPosition& t
     }
 }
 
-CompactHTMLToken::CompactHTMLToken(const CompactHTMLToken& other)
-    : m_type(other.type())
-    , m_isAll8BitData(other.isAll8BitData())
-    , m_doctypeForcesQuirks(other.doctypeForcesQuirks())
-    , m_textPosition(other.textPosition())
+static bool isStringSafeToSendToAnotherThread(const String& string)
 {
-    if (other.xssInfo())
-        m_xssInfo = adoptPtr(new XSSInfo(*other.xssInfo()));
+    StringImpl* impl = string.impl();
+    if (!impl)
+        return true;
+    if (impl->hasOneRef())
+        return true;
+    if (string.isEmpty())
+        return true;
+    return false;
 }
 
 bool CompactHTMLToken::isSafeToSendToAnotherThread() const
 {
     for (Vector<CompactAttribute>::const_iterator it = m_attributes.begin(); it != m_attributes.end(); ++it) {
-        if (!it->name().isSafeToSendToAnotherThread())
+        if (!isStringSafeToSendToAnotherThread(it->name()))
             return false;
-        if (!it->value().isSafeToSendToAnotherThread())
+        if (!isStringSafeToSendToAnotherThread(it->value()))
             return false;
     }
-    if (m_xssInfo && !m_xssInfo->isSafeToSendToAnotherThread())
-        return false;
-    return m_data.isSafeToSendToAnotherThread();
-}
-
-XSSInfo* CompactHTMLToken::xssInfo() const
-{
-    return m_xssInfo.get();
-}
-
-void CompactHTMLToken::setXSSInfo(PassOwnPtr<XSSInfo> xssInfo)
-{
-    m_xssInfo = xssInfo;
+    return isStringSafeToSendToAnotherThread(m_data);
 }
 
 }
index 6c95f6a..e492eec 100644 (file)
@@ -29,8 +29,6 @@
 #if ENABLE(THREADED_HTML_PARSER)
 
 #include "HTMLTokenTypes.h"
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
 #include <wtf/RefCounted.h>
 #include <wtf/RefPtr.h>
 #include <wtf/Vector.h>
@@ -40,7 +38,6 @@
 namespace WebCore {
 
 class HTMLToken;
-class XSSInfo;
 
 class CompactAttribute {
 public:
@@ -61,7 +58,6 @@ private:
 class CompactHTMLToken {
 public:
     CompactHTMLToken(const HTMLToken*, const TextPosition&);
-    CompactHTMLToken(const CompactHTMLToken&);
 
     bool isSafeToSendToAnotherThread() const;
 
@@ -77,8 +73,6 @@ public:
     const String& publicIdentifier() const { return m_attributes[0].name(); }
     const String& systemIdentifier() const { return m_attributes[0].value(); }
     bool doctypeForcesQuirks() const { return m_doctypeForcesQuirks; }
-    XSSInfo* xssInfo() const;
-    void setXSSInfo(PassOwnPtr<XSSInfo>);
 
 private:
     unsigned m_type : 4;
@@ -89,19 +83,12 @@ private:
     String m_data; // "name", "characters", or "data" depending on m_type
     Vector<CompactAttribute> m_attributes;
     TextPosition m_textPosition;
-    OwnPtr<XSSInfo> m_xssInfo;
 };
 
 typedef Vector<CompactHTMLToken> CompactHTMLTokenStream;
 
 }
 
-namespace WTF {
-// This is required for a struct with OwnPtr. We know CompactHTMLToken is simple enough that
-// initializing to 0 and moving with memcpy (and then not destructing the original) will work.
-template<> struct VectorTraits<WebCore::CompactHTMLToken> : SimpleClassVectorTraits { };
-}
-
 #endif // ENABLE(THREADED_HTML_PARSER)
 
 #endif
index f653592..6106113 100644 (file)
@@ -302,7 +302,7 @@ void HTMLDocumentParser::processParsedChunkFromBackgroundParser(PassOwnPtr<Parse
 {
     ASSERT(shouldUseThreading());
 
-    // This method can cause this parser to be detached from the Document,
+    // didReceiveTokensFromBackgroundParser can cause this parser to be detached from the Document,
     // but we need to ensure it isn't deleted yet.
     RefPtr<HTMLDocumentParser> protect(this);
 
@@ -316,10 +316,8 @@ void HTMLDocumentParser::processParsedChunkFromBackgroundParser(PassOwnPtr<Parse
     for (Vector<CompactHTMLToken>::const_iterator it = tokens->begin(); it != tokens->end(); ++it) {
         ASSERT(!isWaitingForScripts());
 
+        // FIXME: Call m_xssAuditorDelegate.didBlockScript() with DidBlockScriptRequest from the CompactHTMLToken.
         m_textPosition = it->textPosition();
-
-        if (XSSInfo* xssInfo = it->xssInfo())
-            m_xssAuditorDelegate.didBlockScript(*xssInfo);
         constructTreeFromCompactHTMLToken(*it);
 
         if (isStopped())
@@ -380,9 +378,9 @@ void HTMLDocumentParser::pumpTokenizer(SynchronousMode mode)
 
             // We do not XSS filter innerHTML, which means we (intentionally) fail
             // http/tests/security/xssAuditor/dom-write-innerHTML.html
-            OwnPtr<XSSInfo> xssInfo = m_xssAuditor.filterToken(FilterTokenRequest(token(), m_sourceTracker, document()->decoder()));
-            if (xssInfo)
-                m_xssAuditorDelegate.didBlockScript(*xssInfo);
+            OwnPtr<DidBlockScriptRequest> request = m_xssAuditor.filterToken(FilterTokenRequest(token(), m_sourceTracker, document()->decoder()));
+            if (request)
+                m_xssAuditorDelegate.didBlockScript(request.release());
         }
 
         constructTreeFromHTMLToken(token());
index 015597a..2e0803a 100644 (file)
@@ -278,7 +278,7 @@ void XSSAuditor::init(Document* document)
     }
 }
 
-PassOwnPtr<XSSInfo> XSSAuditor::filterToken(const FilterTokenRequest& request)
+PassOwnPtr<DidBlockScriptRequest> XSSAuditor::filterToken(const FilterTokenRequest& request)
 {
     ASSERT(m_state == Initialized);
     if (!m_isEnabled || m_xssProtection == XSSProtectionDisabled)
@@ -296,13 +296,13 @@ PassOwnPtr<XSSInfo> XSSAuditor::filterToken(const FilterTokenRequest& request)
 
     if (didBlockScript) {
         bool didBlockEntirePage = (m_xssProtection == XSSProtectionBlockEnabled);
-        OwnPtr<XSSInfo> xssInfo = XSSInfo::create(m_reportURL, m_originalURL, m_originalHTTPBody, didBlockEntirePage);
+        OwnPtr<DidBlockScriptRequest> didBlockScriptRequest = DidBlockScriptRequest::create(m_reportURL, m_originalURL, m_originalHTTPBody, didBlockEntirePage);
         if (!m_reportURL.isEmpty()) {
             m_reportURL = KURL();
             m_originalURL = String();
             m_originalHTTPBody = String();
         }
-        return xssInfo.release();
+        return didBlockScriptRequest.release();
     }
     return nullptr;
 }
index f1c35c5..fa234d3 100644 (file)
 
 namespace WebCore {
 
+class DidBlockScriptRequest;
 class Document;
 class HTMLDocumentParser;
 class HTMLSourceTracker;
 class TextResourceDecoder;
-class XSSInfo;
 
 struct FilterTokenRequest {
     FilterTokenRequest(HTMLToken& token, HTMLSourceTracker& sourceTracker, const TextResourceDecoder* decoder)
@@ -57,7 +57,7 @@ public:
     explicit XSSAuditor(HTMLDocumentParser*);
 
     void init(Document*);
-    PassOwnPtr<XSSInfo> filterToken(const FilterTokenRequest&);
+    PassOwnPtr<DidBlockScriptRequest> filterToken(const FilterTokenRequest&);
 
 private:
     static const size_t kMaximumFragmentLengthTarget = 100;
index 5d4fa59..339eeed 100644 (file)
 #include "FormData.h"
 #include "Frame.h"
 #include "FrameLoaderClient.h"
-#include "HTMLParserIdioms.h"
 #include "InspectorValues.h"
 #include "PingLoader.h"
 #include "SecurityOrigin.h"
 
 namespace WebCore {
 
-bool XSSInfo::isSafeToSendToAnotherThread() const
-{
-    return m_reportURL.isSafeToSendToAnotherThread()
-        && m_originalURL.isSafeToSendToAnotherThread()
-        && m_originalHTTPBody.isSafeToSendToAnotherThread();
-}
-
 XSSAuditorDelegate::XSSAuditorDelegate(Document* document)
     : m_document(document)
     , m_didNotifyClient(false)
@@ -54,7 +46,7 @@ XSSAuditorDelegate::XSSAuditorDelegate(Document* document)
     ASSERT(m_document);
 }
 
-void XSSAuditorDelegate::didBlockScript(const XSSInfo& xssInfo)
+void XSSAuditorDelegate::didBlockScript(PassOwnPtr<DidBlockScriptRequest> request)
 {
     ASSERT(isMainThread());
 
@@ -62,27 +54,27 @@ void XSSAuditorDelegate::didBlockScript(const XSSInfo& xssInfo)
     DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute a JavaScript script. Source code of script found within request.\n")));
     m_document->addConsoleMessage(JSMessageSource, ErrorMessageLevel, consoleMessage);
 
-    if (xssInfo.m_didBlockEntirePage)
+    if (request->m_didBlockEntirePage)
         m_document->frame()->loader()->stopAllLoaders();
 
     if (!m_didNotifyClient) {
-        m_document->frame()->loader()->client()->didDetectXSS(m_document->url(), xssInfo.m_didBlockEntirePage);
+        m_document->frame()->loader()->client()->didDetectXSS(m_document->url(), request->m_didBlockEntirePage);
         m_didNotifyClient = true;
     }
 
-    if (!xssInfo.m_reportURL.isEmpty()) {
+    if (!request->m_reportURL.isEmpty()) {
         RefPtr<InspectorObject> reportDetails = InspectorObject::create();
-        reportDetails->setString("request-url", xssInfo.m_originalURL);
-        reportDetails->setString("request-body", xssInfo.m_originalHTTPBody);
+        reportDetails->setString("request-url", request->m_originalURL);
+        reportDetails->setString("request-body", request->m_originalHTTPBody);
 
         RefPtr<InspectorObject> reportObject = InspectorObject::create();
         reportObject->setObject("xss-report", reportDetails.release());
 
         RefPtr<FormData> report = FormData::create(reportObject->toJSONString().utf8().data());
-        PingLoader::sendViolationReport(m_document->frame(), xssInfo.m_reportURL, report);
+        PingLoader::sendViolationReport(m_document->frame(), request->m_reportURL, report);
     }
 
-    if (xssInfo.m_didBlockEntirePage)
+    if (request->m_didBlockEntirePage)
         m_document->frame()->navigationScheduler()->scheduleLocationChange(m_document->securityOrigin(), blankURL(), String());
 }
 
index cb8df3a..3edb02e 100644 (file)
@@ -34,22 +34,20 @@ namespace WebCore {
 
 class Document;
 
-class XSSInfo {
+class DidBlockScriptRequest {
 public:
-    static PassOwnPtr<XSSInfo> create(const KURL& reportURL, const String& originalURL, const String& originalHTTPBody, bool didBlockEntirePage)
+    static PassOwnPtr<DidBlockScriptRequest> create(const KURL& reportURL, const String& originalURL, const String& originalHTTPBody, bool didBlockEntirePage)
     {
-        return adoptPtr(new XSSInfo(reportURL, originalURL, originalHTTPBody, didBlockEntirePage));
+        return adoptPtr(new DidBlockScriptRequest(reportURL, originalURL, originalHTTPBody, didBlockEntirePage));
     }
 
-    bool isSafeToSendToAnotherThread() const;
-
     KURL m_reportURL;
     String m_originalURL;
     String m_originalHTTPBody;
     bool m_didBlockEntirePage;
 
 private:
-    XSSInfo(const KURL& reportURL, const String& originalURL, const String& originalHTTPBody, bool didBlockEntirePage)
+    DidBlockScriptRequest(const KURL& reportURL, const String& originalURL, const String& originalHTTPBody, bool didBlockEntirePage)
         : m_reportURL(reportURL)
         , m_originalURL(originalURL)
         , m_originalHTTPBody(originalHTTPBody)
@@ -62,7 +60,7 @@ class XSSAuditorDelegate {
 public:
     explicit XSSAuditorDelegate(Document*);
 
-    void didBlockScript(const XSSInfo&);
+    void didBlockScript(PassOwnPtr<DidBlockScriptRequest>);
 
 private:
     Document* m_document;
index 7b6af60..f16bb8a 100644 (file)
@@ -1935,15 +1935,4 @@ void KURL::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
 #endif
 }
 
-bool KURL::isSafeToSendToAnotherThread() const
-{
-#if USE(GOOGLEURL)
-    return m_url.isSafeToSendToAnotherThread();
-#elif USE(WTFURL)
-    return m_urlImpl.isSafeToSendToAnotherThread();
-#else // !USE(GOOGLEURL)
-    return m_string.isSafeToSendToAnotherThread();
-#endif
-}
-
 }
index 261f9e4..13013fb 100644 (file)
@@ -227,7 +227,6 @@ public:
 #endif
 
     void reportMemoryUsage(MemoryObjectInfo*) const;
-    bool isSafeToSendToAnotherThread() const;
 
 private:
     void invalidate();
index 167cc34..91dc5d9 100644 (file)
@@ -399,14 +399,6 @@ void KURLGooglePrivate::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) co
     info.addMember(m_innerURL, "innerURL");
     info.addMember(m_parsed, "parsed");
 }
-
-bool KURLGooglePrivate::isSafeToSendToAnotherThread() const
-{
-    return m_string.isSafeToSendToAnotherThread()
-        && m_utf8.isSafeToSendToAnotherThread()
-        && (!m_innerURL || m_innerURL->isSafeToSendToAnotherThread());
-}
-
 // KURL ------------------------------------------------------------------------
 
 // Initializes with a string representing an absolute URL. No encoding
index 4b96aef..722263e 100644 (file)
@@ -101,7 +101,6 @@ namespace WebCore {
         KURL* innerURL() const { return m_innerURL.get(); }
 
         void reportMemoryUsage(MemoryObjectInfo*) const;
-        bool isSafeToSendToAnotherThread() const;
 
     private:
         void initInnerURL();
index 16892d3..6f440ad 100644 (file)
@@ -49,11 +49,6 @@ public:
         info.addMember(m_parsedURL, "parsedURL");
         info.addMember(m_invalidUrlString, "invalidUrlString");
     }
-    bool isSafeToSendToAnotherThread() const
-    {
-        return m_invalidUrlString.isSafeToSendToAnotherThread()
-            && m_parsedURL.isSafeToSendToAnotherThread();
-    }
     PassRefPtr<KURLWTFURLImpl> copy() const;
 };