Diff
Modified: trunk/LayoutTests/ChangeLog (220072 => 220073)
--- trunk/LayoutTests/ChangeLog 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/LayoutTests/ChangeLog 2017-07-31 20:31:05 UTC (rev 220073)
@@ -1,3 +1,17 @@
+2017-07-31 Matt Lewis <jlew...@apple.com>
+
+ Unreviewed, rolling out r220048.
+
+ This revision caused multiple crashes in fast/images. See
+ webkit.org/b/174990
+
+ Reverted changeset:
+
+ "RenderImageResourceStyleImage::image() should return the
+ nullImage() if the image is not available"
+ https://bugs.webkit.org/show_bug.cgi?id=174874
+ http://trac.webkit.org/changeset/220048
+
2017-07-31 Per Arne Vollan <pvol...@apple.com>
Do not mark all web-platform tests as slow, as this increases time spent on layout tests.
Deleted: trunk/LayoutTests/fast/images/image-element-image-content-data-expected.txt (220072 => 220073)
--- trunk/LayoutTests/fast/images/image-element-image-content-data-expected.txt 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/LayoutTests/fast/images/image-element-image-content-data-expected.txt 2017-07-31 20:31:05 UTC (rev 220073)
@@ -1,3 +0,0 @@
-PASS if no crash happens.
-
-
Deleted: trunk/LayoutTests/fast/images/image-element-image-content-data.html (220072 => 220073)
--- trunk/LayoutTests/fast/images/image-element-image-content-data.html 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/LayoutTests/fast/images/image-element-image-content-data.html 2017-07-31 20:31:05 UTC (rev 220073)
@@ -1,20 +0,0 @@
-<style>
- img {
- width: 100px;
- height: 100px;
- border: 2px solid black;
- content: -webkit-named-image(apple-pay-logo-white);
- }
-</style>
-<body>
- <p>PASS if no crash happens.</p>
- <img src=''>
- <script>
- if (window.testRunner)
- testRunner.dumpAsText(true);
- setTimeout(function() {
- var image = document.querySelector('img');
- image.remove();
- }, 0);
- </script>
-</body>
Modified: trunk/Source/WebCore/ChangeLog (220072 => 220073)
--- trunk/Source/WebCore/ChangeLog 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/ChangeLog 2017-07-31 20:31:05 UTC (rev 220073)
@@ -1,3 +1,17 @@
+2017-07-31 Matt Lewis <jlew...@apple.com>
+
+ Unreviewed, rolling out r220048.
+
+ This revision caused multiple crashes in fast/images. See
+ webkit.org/b/174990
+
+ Reverted changeset:
+
+ "RenderImageResourceStyleImage::image() should return the
+ nullImage() if the image is not available"
+ https://bugs.webkit.org/show_bug.cgi?id=174874
+ http://trac.webkit.org/changeset/220048
+
2017-07-31 Sam Weinig <s...@webkit.org>
Remove unnecessary exceptions from storage code
Modified: trunk/Source/WebCore/css/CSSCrossfadeValue.cpp (220072 => 220073)
--- trunk/Source/WebCore/css/CSSCrossfadeValue.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/css/CSSCrossfadeValue.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -33,6 +33,7 @@
#include "CachedResourceLoader.h"
#include "CrossfadeGeneratedImage.h"
#include "RenderElement.h"
+#include "StyleCachedImage.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
Modified: trunk/Source/WebCore/css/CSSFilterImageValue.cpp (220072 => 220073)
--- trunk/Source/WebCore/css/CSSFilterImageValue.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/css/CSSFilterImageValue.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -33,6 +33,7 @@
#include "GraphicsContext.h"
#include "ImageBuffer.h"
#include "RenderElement.h"
+#include "StyleCachedImage.h"
#include "StyleResolver.h"
#include <wtf/text/StringBuilder.h>
Modified: trunk/Source/WebCore/page/EventHandler.cpp (220072 => 220073)
--- trunk/Source/WebCore/page/EventHandler.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/page/EventHandler.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -86,6 +86,7 @@
#include "Settings.h"
#include "ShadowRoot.h"
#include "SpatialNavigation.h"
+#include "StyleCachedImage.h"
#include "TextEvent.h"
#include "TextIterator.h"
#include "UserGestureIndicator.h"
Modified: trunk/Source/WebCore/page/PageSerializer.cpp (220072 => 220073)
--- trunk/Source/WebCore/page/PageSerializer.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/page/PageSerializer.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -52,6 +52,7 @@
#include "MarkupAccumulator.h"
#include "Page.h"
#include "RenderElement.h"
+#include "StyleCachedImage.h"
#include "StyleImage.h"
#include "StyleProperties.h"
#include "StyleRule.h"
Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (220072 => 220073)
--- trunk/Source/WebCore/rendering/RenderElement.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -50,6 +50,7 @@
#include "RenderDescendantIterator.h"
#include "RenderFlexibleBox.h"
#include "RenderImage.h"
+#include "RenderImageResourceStyleImage.h"
#include "RenderInline.h"
#include "RenderIterator.h"
#include "RenderLayer.h"
Modified: trunk/Source/WebCore/rendering/RenderImageResource.cpp (220072 => 220073)
--- trunk/Source/WebCore/rendering/RenderImageResource.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/rendering/RenderImageResource.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -32,6 +32,7 @@
#include "Image.h"
#include "RenderElement.h"
#include "RenderImage.h"
+#include "RenderImageResourceStyleImage.h"
namespace WebCore {
Modified: trunk/Source/WebCore/rendering/RenderImageResourceStyleImage.cpp (220072 => 220073)
--- trunk/Source/WebCore/rendering/RenderImageResourceStyleImage.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/rendering/RenderImageResourceStyleImage.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -30,6 +30,7 @@
#include "CachedImage.h"
#include "RenderElement.h"
+#include "StyleCachedImage.h"
namespace WebCore {
@@ -47,7 +48,7 @@
RenderImageResource::initialize(renderer);
if (m_styleImage->isCachedImage())
- m_cachedImage = m_styleImage->cachedImage();
+ m_cachedImage = m_styleImage.get().cachedImage();
m_styleImage->addClient(m_renderer);
}
@@ -55,19 +56,17 @@
void RenderImageResourceStyleImage::shutdown()
{
ASSERT(m_renderer);
- image()->stopAnimation();
m_styleImage->removeClient(m_renderer);
- m_cachedImage = nullptr;
+ if (m_cachedImage) {
+ image()->stopAnimation();
+ m_cachedImage = nullptr;
+ }
}
RefPtr<Image> RenderImageResourceStyleImage::image(const IntSize& size) const
{
// Generated content may trigger calls to image() while we're still pending, don't assert but gracefully exit.
- if (m_styleImage->isPending())
- return &Image::nullImage();
- if (auto image = m_styleImage->image(m_renderer, size))
- return image;
- return &Image::nullImage();
+ return !m_styleImage->isPending() ? m_styleImage->image(m_renderer, size) : &Image::nullImage();
}
void RenderImageResourceStyleImage::setContainerSizeForRenderer(const IntSize& size)
Modified: trunk/Source/WebCore/rendering/style/ContentData.cpp (220072 => 220073)
--- trunk/Source/WebCore/rendering/style/ContentData.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/rendering/style/ContentData.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -25,6 +25,7 @@
#include "RenderCounter.h"
#include "RenderImage.h"
#include "RenderImageResource.h"
+#include "RenderImageResourceStyleImage.h"
#include "RenderQuote.h"
#include "RenderStyle.h"
#include "RenderTextFragment.h"
Modified: trunk/Source/WebCore/rendering/style/StyleCachedImage.cpp (220072 => 220073)
--- trunk/Source/WebCore/rendering/style/StyleCachedImage.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/rendering/style/StyleCachedImage.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -29,6 +29,7 @@
#include "CSSImageValue.h"
#include "CachedImage.h"
#include "RenderElement.h"
+#include "RenderView.h"
namespace WebCore {
Modified: trunk/Source/WebCore/style/StylePendingResources.cpp (220072 => 220073)
--- trunk/Source/WebCore/style/StylePendingResources.cpp 2017-07-31 18:36:54 UTC (rev 220072)
+++ trunk/Source/WebCore/style/StylePendingResources.cpp 2017-07-31 20:31:05 UTC (rev 220073)
@@ -34,6 +34,7 @@
#include "Document.h"
#include "RenderStyle.h"
#include "SVGURIReference.h"
+#include "StyleCachedImage.h"
#include "StyleGeneratedImage.h"
#include "TransformFunctions.h"