OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010, 2011 Apple Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 2067 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2078 | 2078 |
2079 #if ENABLE(ASSERT) | 2079 #if ENABLE(ASSERT) |
2080 paintInfo.renderLayer->renderer()->assertSubtreeIsLaidOut(); | 2080 paintInfo.renderLayer->renderer()->assertSubtreeIsLaidOut(); |
2081 #endif | 2081 #endif |
2082 | 2082 |
2083 if (paintInfo.renderLayer->compositingState() != PaintsIntoGroupedBacking) { | 2083 if (paintInfo.renderLayer->compositingState() != PaintsIntoGroupedBacking) { |
2084 // FIXME: GraphicsLayers need a way to split for RenderRegions. | 2084 // FIXME: GraphicsLayers need a way to split for RenderRegions. |
2085 LayerPaintingInfo paintingInfo(paintInfo.renderLayer, dirtyRect, PaintBe
haviorNormal, paintInfo.renderLayer->subpixelAccumulation()); | 2085 LayerPaintingInfo paintingInfo(paintInfo.renderLayer, dirtyRect, PaintBe
haviorNormal, paintInfo.renderLayer->subpixelAccumulation()); |
2086 LayerPainter(*paintInfo.renderLayer).paintLayerContents(context, paintin
gInfo, paintLayerFlags); | 2086 LayerPainter(*paintInfo.renderLayer).paintLayerContents(context, paintin
gInfo, paintLayerFlags); |
2087 | 2087 |
| 2088 if (RuntimeEnabledFeatures::slimmingPaintEnabled()) { |
| 2089 |
| 2090 #ifndef NDEBUG |
| 2091 context->fillRect(dirtyRect, Color(0xFF, 0, 0)); |
| 2092 #endif |
| 2093 |
| 2094 if (RenderView* view = paintInfo.renderLayer->renderer()->view()) { |
| 2095 const PaintList& paintList = view->viewDisplayList().paintList()
; |
| 2096 for (PaintList::const_iterator it = paintList.begin(); it != pai
ntList.end(); ++it) |
| 2097 (*it)->replay(context); |
| 2098 } |
| 2099 } |
| 2100 |
2088 if (paintInfo.renderLayer->containsDirtyOverlayScrollbars()) | 2101 if (paintInfo.renderLayer->containsDirtyOverlayScrollbars()) |
2089 LayerPainter(*paintInfo.renderLayer).paintLayerContents(context, pai
ntingInfo, paintLayerFlags | PaintLayerPaintingOverlayScrollbars); | 2102 LayerPainter(*paintInfo.renderLayer).paintLayerContents(context, pai
ntingInfo, paintLayerFlags | PaintLayerPaintingOverlayScrollbars); |
2090 } else { | 2103 } else { |
2091 ASSERT(compositor()->layerSquashingEnabled()); | 2104 ASSERT(compositor()->layerSquashingEnabled()); |
2092 LayerPaintingInfo paintingInfo(paintInfo.renderLayer, dirtyRect, PaintBe
haviorNormal, paintInfo.renderLayer->subpixelAccumulation()); | 2105 LayerPaintingInfo paintingInfo(paintInfo.renderLayer, dirtyRect, PaintBe
haviorNormal, paintInfo.renderLayer->subpixelAccumulation()); |
2093 | 2106 |
2094 // RenderLayer::paintLayer assumes that the caller clips to the passed r
ect. Squashed layers need to do this clipping in software, | 2107 // RenderLayer::paintLayer assumes that the caller clips to the passed r
ect. Squashed layers need to do this clipping in software, |
2095 // since there is no graphics layer to clip them precisely. Furthermore,
in some cases we squash layers that need clipping in software | 2108 // since there is no graphics layer to clip them precisely. Furthermore,
in some cases we squash layers that need clipping in software |
2096 // from clipping ancestors (see CompositedLayerMapping::localClipRectFor
SquashedLayer()). | 2109 // from clipping ancestors (see CompositedLayerMapping::localClipRectFor
SquashedLayer()). |
2097 context->save(); | 2110 context->save(); |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2313 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { | 2326 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { |
2314 name = "Scrolling Block Selection Layer"; | 2327 name = "Scrolling Block Selection Layer"; |
2315 } else { | 2328 } else { |
2316 ASSERT_NOT_REACHED(); | 2329 ASSERT_NOT_REACHED(); |
2317 } | 2330 } |
2318 | 2331 |
2319 return name; | 2332 return name; |
2320 } | 2333 } |
2321 | 2334 |
2322 } // namespace blink | 2335 } // namespace blink |
OLD | NEW |