OLD | NEW |
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 612 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
623 LOG(ERROR) << "Fast path visual rect differs from slow path: fast: " | 623 LOG(ERROR) << "Fast path visual rect differs from slow path: fast: " |
624 << fastPathRect.toString() | 624 << fastPathRect.toString() |
625 << " vs slow: " << slowPathRect.toString(); | 625 << " vs slow: " << slowPathRect.toString(); |
626 showLayoutTree(&m_currentObject); | 626 showLayoutTree(&m_currentObject); |
627 | 627 |
628 NOTREACHED(); | 628 NOTREACHED(); |
629 } | 629 } |
630 | 630 |
631 #endif // CHECK_FAST_PATH_SLOW_PATH_EQUALITY | 631 #endif // CHECK_FAST_PATH_SLOW_PATH_EQUALITY |
632 | 632 |
| 633 static const PaintPropertyTreeBuilderContext& dummyTreeBuilderContext() { |
| 634 DEFINE_STATIC_LOCAL(PaintPropertyTreeBuilderContext, dummyContext, ()); |
| 635 return dummyContext; |
| 636 } |
| 637 |
633 static GeometryMapper& dummyGeometryMapper() { | 638 static GeometryMapper& dummyGeometryMapper() { |
634 DEFINE_STATIC_LOCAL(std::unique_ptr<GeometryMapper>, dummyMapper, | 639 DEFINE_STATIC_LOCAL(std::unique_ptr<GeometryMapper>, dummyMapper, |
635 (GeometryMapper::create())); | 640 (GeometryMapper::create())); |
636 return *dummyMapper; | 641 return *dummyMapper; |
637 } | 642 } |
638 | 643 |
639 PaintInvalidatorContextAdapter::PaintInvalidatorContextAdapter( | 644 PaintInvalidatorContextAdapter::PaintInvalidatorContextAdapter( |
640 const PaintInvalidationState& paintInvalidationState) | 645 const PaintInvalidationState& paintInvalidationState) |
641 // The dummy parameter will be never used because the overriding | 646 // The dummy parameters will be never used because the overriding |
642 // mapLocalRectToVisualRectInBacking() uses PaintInvalidationState. | 647 // mapLocalRectToVisualRectInBacking() uses PaintInvalidationState. |
643 : PaintInvalidatorContext(nullptr, dummyGeometryMapper()), | 648 : PaintInvalidatorContext(dummyTreeBuilderContext(), dummyGeometryMapper()), |
644 m_paintInvalidationState(paintInvalidationState) { | 649 m_paintInvalidationState(paintInvalidationState) { |
645 forcedSubtreeInvalidationFlags = | 650 forcedSubtreeInvalidationFlags = |
646 paintInvalidationState.m_forcedSubtreeInvalidationFlags; | 651 paintInvalidationState.m_forcedSubtreeInvalidationFlags; |
647 paintInvalidationContainer = | 652 paintInvalidationContainer = |
648 &paintInvalidationState.paintInvalidationContainer(); | 653 &paintInvalidationState.paintInvalidationContainer(); |
649 paintingLayer = &paintInvalidationState.paintingLayer(); | 654 paintingLayer = &paintInvalidationState.paintingLayer(); |
650 } | 655 } |
651 | 656 |
652 void PaintInvalidatorContextAdapter::mapLocalRectToVisualRectInBacking( | 657 void PaintInvalidatorContextAdapter::mapLocalRectToVisualRectInBacking( |
653 const LayoutObject& object, | 658 const LayoutObject& object, |
654 LayoutRect& rect) const { | 659 LayoutRect& rect) const { |
655 DCHECK(&object == &m_paintInvalidationState.currentObject()); | 660 DCHECK(&object == &m_paintInvalidationState.currentObject()); |
656 m_paintInvalidationState.mapLocalRectToVisualRectInBacking(rect); | 661 m_paintInvalidationState.mapLocalRectToVisualRectInBacking(rect); |
657 } | 662 } |
658 | 663 |
659 } // namespace blink | 664 } // namespace blink |
OLD | NEW |