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

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: Add tests and sync to head. 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 491 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 // clipped, so a blurred "B" may still be invisible. 502 // clipped, so a blurred "B" may still be invisible.
503 if (!filter.isEmpty()) { 503 if (!filter.isEmpty()) {
504 effectNodeNeeded = true; 504 effectNodeNeeded = true;
505 outputClip = context.current.clip; 505 outputClip = context.current.clip;
506 506
507 // TODO(trchen): A filter may contain spatial operations such that an 507 // TODO(trchen): A filter may contain spatial operations such that an
508 // output pixel may depend on an input pixel outside of the output clip. 508 // output pixel may depend on an input pixel outside of the output clip.
509 // We should generate a special clip node to represent this expansion. 509 // We should generate a special clip node to represent this expansion.
510 } 510 }
511 511
512 CompositingReasons compositingReasons = 512 CompositingReasons compositingReasons = CompositingReasonNone;
513 CompositingReasonFinder::requiresCompositingForEffectAnimation(style); 513 if (CompositingReasonFinder::requiresCompositingForEffectAnimation(style)) {
514 if (compositingReasons != CompositingReasonNone) 514 compositingReasons = CompositingReasonActiveAnimation;
515 effectNodeNeeded = true; 515 effectNodeNeeded = true;
516 }
516 517
517 CompositorElementId compositorElementId = 518 CompositorElementId compositorElementId =
518 (style.hasCurrentOpacityAnimation() || 519 (style.hasCurrentOpacityAnimation() ||
519 style.hasCurrentFilterAnimation() || 520 style.hasCurrentFilterAnimation() ||
520 style.hasCurrentBackdropFilterAnimation()) 521 style.hasCurrentBackdropFilterAnimation())
521 ? createDomNodeBasedCompositorElementId(object) 522 ? createDomNodeBasedCompositorElementId(object)
522 : CompositorElementId(); 523 : CompositorElementId();
523 524
524 if (effectNodeNeeded) { 525 if (effectNodeNeeded) {
525 auto& properties = object.getMutableForPainting().ensurePaintProperties(); 526 auto& properties = object.getMutableForPainting().ensurePaintProperties();
(...skipping 470 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