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

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

Issue 2556013002: Fix paint property under-invalidation checking about reference filters (Closed)
Patch Set: - Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
3 * reserved. 3 * reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 3001 matching lines...) Expand 10 before | Expand all | Expand 10 after
3012 if (layoutObject()->hasReflection() && layoutObject()->isBox()) { 3012 if (layoutObject()->hasReflection() && layoutObject()->isBox()) {
3013 BoxReflection reflection = boxReflectionForPaintLayer(*this, style); 3013 BoxReflection reflection = boxReflectionForPaintLayer(*this, style);
3014 filterOperations.operations().append( 3014 filterOperations.operations().append(
3015 BoxReflectFilterOperation::create(reflection)); 3015 BoxReflectFilterOperation::create(reflection));
3016 } 3016 }
3017 return filterOperations; 3017 return filterOperations;
3018 } 3018 }
3019 3019
3020 CompositorFilterOperations 3020 CompositorFilterOperations
3021 PaintLayer::createCompositorFilterOperationsForFilter( 3021 PaintLayer::createCompositorFilterOperationsForFilter(
3022 const ComputedStyle& style) { 3022 const ComputedStyle& style,
3023 FilterOperations* styleFilterOperations) {
3023 FloatRect zoomedReferenceBox; 3024 FloatRect zoomedReferenceBox;
3024 if (style.filter().hasReferenceFilter()) 3025 if (style.filter().hasReferenceFilter())
3025 zoomedReferenceBox = boxForFilterOrMask(); 3026 zoomedReferenceBox = boxForFilterOrMask();
3026 FilterEffectBuilder builder(enclosingNode(), zoomedReferenceBox, 3027 FilterEffectBuilder builder(enclosingNode(), zoomedReferenceBox,
3027 style.effectiveZoom()); 3028 style.effectiveZoom());
3028 return builder.buildFilterOperations(addReflectionToFilterOperations(style)); 3029 FilterOperations operations = addReflectionToFilterOperations(style);
3030 if (styleFilterOperations)
3031 *styleFilterOperations = operations;
3032 return builder.buildFilterOperations(operations);
3029 } 3033 }
3030 3034
3031 CompositorFilterOperations 3035 CompositorFilterOperations
3032 PaintLayer::createCompositorFilterOperationsForBackdropFilter( 3036 PaintLayer::createCompositorFilterOperationsForBackdropFilter(
3033 const ComputedStyle& style) { 3037 const ComputedStyle& style) {
3034 FloatRect zoomedReferenceBox; 3038 FloatRect zoomedReferenceBox;
3035 if (style.backdropFilter().hasReferenceFilter()) 3039 if (style.backdropFilter().hasReferenceFilter())
3036 zoomedReferenceBox = boxForFilterOrMask(); 3040 zoomedReferenceBox = boxForFilterOrMask();
3037 FilterEffectBuilder builder(enclosingNode(), zoomedReferenceBox, 3041 FilterEffectBuilder builder(enclosingNode(), zoomedReferenceBox,
3038 style.effectiveZoom()); 3042 style.effectiveZoom());
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
3251 } 3255 }
3252 3256
3253 void showLayerTree(const blink::LayoutObject* layoutObject) { 3257 void showLayerTree(const blink::LayoutObject* layoutObject) {
3254 if (!layoutObject) { 3258 if (!layoutObject) {
3255 LOG(INFO) << "Cannot showLayerTree. Root is (nil)"; 3259 LOG(INFO) << "Cannot showLayerTree. Root is (nil)";
3256 return; 3260 return;
3257 } 3261 }
3258 showLayerTree(layoutObject->enclosingLayer()); 3262 showLayerTree(layoutObject->enclosingLayer());
3259 } 3263 }
3260 #endif 3264 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698