https://bugs.webkit.org/show_bug.cgi?id=150644
<rdar://problem/
23288538>
Reviewed by Darin Adler.
Source/WebCore:
Test: contentfiltering/allow-empty-document.html
* loader/ContentFilter.cpp:
(WebCore::ContentFilter::deliverResourceData): resourceBuffer will be null if the resource contained no data.
LayoutTests:
* contentfiltering/allow-empty-document-expected.html: Added.
* contentfiltering/allow-empty-document.html: Added.
* contentfiltering/resources/empty.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@191706
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2015-10-28 Andy Estes <aestes@apple.com>
+
+ [Content Filtering] Crash when allowing a 0-byte resource to load
+ https://bugs.webkit.org/show_bug.cgi?id=150644
+ <rdar://problem/23288538>
+
+ Reviewed by Darin Adler.
+
+ * contentfiltering/allow-empty-document-expected.html: Added.
+ * contentfiltering/allow-empty-document.html: Added.
+ * contentfiltering/resources/empty.html: Added.
+
2015-10-28 Mark Lam <mark.lam@apple.com>
Update FTL to support UntypedUse operands for op_sub.
--- /dev/null
+<!DOCTYPE html>
+<iframe src="resources/empty.html"></iframe>
--- /dev/null
+<!DOCTYPE html>
+<script>
+ if (window.internals) {
+ var settings = window.internals.mockContentFilterSettings;
+ settings.enabled = true;
+ settings.decisionPoint = settings.DECISION_POINT_AFTER_FINISHED_ADDING_DATA;
+ settings.decision = settings.DECISION_ALLOW;
+ }
+</script>
+<iframe src="resources/empty.html"></iframe>
+2015-10-28 Andy Estes <aestes@apple.com>
+
+ [Content Filtering] Crash when allowing a 0-byte resource to load
+ https://bugs.webkit.org/show_bug.cgi?id=150644
+ <rdar://problem/23288538>
+
+ Reviewed by Darin Adler.
+
+ Test: contentfiltering/allow-empty-document.html
+
+ * loader/ContentFilter.cpp:
+ (WebCore::ContentFilter::deliverResourceData): resourceBuffer will be null if the resource contained no data.
+
2015-10-28 Chris Dumez <cdumez@apple.com>
Assertion failure in WebCore::FrameLoader::stopLoading() running fast/events tests
void ContentFilter::deliverResourceData(CachedResource& resource)
{
ASSERT(resource.dataBufferingPolicy() == BufferData);
- const SharedBuffer& resourceBuffer = *resource.resourceBuffer();
- m_documentLoader.dataReceived(&resource, resourceBuffer.data(), resourceBuffer.size());
+ if (auto* resourceBuffer = resource.resourceBuffer())
+ m_documentLoader.dataReceived(&resource, resourceBuffer->data(), resourceBuffer->size());
}
} // namespace WebCore