Changeset 199561 in webkit
- Timestamp:
- Apr 14, 2016 3:35:36 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r199556 r199561 1 2016-04-14 Dean Jackson <dino@apple.com> 2 3 CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::CachedResource::addClientToSet + 27 4 https://bugs.webkit.org/show_bug.cgi?id=156602 5 <rdar://problem/18921091> 6 7 Reviewed by Simon Fraser. 8 9 Tests that an animation between two inherited crossfade elements will not crash. 10 11 * transitions/crossfade-transition-expected.txt: Added. 12 * transitions/crossfade-transition.html: Added. 13 1 14 2016-04-14 Joseph Pecoraro <pecoraro@apple.com> 2 15 -
trunk/Source/WebCore/ChangeLog
r199553 r199561 1 2016-04-14 Dean Jackson <dino@apple.com> 2 3 CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::CachedResource::addClientToSet + 27 4 https://bugs.webkit.org/show_bug.cgi?id=156602 5 <rdar://problem/18921091> 6 7 Reviewed by Simon Fraser. 8 9 The CSS property list-style-image is inherited, so a transition on a parent 10 might cause a transition on a child. On that child, the value might be between 11 two generated crossfade images which haven't yet resolved, causing a crash. 12 13 Test: transitions/crossfade-transition.html 14 15 * css/CSSCrossfadeValue.cpp: 16 (WebCore::CSSCrossfadeValue::blend): Return null if there are no cached images. 17 * page/animation/CSSPropertyAnimation.cpp: 18 (WebCore::blendFunc): If we don't have an actual image to blend between, fall 19 out to the default case. 20 1 21 2016-04-14 Antonio Gomes <tonikitoo@webkit.org> 2 22 -
trunk/Source/WebCore/css/CSSCrossfadeValue.cpp
r194496 r199561 195 195 { 196 196 ASSERT(equalInputImages(from)); 197 if (!m_cachedToImage || !m_cachedFromImage) 198 return nullptr; 197 199 RefPtr<StyleCachedImage> toStyledImage = StyleCachedImage::create(m_cachedToImage.get()); 198 200 RefPtr<StyleCachedImage> fromStyledImage = StyleCachedImage::create(m_cachedFromImage.get()); -
trunk/Source/WebCore/page/animation/CSSPropertyAnimation.cpp
r197591 r199561 319 319 CSSCrossfadeValue& fromCrossfade = downcast<CSSCrossfadeValue>(fromGenerated); 320 320 CSSCrossfadeValue& toCrossfade = downcast<CSSCrossfadeValue>(toGenerated); 321 if (fromCrossfade.equalInputImages(toCrossfade)) 322 return StyleGeneratedImage::create(*toCrossfade.blend(fromCrossfade, progress)); 321 if (fromCrossfade.equalInputImages(toCrossfade)) { 322 if (auto crossfadeBlend = toCrossfade.blend(fromCrossfade, progress)) 323 return StyleGeneratedImage::create(*crossfadeBlend); 324 } 323 325 } 324 326
Note: See TracChangeset
for help on using the changeset viewer.