Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Side by Side Diff: Source/core/rendering/RenderLayer.cpp

Issue 104663003: [CSS Blending] When applying mix-blend-mode on an element, (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Proper fix Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « LayoutTests/TestExpectations ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 1330 matching lines...) Expand 10 before | Expand all | Expand 10 after
1341 1341
1342 RenderLayer* ancestor = transparentPaintingAncestor(); 1342 RenderLayer* ancestor = transparentPaintingAncestor();
1343 if (ancestor) 1343 if (ancestor)
1344 ancestor->beginTransparencyLayers(context, rootLayer, paintDirtyRect, pa intBehavior); 1344 ancestor->beginTransparencyLayers(context, rootLayer, paintDirtyRect, pa intBehavior);
1345 1345
1346 if (paintsWithTransparency(paintBehavior) || paintsWithBlendMode() || create TransparencyLayerForBlendMode) { 1346 if (paintsWithTransparency(paintBehavior) || paintsWithBlendMode() || create TransparencyLayerForBlendMode) {
1347 m_usedTransparency = true; 1347 m_usedTransparency = true;
1348 context->save(); 1348 context->save();
1349 LayoutRect clipRect = paintingExtent(rootLayer, paintDirtyRect, paintBeh avior); 1349 LayoutRect clipRect = paintingExtent(rootLayer, paintDirtyRect, paintBeh avior);
1350 context->clip(clipRect); 1350 context->clip(clipRect);
1351
1351 if (paintsWithBlendMode()) 1352 if (paintsWithBlendMode())
1352 context->setCompositeOperation(context->compositeOperation(), m_blen dMode); 1353 context->setCompositeOperation(context->compositeOperation(), m_blen dMode);
1353 1354
1354 context->beginTransparencyLayer(renderer()->opacity()); 1355 context->beginTransparencyLayer(renderer()->opacity());
1356
1357 if (paintsWithBlendMode())
1358 context->setCompositeOperation(context->compositeOperation(), blink: :WebBlendModeNormal);
1355 #ifdef REVEAL_TRANSPARENCY_LAYERS 1359 #ifdef REVEAL_TRANSPARENCY_LAYERS
1356 context->setFillColor(Color(0.0f, 0.0f, 0.5f, 0.2f)); 1360 context->setFillColor(Color(0.0f, 0.0f, 0.5f, 0.2f));
1357 context->fillRect(clipRect); 1361 context->fillRect(clipRect);
1358 #endif 1362 #endif
1359 } 1363 }
1360 } 1364 }
1361 1365
1362 void* RenderLayer::operator new(size_t sz) 1366 void* RenderLayer::operator new(size_t sz)
1363 { 1367 {
1364 return partitionAlloc(Partitions::getRenderingPartition(), sz); 1368 return partitionAlloc(Partitions::getRenderingPartition(), sz);
(...skipping 2800 matching lines...) Expand 10 before | Expand all | Expand 10 after
4165 } 4169 }
4166 } 4170 }
4167 4171
4168 void showLayerTree(const WebCore::RenderObject* renderer) 4172 void showLayerTree(const WebCore::RenderObject* renderer)
4169 { 4173 {
4170 if (!renderer) 4174 if (!renderer)
4171 return; 4175 return;
4172 showLayerTree(renderer->enclosingLayer()); 4176 showLayerTree(renderer->enclosingLayer());
4173 } 4177 }
4174 #endif 4178 #endif
OLDNEW
« no previous file with comments | « LayoutTests/TestExpectations ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698