Changeset 150503 in webkit
- Timestamp:
- May 21, 2013 11:26:11 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 7 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r150502 r150503 1 2013-05-21 Mihai Tica <mitica@adobe.com> 2 3 Updating element background blending to conform to the changes in the spec. 4 This implies that the background layers won't longer blend with the content 5 behind the element. 6 Removing the background color tests, as background color blending is no longer 7 a valid use case, also modified the current background image tests. 8 https://bugs.webkit.org/show_bug.cgi?id=116212 9 10 Reviewed by Dean Jackson. 11 12 * css3/compositing/effect-background-blend-mode-color-expected.txt: Removed. 13 * css3/compositing/effect-background-blend-mode-color.html: Removed. 14 * css3/compositing/effect-background-blend-mode-color2-expected.txt: Removed. 15 * css3/compositing/effect-background-blend-mode-color2.html: Removed. 16 * css3/compositing/effect-background-blend-mode-stacking-expected.png: Removed. 17 * css3/compositing/effect-background-blend-mode-stacking.html: 18 * platform/mac/css3/compositing/effect-background-blend-mode-color-expected.png: Removed. 19 * platform/mac/css3/compositing/effect-background-blend-mode-color2-expected.png: Removed. 20 * platform/mac/css3/compositing/effect-background-blend-mode-expected.png: 21 * platform/mac/css3/compositing/effect-background-blend-mode-stacking-expected.png: 22 1 23 2013-05-21 Seokju Kwon <seokju.kwon@gmail.com> 2 24 -
trunk/LayoutTests/css3/compositing/effect-background-blend-mode-stacking.html
r143046 r150503 1 1 <!DOCTYPE HTML> 2 2 <script> 3 3 4 if (window.testRunner) { 4 5 window.testRunner.overridePreference("WebKitAcceleratedCompositingEnabled", "1"); 6 window.testRunner.dumpAsText(true); 5 7 } 6 if (window.testRunner) 7 window.testRunner.dumpAsText(true); 8 8 9 </script> 9 10 <style> … … 20 21 } 21 22 </style> 22 <!-- this file should contain a duck on top of a gradient with every type of blending -->23 23 <body style="background-color: red"> 24 <ul>25 <li style=""></li>26 <li style="opacity: .9"></li>27 <li style="-webkit-transform: scale(1.01, 1.01)"></li>28 <li style="-webkit-transform: translate3d(.01px,.01px, 01px)"></li>29 <li style="-webkit-box-reflect:below 5px linear-gradient(to bottom, transparent 0%, transparent 50%, white 100%);"></li>30 <li style="position: fixed; top: 160px;"></li>31 </ul>24 <ul> 25 <li></li> 26 <li style="opacity: .9"></li> 27 <li style="-webkit-transform: scale(1.01, 1.01)"></li> 28 <li style="-webkit-transform: translate3d(.01px,.01px, 01px)"></li> 29 <li style="-webkit-box-reflect: below 5px linear-gradient(to bottom, transparent 0%, transparent 50%, white 100%);"></li> 30 <li style="position: fixed; top: 160px;"></li> 31 </ul> 32 32 </body> 33 33 -
trunk/Source/WebCore/ChangeLog
r150498 r150503 1 2013-05-21 Mihai Tica <mitica@adobe.com> 2 3 Update the background blending implementation to match the changes done 4 in the spec. This implies that background color blending is removed and 5 the background layers won't blend with the content behind the element 6 any more. 7 https://bugs.webkit.org/show_bug.cgi?id=116212 8 9 Reviewed by Dean Jackson. 10 11 * rendering/RenderBox.cpp: 12 (WebCore::RenderBox::paintFillLayers): 13 * rendering/RenderBoxModelObject.cpp: 14 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 15 1 16 2013-05-21 Ryosuke Niwa <rniwa@webkit.org> 2 17 -
trunk/Source/WebCore/rendering/RenderBox.cpp
r150355 r150503 1365 1365 Vector<const FillLayer*, 8> layers; 1366 1366 const FillLayer* curLayer = fillLayer; 1367 bool shouldDrawBackgroundInSeparateBuffer = false; 1367 1368 while (curLayer) { 1368 1369 layers.append(curLayer); … … 1374 1375 // the layer recursion into paintFillLayerExtended, or to compute the layer geometry here 1375 1376 // and pass it down. 1376 1377 1378 if (!shouldDrawBackgroundInSeparateBuffer && curLayer->blendMode() != BlendModeNormal) 1379 shouldDrawBackgroundInSeparateBuffer = true; 1380 1377 1381 // The clipOccludesNextLayers condition must be evaluated first to avoid short-circuiting. 1378 1382 if (curLayer->clipOccludesNextLayers(curLayer == fillLayer) && curLayer->hasOpaqueImage(this) && curLayer->image()->canRender(this, style()->effectiveZoom()) && curLayer->hasRepeatXY()) … … 1381 1385 } 1382 1386 1387 GraphicsContext* context = paintInfo.context; 1388 if (!context) 1389 shouldDrawBackgroundInSeparateBuffer = false; 1390 if (shouldDrawBackgroundInSeparateBuffer) 1391 context->beginTransparencyLayer(1); 1392 1383 1393 Vector<const FillLayer*>::const_reverse_iterator topLayer = layers.rend(); 1384 1394 for (Vector<const FillLayer*>::const_reverse_iterator it = layers.rbegin(); it != topLayer; ++it) 1385 1395 paintFillLayer(paintInfo, c, *it, rect, bleedAvoidance, op, backgroundObject); 1396 1397 if (shouldDrawBackgroundInSeparateBuffer) 1398 context->endTransparencyLayer(); 1386 1399 } 1387 1400 -
trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp
r150395 r150503 813 813 RoundedRect border = backgroundRoundedRectAdjustedForBleedAvoidance(context, rect, bleedAvoidance, box, boxSize, includeLeftEdge, includeRightEdge); 814 814 if (border.isRenderable()) 815 context->fillRoundedRect(border, bgColor, style()->colorSpace() , bgLayer->blendMode());815 context->fillRoundedRect(border, bgColor, style()->colorSpace()); 816 816 else { 817 817 context->save(); 818 818 clipRoundedInnerRect(context, rect, border); 819 context->fillRect(border.rect(), bgColor, style()->colorSpace() , context->compositeOperation(), bgLayer->blendMode());819 context->fillRect(border.rect(), bgColor, style()->colorSpace()); 820 820 context->restore(); 821 821 } 822 822 } else 823 context->fillRect(pixelSnappedIntRect(rect), bgColor, style()->colorSpace() , context->compositeOperation(), bgLayer->blendMode());823 context->fillRect(pixelSnappedIntRect(rect), bgColor, style()->colorSpace()); 824 824 825 825 return; … … 966 966 baseColor = baseColor.blend(bgColor); 967 967 968 context->fillRect(backgroundRect, baseColor, style()->colorSpace(), CompositeCopy , bgLayer->blendMode());968 context->fillRect(backgroundRect, baseColor, style()->colorSpace(), CompositeCopy); 969 969 } else if (bgColor.alpha()) { 970 970 CompositeOperator operation = shouldClearBackground ? CompositeCopy : context->compositeOperation(); 971 context->fillRect(backgroundRect, bgColor, style()->colorSpace(), operation , bgLayer->blendMode());971 context->fillRect(backgroundRect, bgColor, style()->colorSpace(), operation); 972 972 } else if (shouldClearBackground) 973 973 context->clearRect(backgroundRect);
Note: See TracChangeset
for help on using the changeset viewer.