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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp

Issue 2652273004: Paint invisible layer content in presence of composited animations. (Closed)
Patch Set: Created 3 years, 10 months 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/paint/PaintPropertyTreeBuilder.h" 5 #include "core/paint/PaintPropertyTreeBuilder.h"
6 6
7 #include "core/dom/DOMNodeIds.h" 7 #include "core/dom/DOMNodeIds.h"
8 #include "core/frame/FrameView.h" 8 #include "core/frame/FrameView.h"
9 #include "core/frame/LocalFrame.h" 9 #include "core/frame/LocalFrame.h"
10 #include "core/frame/Settings.h" 10 #include "core/frame/Settings.h"
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 // clipped, so a blurred "B" may still be invisible. 503 // clipped, so a blurred "B" may still be invisible.
504 if (!filter.isEmpty()) { 504 if (!filter.isEmpty()) {
505 effectNodeNeeded = true; 505 effectNodeNeeded = true;
506 outputClip = context.current.clip; 506 outputClip = context.current.clip;
507 507
508 // TODO(trchen): A filter may contain spatial operations such that an 508 // TODO(trchen): A filter may contain spatial operations such that an
509 // output pixel may depend on an input pixel outside of the output clip. 509 // output pixel may depend on an input pixel outside of the output clip.
510 // We should generate a special clip node to represent this expansion. 510 // We should generate a special clip node to represent this expansion.
511 } 511 }
512 512
513 CompositingReasons compositingReasons = 513 CompositingReasons compositingReasons = CompositingReasonNone;
514 CompositingReasonFinder::requiresCompositingForEffectAnimation(style); 514 if (CompositingReasonFinder::requiresCompositingForEffectAnimation(style)) {
wkorman 2017/01/26 22:47:56 This was a bug -- we were assigning the bool resul
wkorman 2017/01/27 03:53:12 Added check for this to test case.
515 if (compositingReasons != CompositingReasonNone) 515 compositingReasons = CompositingReasonActiveAnimation;
516 effectNodeNeeded = true; 516 effectNodeNeeded = true;
517 }
517 518
518 CompositorElementId compositorElementId = 519 CompositorElementId compositorElementId =
519 (style.hasCurrentOpacityAnimation() || 520 (style.hasCurrentOpacityAnimation() ||
520 style.hasCurrentFilterAnimation() || 521 style.hasCurrentFilterAnimation() ||
521 style.hasCurrentBackdropFilterAnimation()) 522 style.hasCurrentBackdropFilterAnimation())
522 ? createDomNodeBasedCompositorElementId(object) 523 ? createDomNodeBasedCompositorElementId(object)
523 : CompositorElementId(); 524 : CompositorElementId();
524 525
525 if (effectNodeNeeded) { 526 if (effectNodeNeeded) {
526 auto& properties = object.getMutableForPainting().ensurePaintProperties(); 527 auto& properties = object.getMutableForPainting().ensurePaintProperties();
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
996 updateOverflowClip(object, context); 997 updateOverflowClip(object, context);
997 updatePerspective(object, context); 998 updatePerspective(object, context);
998 updateSvgLocalToBorderBoxTransform(object, context); 999 updateSvgLocalToBorderBoxTransform(object, context);
999 updateScrollAndScrollTranslation(object, context); 1000 updateScrollAndScrollTranslation(object, context);
1000 updateOutOfFlowContext(object, context); 1001 updateOutOfFlowContext(object, context);
1001 1002
1002 context.forceSubtreeUpdate |= object.subtreeNeedsPaintPropertyUpdate(); 1003 context.forceSubtreeUpdate |= object.subtreeNeedsPaintPropertyUpdate();
1003 } 1004 }
1004 1005
1005 } // namespace blink 1006 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698