Title: [124335] trunk/Source/WebCore
Revision
124335
Author
[email protected]
Date
2012-08-01 07:58:09 -0700 (Wed, 01 Aug 2012)

Log Message

Web Inspector: Crashes in NetworkResourcesData.
https://bugs.webkit.org/show_bug.cgi?id=92874

Reviewed by Yury Semikhatsky.

* inspector/NetworkResourcesData.cpp:
(WebCore::contentSizeInBytes):
(WebCore):
(WebCore::NetworkResourcesData::ResourceData::removeContent):
(WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
(WebCore::NetworkResourcesData::setResourceContent):
(WebCore::NetworkResourcesData::maybeDecodeDataToContent):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (124334 => 124335)


--- trunk/Source/WebCore/ChangeLog	2012-08-01 14:38:01 UTC (rev 124334)
+++ trunk/Source/WebCore/ChangeLog	2012-08-01 14:58:09 UTC (rev 124335)
@@ -1,3 +1,18 @@
+2012-08-01  Vsevolod Vlasov  <[email protected]>
+
+        Web Inspector: Crashes in NetworkResourcesData.
+        https://bugs.webkit.org/show_bug.cgi?id=92874
+
+        Reviewed by Yury Semikhatsky.
+
+        * inspector/NetworkResourcesData.cpp:
+        (WebCore::contentSizeInBytes):
+        (WebCore):
+        (WebCore::NetworkResourcesData::ResourceData::removeContent):
+        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
+        (WebCore::NetworkResourcesData::setResourceContent):
+        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
+
 2012-08-01  Ilya Tikhonovsky  <[email protected]>
 
         Web Inspector: test native memory instrumentation code with help of unittests

Modified: trunk/Source/WebCore/inspector/NetworkResourcesData.cpp (124334 => 124335)


--- trunk/Source/WebCore/inspector/NetworkResourcesData.cpp	2012-08-01 14:38:01 UTC (rev 124334)
+++ trunk/Source/WebCore/inspector/NetworkResourcesData.cpp	2012-08-01 14:58:09 UTC (rev 124335)
@@ -66,6 +66,11 @@
     m_base64Encoded = base64Encoded;
 }
 
+static size_t contentSizeInBytes(const String& content)
+{
+    return content.isNull() ? 0 : content.impl()->sizeInBytes();
+}
+
 unsigned NetworkResourcesData::ResourceData::removeContent()
 {
     unsigned result = 0;
@@ -77,7 +82,7 @@
 
     if (hasContent()) {
         ASSERT(!hasData());
-        result = m_content.impl()->sizeInBytes();
+        result = contentSizeInBytes(m_content);
         m_content = String();
     }
     return result;
@@ -110,7 +115,7 @@
     m_content = m_decoder->decode(m_dataBuffer->data(), m_dataBuffer->size());
     m_content += m_decoder->flush();
     m_dataBuffer = nullptr;
-    return m_content.impl()->sizeInBytes() - dataLength;
+    return contentSizeInBytes(m_content) - dataLength;
 }
 
 // NetworkResourcesData
@@ -179,7 +184,7 @@
     ResourceData* resourceData = m_requestIdToResourceDataMap.get(requestId);
     if (!resourceData)
         return;
-    size_t dataLength = content.impl()->sizeInBytes();
+    size_t dataLength = contentSizeInBytes(content);
     if (dataLength > m_maximumSingleResourceContentSize)
         return;
     if (resourceData->isContentPurged())
@@ -220,7 +225,7 @@
     if (!resourceData->hasData())
         return;
     m_contentSize += resourceData->decodeDataToContent();
-    size_t dataLength = resourceData->content().impl()->sizeInBytes();
+    size_t dataLength = contentSizeInBytes(resourceData->content());
     if (dataLength > m_maximumSingleResourceContentSize)
         m_contentSize -= resourceData->purgeContent();
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to