| 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 2000 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2011 dirtyRect.move(offset); | 2011 dirtyRect.move(offset); |
| 2012 | 2012 |
| 2013 if (!(paintInfo.paintingPhase & GraphicsLayerPaintOverflowContents)) { | 2013 if (!(paintInfo.paintingPhase & GraphicsLayerPaintOverflowContents)) { |
| 2014 LayoutRect bounds = paintInfo.compositedBounds; | 2014 LayoutRect bounds = paintInfo.compositedBounds; |
| 2015 bounds.move(paintInfo.renderLayer->subpixelAccumulation()); | 2015 bounds.move(paintInfo.renderLayer->subpixelAccumulation()); |
| 2016 dirtyRect.intersect(pixelSnappedIntRect(bounds)); | 2016 dirtyRect.intersect(pixelSnappedIntRect(bounds)); |
| 2017 } else { | 2017 } else { |
| 2018 dirtyRect.move(roundedIntSize(paintInfo.renderLayer->subpixelAccumulatio
n())); | 2018 dirtyRect.move(roundedIntSize(paintInfo.renderLayer->subpixelAccumulatio
n())); |
| 2019 } | 2019 } |
| 2020 | 2020 |
| 2021 #ifndef NDEBUG | 2021 #if ENABLE(ASSERT) |
| 2022 paintInfo.renderLayer->renderer()->assertSubtreeIsLaidOut(); | 2022 paintInfo.renderLayer->renderer()->assertSubtreeIsLaidOut(); |
| 2023 #endif | 2023 #endif |
| 2024 | 2024 |
| 2025 if (paintInfo.renderLayer->compositingState() != PaintsIntoGroupedBacking) { | 2025 if (paintInfo.renderLayer->compositingState() != PaintsIntoGroupedBacking) { |
| 2026 // FIXME: GraphicsLayers need a way to split for RenderRegions. | 2026 // FIXME: GraphicsLayers need a way to split for RenderRegions. |
| 2027 LayerPaintingInfo paintingInfo(paintInfo.renderLayer, dirtyRect, PaintBe
haviorNormal, paintInfo.renderLayer->subpixelAccumulation()); | 2027 LayerPaintingInfo paintingInfo(paintInfo.renderLayer, dirtyRect, PaintBe
haviorNormal, paintInfo.renderLayer->subpixelAccumulation()); |
| 2028 paintInfo.renderLayer->paintLayerContents(context, paintingInfo, paintFl
ags); | 2028 paintInfo.renderLayer->paintLayerContents(context, paintingInfo, paintFl
ags); |
| 2029 | 2029 |
| 2030 ASSERT(!paintInfo.isBackgroundLayer || paintFlags & PaintLayerPaintingRo
otBackgroundOnly); | 2030 ASSERT(!paintInfo.isBackgroundLayer || paintFlags & PaintLayerPaintingRo
otBackgroundOnly); |
| 2031 | 2031 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2063 transformedClip.moveBy(scrollbarRect.location()); | 2063 transformedClip.moveBy(scrollbarRect.location()); |
| 2064 scrollbar->paint(&context, transformedClip); | 2064 scrollbar->paint(&context, transformedClip); |
| 2065 context.restore(); | 2065 context.restore(); |
| 2066 } | 2066 } |
| 2067 | 2067 |
| 2068 // Up-call from compositing layer drawing callback. | 2068 // Up-call from compositing layer drawing callback. |
| 2069 void CompositedLayerMapping::paintContents(const GraphicsLayer* graphicsLayer, G
raphicsContext& context, GraphicsLayerPaintingPhase paintingPhase, const IntRect
& clip) | 2069 void CompositedLayerMapping::paintContents(const GraphicsLayer* graphicsLayer, G
raphicsContext& context, GraphicsLayerPaintingPhase paintingPhase, const IntRect
& clip) |
| 2070 { | 2070 { |
| 2071 // https://code.google.com/p/chromium/issues/detail?id=343772 | 2071 // https://code.google.com/p/chromium/issues/detail?id=343772 |
| 2072 DisableCompositingQueryAsserts disabler; | 2072 DisableCompositingQueryAsserts disabler; |
| 2073 #ifndef NDEBUG | 2073 #if ENABLE(ASSERT) |
| 2074 // FIXME: once the state machine is ready, this can be removed and we can re
fer to that instead. | 2074 // FIXME: once the state machine is ready, this can be removed and we can re
fer to that instead. |
| 2075 if (Page* page = renderer()->frame()->page()) | 2075 if (Page* page = renderer()->frame()->page()) |
| 2076 page->setIsPainting(true); | 2076 page->setIsPainting(true); |
| 2077 #endif | 2077 #endif |
| 2078 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "Paint", "data"
, InspectorPaintEvent::data(m_owningLayer.renderer(), clip, graphicsLayer)); | 2078 TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "Paint", "data"
, InspectorPaintEvent::data(m_owningLayer.renderer(), clip, graphicsLayer)); |
| 2079 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline.stack"), "
CallStack", "stack", InspectorCallStackEvent::currentCallStack()); | 2079 TRACE_EVENT_INSTANT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline.stack"), "
CallStack", "stack", InspectorCallStackEvent::currentCallStack()); |
| 2080 // FIXME(361045): remove InspectorInstrumentation calls once DevTools Timeli
ne migrates to tracing. | 2080 // FIXME(361045): remove InspectorInstrumentation calls once DevTools Timeli
ne migrates to tracing. |
| 2081 InspectorInstrumentation::willPaint(m_owningLayer.renderer(), graphicsLayer)
; | 2081 InspectorInstrumentation::willPaint(m_owningLayer.renderer(), graphicsLayer)
; |
| 2082 | 2082 |
| 2083 if (graphicsLayer == m_graphicsLayer.get() | 2083 if (graphicsLayer == m_graphicsLayer.get() |
| (...skipping 25 matching lines...) Expand all Loading... |
| 2109 const IntRect& scrollCornerAndResizer = m_owningLayer.scrollableArea()->
scrollCornerAndResizerRect(); | 2109 const IntRect& scrollCornerAndResizer = m_owningLayer.scrollableArea()->
scrollCornerAndResizerRect(); |
| 2110 context.save(); | 2110 context.save(); |
| 2111 context.translate(-scrollCornerAndResizer.x(), -scrollCornerAndResizer.y
()); | 2111 context.translate(-scrollCornerAndResizer.x(), -scrollCornerAndResizer.y
()); |
| 2112 IntRect transformedClip = clip; | 2112 IntRect transformedClip = clip; |
| 2113 transformedClip.moveBy(scrollCornerAndResizer.location()); | 2113 transformedClip.moveBy(scrollCornerAndResizer.location()); |
| 2114 m_owningLayer.scrollableArea()->paintScrollCorner(&context, IntPoint(),
transformedClip); | 2114 m_owningLayer.scrollableArea()->paintScrollCorner(&context, IntPoint(),
transformedClip); |
| 2115 m_owningLayer.scrollableArea()->paintResizer(&context, IntPoint(), trans
formedClip); | 2115 m_owningLayer.scrollableArea()->paintResizer(&context, IntPoint(), trans
formedClip); |
| 2116 context.restore(); | 2116 context.restore(); |
| 2117 } | 2117 } |
| 2118 InspectorInstrumentation::didPaint(m_owningLayer.renderer(), graphicsLayer,
&context, clip); | 2118 InspectorInstrumentation::didPaint(m_owningLayer.renderer(), graphicsLayer,
&context, clip); |
| 2119 #ifndef NDEBUG | 2119 #if ENABLE(ASSERT) |
| 2120 if (Page* page = renderer()->frame()->page()) | 2120 if (Page* page = renderer()->frame()->page()) |
| 2121 page->setIsPainting(false); | 2121 page->setIsPainting(false); |
| 2122 #endif | 2122 #endif |
| 2123 } | 2123 } |
| 2124 | 2124 |
| 2125 bool CompositedLayerMapping::isTrackingRepaints() const | 2125 bool CompositedLayerMapping::isTrackingRepaints() const |
| 2126 { | 2126 { |
| 2127 GraphicsLayerClient* client = compositor(); | 2127 GraphicsLayerClient* client = compositor(); |
| 2128 return client ? client->isTrackingRepaints() : false; | 2128 return client ? client->isTrackingRepaints() : false; |
| 2129 } | 2129 } |
| 2130 | 2130 |
| 2131 #ifndef NDEBUG | 2131 #if ENABLE(ASSERT) |
| 2132 void CompositedLayerMapping::verifyNotPainting() | 2132 void CompositedLayerMapping::verifyNotPainting() |
| 2133 { | 2133 { |
| 2134 ASSERT(!renderer()->frame()->page() || !renderer()->frame()->page()->isPaint
ing()); | 2134 ASSERT(!renderer()->frame()->page() || !renderer()->frame()->page()->isPaint
ing()); |
| 2135 } | 2135 } |
| 2136 #endif | 2136 #endif |
| 2137 | 2137 |
| 2138 void CompositedLayerMapping::notifyAnimationStarted(const GraphicsLayer*, double
monotonicTime) | 2138 void CompositedLayerMapping::notifyAnimationStarted(const GraphicsLayer*, double
monotonicTime) |
| 2139 { | 2139 { |
| 2140 renderer()->node()->document().compositorPendingAnimations().notifyComposito
rAnimationStarted(monotonicTime); | 2140 renderer()->node()->document().compositorPendingAnimations().notifyComposito
rAnimationStarted(monotonicTime); |
| 2141 } | 2141 } |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2240 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { | 2240 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { |
| 2241 name = "Scrolling Block Selection Layer"; | 2241 name = "Scrolling Block Selection Layer"; |
| 2242 } else { | 2242 } else { |
| 2243 ASSERT_NOT_REACHED(); | 2243 ASSERT_NOT_REACHED(); |
| 2244 } | 2244 } |
| 2245 | 2245 |
| 2246 return name; | 2246 return name; |
| 2247 } | 2247 } |
| 2248 | 2248 |
| 2249 } // namespace WebCore | 2249 } // namespace WebCore |
| OLD | NEW |