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

Side by Side Diff: third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp

Issue 2770203002: Replace DCHECK with DCHECK_op and split some DCHECKs wherever necessary (Closed)
Patch Set: Add few more Created 3 years, 8 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/layout/PaintInvalidationState.h" 5 #include "core/layout/PaintInvalidationState.h"
6 6
7 #include "core/frame/FrameView.h" 7 #include "core/frame/FrameView.h"
8 #include "core/frame/LocalFrame.h" 8 #include "core/frame/LocalFrame.h"
9 #include "core/frame/Settings.h" 9 #include "core/frame/Settings.h"
10 #include "core/layout/LayoutInline.h" 10 #include "core/layout/LayoutInline.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 m_pendingDelayedPaintInvalidations( 96 m_pendingDelayedPaintInvalidations(
97 parentState.m_pendingDelayedPaintInvalidations), 97 parentState.m_pendingDelayedPaintInvalidations),
98 m_paintingLayer(parentState.childPaintingLayer(currentObject)) 98 m_paintingLayer(parentState.childPaintingLayer(currentObject))
99 #ifdef CHECK_FAST_PATH_SLOW_PATH_EQUALITY 99 #ifdef CHECK_FAST_PATH_SLOW_PATH_EQUALITY
100 , 100 ,
101 m_canCheckFastPathSlowPathEquality( 101 m_canCheckFastPathSlowPathEquality(
102 parentState.m_canCheckFastPathSlowPathEquality) 102 parentState.m_canCheckFastPathSlowPathEquality)
103 #endif 103 #endif
104 { 104 {
105 DCHECK(!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()); 105 DCHECK(!RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled());
106 DCHECK(&m_paintingLayer == currentObject.paintingLayer()); 106 DCHECK_EQ(&m_paintingLayer, currentObject.paintingLayer());
107 107
108 if (currentObject == parentState.m_currentObject) { 108 if (currentObject == parentState.m_currentObject) {
109 // Sometimes we create a new PaintInvalidationState from parentState on the same 109 // Sometimes we create a new PaintInvalidationState from parentState on the same
110 // object (e.g. LayoutView, and the HorriblySlowRectMapping cases in 110 // object (e.g. LayoutView, and the HorriblySlowRectMapping cases in
111 // LayoutBlock::invalidatePaintOfSubtreesIfNeeded()). 111 // LayoutBlock::invalidatePaintOfSubtreesIfNeeded()).
112 // TODO(wangxianzhu): Avoid this for 112 // TODO(wangxianzhu): Avoid this for
113 // RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled(). 113 // RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled().
114 #if DCHECK_IS_ON() 114 #if DCHECK_IS_ON()
115 m_didUpdateForChildren = parentState.m_didUpdateForChildren; 115 m_didUpdateForChildren = parentState.m_didUpdateForChildren;
116 #endif 116 #endif
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 return *child.paintingLayer(); 236 return *child.paintingLayer();
237 return m_paintingLayer; 237 return m_paintingLayer;
238 } 238 }
239 239
240 void PaintInvalidationState::updateForCurrentObject( 240 void PaintInvalidationState::updateForCurrentObject(
241 const PaintInvalidationState& parentState) { 241 const PaintInvalidationState& parentState) {
242 if (!m_cachedOffsetsEnabled) 242 if (!m_cachedOffsetsEnabled)
243 return; 243 return;
244 244
245 if (m_currentObject.isLayoutView()) { 245 if (m_currentObject.isLayoutView()) {
246 DCHECK(&parentState.m_currentObject == 246 DCHECK_EQ(&parentState.m_currentObject,
247 LayoutAPIShim::layoutObjectFrom( 247 LayoutAPIShim::layoutObjectFrom(
248 toLayoutView(m_currentObject).frame()->ownerLayoutItem())); 248 toLayoutView(m_currentObject).frame()->ownerLayoutItem()));
249 m_paintOffset += 249 m_paintOffset +=
250 toLayoutBox(parentState.m_currentObject).contentBoxOffset(); 250 toLayoutBox(parentState.m_currentObject).contentBoxOffset();
251 // a LayoutView paints with a defined size but a pixel-rounded offset. 251 // a LayoutView paints with a defined size but a pixel-rounded offset.
252 m_paintOffset = LayoutSize(roundedIntSize(m_paintOffset)); 252 m_paintOffset = LayoutSize(roundedIntSize(m_paintOffset));
253 return; 253 return;
254 } 254 }
255 255
256 EPosition position = m_currentObject.styleRef().position(); 256 EPosition position = m_currentObject.styleRef().position();
257 257
258 if (position == EPosition::kFixed) { 258 if (position == EPosition::kFixed) {
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 if (m_currentObject.isText()) 428 if (m_currentObject.isText())
429 return visualRectLocation; 429 return visualRectLocation;
430 430
431 FloatPoint point; 431 FloatPoint point;
432 if (m_paintInvalidationContainer != &m_currentObject) { 432 if (m_paintInvalidationContainer != &m_currentObject) {
433 if (m_cachedOffsetsEnabled) { 433 if (m_cachedOffsetsEnabled) {
434 if (m_currentObject.isSVGChild()) 434 if (m_currentObject.isSVGChild())
435 point = m_svgTransform.mapPoint(point); 435 point = m_svgTransform.mapPoint(point);
436 point += FloatPoint(m_paintOffset); 436 point += FloatPoint(m_paintOffset);
437 #ifdef CHECK_FAST_PATH_SLOW_PATH_EQUALITY 437 #ifdef CHECK_FAST_PATH_SLOW_PATH_EQUALITY
438 DCHECK(point == 438 DCHECK_EQ(point, slowLocalOriginToAncestorPoint(
439 slowLocalOriginToAncestorPoint( 439 m_currentObject, m_paintInvalidationContainer,
440 m_currentObject, m_paintInvalidationContainer, FloatPoint())); 440 FloatPoint()));
441 #endif 441 #endif
442 } else { 442 } else {
443 point = slowLocalToAncestorPoint( 443 point = slowLocalToAncestorPoint(
444 m_currentObject, *m_paintInvalidationContainer, FloatPoint()); 444 m_currentObject, *m_paintInvalidationContainer, FloatPoint());
445 } 445 }
446 } 446 }
447 447
448 PaintLayer::mapPointInPaintInvalidationContainerToBacking( 448 PaintLayer::mapPointInPaintInvalidationContainerToBacking(
449 *m_paintInvalidationContainer, point); 449 *m_paintInvalidationContainer, point);
450 450
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 clipRect.move(m_paintOffset); 562 clipRect.move(m_paintOffset);
563 if (m_clipped) { 563 if (m_clipped) {
564 m_clipRect.intersect(clipRect); 564 m_clipRect.intersect(clipRect);
565 } else { 565 } else {
566 m_clipRect = clipRect; 566 m_clipRect = clipRect;
567 m_clipped = true; 567 m_clipped = true;
568 } 568 }
569 } 569 }
570 570
571 PaintLayer& PaintInvalidationState::paintingLayer() const { 571 PaintLayer& PaintInvalidationState::paintingLayer() const {
572 DCHECK(&m_paintingLayer == m_currentObject.paintingLayer()); 572 DCHECK_EQ(&m_paintingLayer, m_currentObject.paintingLayer());
573 return m_paintingLayer; 573 return m_paintingLayer;
574 } 574 }
575 575
576 #ifdef CHECK_FAST_PATH_SLOW_PATH_EQUALITY 576 #ifdef CHECK_FAST_PATH_SLOW_PATH_EQUALITY
577 577
578 static bool mayHaveBeenSaturated(LayoutUnit value) { 578 static bool mayHaveBeenSaturated(LayoutUnit value) {
579 // This is not accurate, just to avoid too big values. 579 // This is not accurate, just to avoid too big values.
580 return value.abs() >= LayoutUnit::max() / 2; 580 return value.abs() >= LayoutUnit::max() / 2;
581 } 581 }
582 582
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 forcedSubtreeInvalidationFlags = 637 forcedSubtreeInvalidationFlags =
638 paintInvalidationState.m_forcedSubtreeInvalidationFlags; 638 paintInvalidationState.m_forcedSubtreeInvalidationFlags;
639 paintInvalidationContainer = 639 paintInvalidationContainer =
640 &paintInvalidationState.paintInvalidationContainer(); 640 &paintInvalidationState.paintInvalidationContainer();
641 paintingLayer = &paintInvalidationState.paintingLayer(); 641 paintingLayer = &paintInvalidationState.paintingLayer();
642 } 642 }
643 643
644 void PaintInvalidatorContextAdapter::mapLocalRectToVisualRectInBacking( 644 void PaintInvalidatorContextAdapter::mapLocalRectToVisualRectInBacking(
645 const LayoutObject& object, 645 const LayoutObject& object,
646 LayoutRect& rect) const { 646 LayoutRect& rect) const {
647 DCHECK(&object == &m_paintInvalidationState.currentObject()); 647 DCHECK_EQ(&object, &m_paintInvalidationState.currentObject());
648 m_paintInvalidationState.mapLocalRectToVisualRectInBacking(rect); 648 m_paintInvalidationState.mapLocalRectToVisualRectInBacking(rect);
649 } 649 }
650 650
651 } // namespace blink 651 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698