Diff
Modified: branches/safari-537.75-branch/LayoutTests/ChangeLog (164002 => 164003)
--- branches/safari-537.75-branch/LayoutTests/ChangeLog 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/LayoutTests/ChangeLog 2014-02-13 01:40:51 UTC (rev 164003)
@@ -1,3 +1,18 @@
+2014-02-12 Matthew Hanson <[email protected]>
+
+ Merge r162679.
+
+ 2014-01-23 Jon Honeycutt <[email protected]>
+
+ Assertion failure in WebCore::PseudoElement::didRecalcStyle()
+ <https://bugs.webkit.org/show_bug.cgi?id=126761>
+ <rdar://problem/15793540>
+
+ Reviewed by Andy Estes.
+
+ * fast/images/animate-list-item-image-assertion-expected.txt: Added.
+ * fast/images/animate-list-item-image-assertion.html: Added.
+
2014-02-11 Matthew Hanson <[email protected]>
Merge r158739.
Copied: branches/safari-537.75-branch/LayoutTests/fast/images/animate-list-item-image-assertion-expected.txt (from rev 162679, trunk/LayoutTests/fast/images/animate-list-item-image-assertion-expected.txt) (0 => 164003)
--- branches/safari-537.75-branch/LayoutTests/fast/images/animate-list-item-image-assertion-expected.txt (rev 0)
+++ branches/safari-537.75-branch/LayoutTests/fast/images/animate-list-item-image-assertion-expected.txt 2014-02-13 01:40:51 UTC (rev 164003)
@@ -0,0 +1 @@
+PASSED
Copied: branches/safari-537.75-branch/LayoutTests/fast/images/animate-list-item-image-assertion.html (from rev 162679, trunk/LayoutTests/fast/images/animate-list-item-image-assertion.html) (0 => 164003)
--- branches/safari-537.75-branch/LayoutTests/fast/images/animate-list-item-image-assertion.html (rev 0)
+++ branches/safari-537.75-branch/LayoutTests/fast/images/animate-list-item-image-assertion.html 2014-02-13 01:40:51 UTC (rev 164003)
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+
+<!-- Test passes if it doesn't assert in a debug build. -->
+
+<style>
+ #anchor:after {
+ content: ".";
+ display: block;
+ }
+ span {
+ float: left;
+ }
+ ul {
+ -webkit-animation-name: n;
+ -webkit-animation-duration: .1s;
+ }
+ @-webkit-keyframes n {
+ from { }
+ to { list-style-image: -webkit-repeating-radial-gradient(circle cover, rgb(23,136,16) , rgb(2%,5%,72%) , #373f74); }
+ }
+</style>
+
+<ul id="u">
+ <li>
+ <a id="anchor" href="" id="text">PASSED</span></a>
+ </li>
+</ul>
+
+<script>
+ if (window.testRunner) {
+ window.testRunner.dumpAsText(true);
+ window.testRunner.waitUntilDone();
+
+ document.getElementById("u").addEventListener('webkitAnimationStart', function() {
+ window.testRunner.notifyDone();
+ }, false);
+ }
+</script>
Modified: branches/safari-537.75-branch/Source/WebCore/ChangeLog (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/ChangeLog 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/ChangeLog 2014-02-13 01:40:51 UTC (rev 164003)
@@ -1,3 +1,75 @@
+2014-02-12 Matthew Hanson <[email protected]>
+
+ Merge r162820.
+
+ 2014-01-26 David Kilzer <[email protected]>
+
+ Part 2: Assertion failure in WebCore::PseudoElement::didRecalcStyle()
+ <https://bugs.webkit.org/show_bug.cgi?id=126761>
+ <rdar://problem/15793540>
+
+ Reviewed by Simon Fraser.
+
+ * bindings/objc/DOM.mm:
+ (-[DOMElement image]):
+ (-[DOMElement _imageTIFFRepresentation]):
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeImage):
+ * platform/win/PasteboardWin.cpp:
+ (WebCore::Pasteboard::writeImage):
+ (WebCore::getCachedImage):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestResult::image):
+ - More places where toRenderImage() should be used instead of
+ toImage().
+ - Fixed last two places where static_cast<WebCore::RenderImage*>
+ was being used instead of toRenderImage().
+
+2014-02-12 Matthew Hanson <[email protected]>
+
+ Merge r162679.
+
+ 2014-01-23 Jon Honeycutt <[email protected]>
+
+ Assertion failure in WebCore::PseudoElement::didRecalcStyle()
+ <https://bugs.webkit.org/show_bug.cgi?id=126761>
+ <rdar://problem/15793540>
+
+ Reviewed by Andy Estes.
+
+ Test: fast/images/animate-list-item-image-assertion.html
+
+ * dom/PseudoElement.cpp:
+ (WebCore::PseudoElement::didRecalcStyle):
+ Check isRenderImage() rather than isImage() before casting to
+ RenderImage.
+
+ * editing/ios/EditorIOS.mm:
+ (WebCore::getImage):
+ Ditto.
+
+ * editing/mac/EditorMac.mm:
+ (WebCore::getImage):
+ Ditto.
+
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::parseAttribute):
+ (WebCore::HTMLImageElement::didAttachRenderers):
+ Ditto.
+
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::renderImageResource):
+ Ditto.
+
+ * page/DragController.cpp:
+ (WebCore::getCachedImage):
+ Ditto.
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
+ (WebCore::RenderLayerBacking::updateImageContents):
+ Ditto.
+
2014-02-11 Matthew Hanson <[email protected]>
Merge r161925.
Modified: branches/safari-537.75-branch/Source/WebCore/bindings/objc/DOM.mm (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/bindings/objc/DOM.mm 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/bindings/objc/DOM.mm 2014-02-13 01:40:51 UTC (rev 164003)
@@ -359,7 +359,7 @@
{
// FIXME: Could we move this function to WebCore::Node and autogenerate?
WebCore::RenderObject* renderer = core(self)->renderer();
- if (!renderer || !renderer->isImage())
+ if (!renderer || !renderer->isRenderImage())
return nil;
WebCore::CachedImage* cachedImage = static_cast<WebCore::RenderImage*>(renderer)->cachedImage();
if (!cachedImage || cachedImage->errorOccurred())
@@ -384,9 +384,9 @@
{
// FIXME: Could we move this function to WebCore::Element and autogenerate?
WebCore::RenderObject* renderer = core(self)->renderer();
- if (!renderer || !renderer->isImage())
+ if (!renderer || !renderer->isRenderImage())
return nil;
- WebCore::CachedImage* cachedImage = static_cast<WebCore::RenderImage*>(renderer)->cachedImage();
+ WebCore::CachedImage* cachedImage = toRenderImage(renderer)->cachedImage();
if (!cachedImage || cachedImage->errorOccurred())
return nil;
return (NSData *)cachedImage->imageForRenderer(renderer)->getTIFFRepresentation();
Modified: branches/safari-537.75-branch/Source/WebCore/dom/PseudoElement.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/dom/PseudoElement.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/dom/PseudoElement.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -115,7 +115,7 @@
RenderObject* renderer = this->renderer();
for (RenderObject* child = renderer->nextInPreOrder(renderer); child; child = child->nextInPreOrder(renderer)) {
// We only manage the style for the generated content which must be images or text.
- if (!child->isText() && !child->isImage())
+ if (!child->isText() && !child->isRenderImage())
continue;
// The style for the RenderTextFragment for first letter is managed by an enclosing block, not by us.
Modified: branches/safari-537.75-branch/Source/WebCore/html/HTMLAreaElement.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/html/HTMLAreaElement.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/html/HTMLAreaElement.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -221,7 +221,7 @@
return;
RenderObject* renderer = imageElement->renderer();
- if (!renderer || !renderer->isImage())
+ if (!renderer || !renderer->isRenderImage())
return;
toRenderImage(renderer)->areaElementFocusChanged(this);
Modified: branches/safari-537.75-branch/Source/WebCore/html/HTMLImageElement.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/html/HTMLImageElement.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/html/HTMLImageElement.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -111,7 +111,7 @@
void HTMLImageElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
{
if (name == altAttr) {
- if (renderer() && renderer()->isImage())
+ if (renderer() && renderer()->isRenderImage())
toRenderImage(renderer())->updateAltText();
} else if (name == srcAttr)
m_imageLoader.updateFromElementIgnoringPreviousError();
@@ -176,7 +176,7 @@
{
HTMLElement::attach(context);
- if (renderer() && renderer()->isImage() && !m_imageLoader.hasPendingBeforeLoadEvent()) {
+ if (renderer() && renderer()->isRenderImage() && !m_imageLoader.hasPendingBeforeLoadEvent()) {
RenderImage* renderImage = toRenderImage(renderer());
RenderImageResource* renderImageResource = renderImage->imageResource();
if (renderImageResource->hasImage())
Modified: branches/safari-537.75-branch/Source/WebCore/loader/ImageLoader.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/loader/ImageLoader.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/loader/ImageLoader.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -326,7 +326,7 @@
// We don't return style generated image because it doesn't belong to the ImageLoader.
// See <https://bugs.webkit.org/show_bug.cgi?id=42840>
- if (renderer->isImage() && !static_cast<RenderImage*>(renderer)->isGeneratedContent())
+ if (renderer->isRenderImage() && !static_cast<RenderImage*>(renderer)->isGeneratedContent())
return toRenderImage(renderer)->imageResource();
#if ENABLE(SVG)
Modified: branches/safari-537.75-branch/Source/WebCore/page/DragController.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/page/DragController.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/page/DragController.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -683,7 +683,7 @@
{
ASSERT(element);
RenderObject* renderer = element->renderer();
- if (!renderer || !renderer->isImage())
+ if (!renderer || !renderer->isRenderImage())
return 0;
RenderImage* image = toRenderImage(renderer);
return image->cachedImage();
Modified: branches/safari-537.75-branch/Source/WebCore/platform/gtk/PasteboardGtk.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/platform/gtk/PasteboardGtk.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/platform/gtk/PasteboardGtk.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -215,7 +215,7 @@
{
ASSERT(node);
- if (!(node->renderer() && node->renderer()->isImage()))
+ if (!(node->renderer() && node->renderer()->isRenderImage()))
return;
RenderImage* renderer = toRenderImage(node->renderer());
Modified: branches/safari-537.75-branch/Source/WebCore/platform/win/PasteboardWin.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/platform/win/PasteboardWin.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/platform/win/PasteboardWin.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -734,7 +734,7 @@
{
ASSERT(node);
- if (!(node->renderer() && node->renderer()->isImage()))
+ if (!(node->renderer() && node->renderer()->isRenderImage()))
return;
RenderImage* renderer = toRenderImage(node->renderer());
@@ -885,7 +885,7 @@
// Attempt to pull CachedImage from element
ASSERT(element);
RenderObject* renderer = element->renderer();
- if (!renderer || !renderer->isImage())
+ if (!renderer || !renderer->isRenderImage())
return 0;
RenderImage* image = toRenderImage(renderer);
Modified: branches/safari-537.75-branch/Source/WebCore/rendering/HitTestResult.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/rendering/HitTestResult.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/rendering/HitTestResult.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -288,8 +288,8 @@
return 0;
RenderObject* renderer = m_innerNonSharedNode->renderer();
- if (renderer && renderer->isImage()) {
- RenderImage* image = static_cast<WebCore::RenderImage*>(renderer);
+ if (renderer && renderer->isRenderImage()) {
+ RenderImage* image = toRenderImage(renderer);
if (image->cachedImage() && !image->cachedImage()->errorOccurred())
return image->cachedImage()->imageForRenderer(image);
}
Modified: branches/safari-537.75-branch/Source/WebCore/rendering/RenderLayerBacking.cpp (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebCore/rendering/RenderLayerBacking.cpp 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebCore/rendering/RenderLayerBacking.cpp 2014-02-13 01:40:51 UTC (rev 164003)
@@ -1675,7 +1675,7 @@
{
RenderObject* renderObject = renderer();
- if (!renderObject->isImage() || m_owningLayer->hasBoxDecorationsOrBackground() || renderObject->hasClip())
+ if (!renderObject->isRenderImage() || m_owningLayer->hasBoxDecorationsOrBackground() || renderObject->hasClip())
return false;
RenderImage* imageRenderer = toRenderImage(renderObject);
@@ -1719,7 +1719,7 @@
void RenderLayerBacking::updateImageContents()
{
- ASSERT(renderer()->isImage());
+ ASSERT(renderer()->isRenderImage());
RenderImage* imageRenderer = toRenderImage(renderer());
CachedImage* cachedImage = imageRenderer->cachedImage();
Modified: branches/safari-537.75-branch/Source/WebKit/mac/ChangeLog (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebKit/mac/ChangeLog 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebKit/mac/ChangeLog 2014-02-13 01:40:51 UTC (rev 164003)
@@ -1,3 +1,27 @@
+2014-02-12 Matthew Hanson <[email protected]>
+
+ Merge r162679.
+
+ 2014-01-23 Jon Honeycutt <[email protected]>
+
+ Assertion failure in WebCore::PseudoElement::didRecalcStyle()
+ <https://bugs.webkit.org/show_bug.cgi?id=126761>
+ <rdar://problem/15793540>
+
+ Some areas of code were erroneously checking the value of
+ RenderObject::isImage() rather than RenderObject::isRenderImage()
+ before casting the object to RenderImage.
+
+ This could lead to an assertion failure for RenderListMarkers, which
+ may return true for isImage(), but are not RenderImages.
+
+ Reviewed by Andy Estes.
+
+ * Misc/WebNSPasteboardExtras.mm:
+ (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
+ Check isRenderImage() rather than isImage() before casting to
+ RenderImage.
+
2013-12-23 Matthew Hanson <[email protected]>
Merge 161003: <rdar://problem/15719584>
Modified: branches/safari-537.75-branch/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm 2014-02-13 01:40:51 UTC (rev 164003)
@@ -270,7 +270,7 @@
NSString *extension = @"";
if (RenderObject* renderer = core(element)->renderer()) {
- if (renderer->isImage()) {
+ if (renderer->isRenderImage()) {
if (CachedImage* image = toRenderImage(renderer)->cachedImage()) {
extension = image->image()->filenameExtension();
if (![extension length])
Modified: branches/safari-537.75-branch/Source/WebKit2/ChangeLog (164002 => 164003)
--- branches/safari-537.75-branch/Source/WebKit2/ChangeLog 2014-02-13 01:32:02 UTC (rev 164002)
+++ branches/safari-537.75-branch/Source/WebKit2/ChangeLog 2014-02-13 01:40:51 UTC (rev 164003)
@@ -1,7 +1,24 @@
2014-02-12 Matthew Hanson <[email protected]>
- Merge r162904
+ Merge r162679.
+ 2014-01-23 Jon Honeycutt <[email protected]>
+
+ Assertion failure in WebCore::PseudoElement::didRecalcStyle()
+ <https://bugs.webkit.org/show_bug.cgi?id=126761>
+ <rdar://problem/15793540>
+
+ Reviewed by Andy Estes.
+
+ * WebProcess/WebPage/ios/WebPageIOS.mm:
+ (WebKit::WebPage::getPositionInformation):
+ Check isRenderImage() rather than isImage() before casting to
+ RenderImage.
+
+2014-02-12 Matthew Hanson <[email protected]>
+
+ Merge r162904.
+
2014-01-27 Andy Estes <[email protected]>
[WebKit2] Add SPI to disable the WebCore memory cache