| 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 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 225 m_graphicsLayer = createGraphicsLayer(m_owningLayer.compositingReasons()); | 225 m_graphicsLayer = createGraphicsLayer(m_owningLayer.compositingReasons()); |
| 226 | 226 |
| 227 updateOpacity(layoutObject()->styleRef()); | 227 updateOpacity(layoutObject()->styleRef()); |
| 228 updateTransform(layoutObject()->styleRef()); | 228 updateTransform(layoutObject()->styleRef()); |
| 229 updateFilters(layoutObject()->styleRef()); | 229 updateFilters(layoutObject()->styleRef()); |
| 230 | 230 |
| 231 if (RuntimeEnabledFeatures::cssCompositingEnabled()) { | 231 if (RuntimeEnabledFeatures::cssCompositingEnabled()) { |
| 232 updateLayerBlendMode(layoutObject()->styleRef()); | 232 updateLayerBlendMode(layoutObject()->styleRef()); |
| 233 updateIsRootForIsolatedGroup(); | 233 updateIsRootForIsolatedGroup(); |
| 234 } | 234 } |
| 235 | |
| 236 updateScrollBlocksOn(layoutObject()->styleRef()); | |
| 237 } | 235 } |
| 238 | 236 |
| 239 void CompositedDeprecatedPaintLayerMapping::destroyGraphicsLayers() | 237 void CompositedDeprecatedPaintLayerMapping::destroyGraphicsLayers() |
| 240 { | 238 { |
| 241 if (m_graphicsLayer) | 239 if (m_graphicsLayer) |
| 242 m_graphicsLayer->removeFromParent(); | 240 m_graphicsLayer->removeFromParent(); |
| 243 | 241 |
| 244 m_ancestorClippingLayer = nullptr; | 242 m_ancestorClippingLayer = nullptr; |
| 245 m_graphicsLayer = nullptr; | 243 m_graphicsLayer = nullptr; |
| 246 m_foregroundLayer = nullptr; | 244 m_foregroundLayer = nullptr; |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 void CompositedDeprecatedPaintLayerMapping::updateIsRootForIsolatedGroup() | 284 void CompositedDeprecatedPaintLayerMapping::updateIsRootForIsolatedGroup() |
| 287 { | 285 { |
| 288 bool isolate = m_owningLayer.shouldIsolateCompositedDescendants(); | 286 bool isolate = m_owningLayer.shouldIsolateCompositedDescendants(); |
| 289 | 287 |
| 290 // non stacking context layers should never isolate | 288 // non stacking context layers should never isolate |
| 291 ASSERT(m_owningLayer.stackingNode()->isStackingContext() || !isolate); | 289 ASSERT(m_owningLayer.stackingNode()->isStackingContext() || !isolate); |
| 292 | 290 |
| 293 m_graphicsLayer->setIsRootForIsolatedGroup(isolate); | 291 m_graphicsLayer->setIsRootForIsolatedGroup(isolate); |
| 294 } | 292 } |
| 295 | 293 |
| 296 void CompositedDeprecatedPaintLayerMapping::updateScrollBlocksOn(const ComputedS
tyle& style) | |
| 297 { | |
| 298 // Note that blink determines the default scroll blocking policy, even | |
| 299 // when the scroll-blocks-on CSS feature isn't enabled. | |
| 300 WebScrollBlocksOn blockingMode = WebScrollBlocksOnStartTouch | WebScrollBloc
ksOnWheelEvent; | |
| 301 | |
| 302 if (RuntimeEnabledFeatures::cssScrollBlocksOnEnabled()) | |
| 303 blockingMode = style.scrollBlocksOn(); | |
| 304 | |
| 305 m_graphicsLayer->setScrollBlocksOn(blockingMode); | |
| 306 } | |
| 307 | |
| 308 void CompositedDeprecatedPaintLayerMapping::updateContentsOpaque() | 294 void CompositedDeprecatedPaintLayerMapping::updateContentsOpaque() |
| 309 { | 295 { |
| 310 ASSERT(m_isMainFrameLayoutViewLayer || !m_backgroundLayer); | 296 ASSERT(m_isMainFrameLayoutViewLayer || !m_backgroundLayer); |
| 311 if (isAcceleratedCanvas(layoutObject())) { | 297 if (isAcceleratedCanvas(layoutObject())) { |
| 312 // Determine whether the rendering context's external texture layer is o
paque. | 298 // Determine whether the rendering context's external texture layer is o
paque. |
| 313 CanvasRenderingContext* context = toHTMLCanvasElement(layoutObject()->no
de())->renderingContext(); | 299 CanvasRenderingContext* context = toHTMLCanvasElement(layoutObject()->no
de())->renderingContext(); |
| 314 if (!context->hasAlpha()) | 300 if (!context->hasAlpha()) |
| 315 m_graphicsLayer->setContentsOpaque(true); | 301 m_graphicsLayer->setContentsOpaque(true); |
| 316 else if (WebLayer* layer = context->platformLayer()) | 302 else if (WebLayer* layer = context->platformLayer()) |
| 317 m_graphicsLayer->setContentsOpaque(!Color(layer->backgroundColor()).
hasAlpha()); | 303 m_graphicsLayer->setContentsOpaque(!Color(layer->backgroundColor()).
hasAlpha()); |
| (...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 728 updateBackgroundColor(); | 714 updateBackgroundColor(); |
| 729 updateDrawsContent(); | 715 updateDrawsContent(); |
| 730 updateContentsOpaque(); | 716 updateContentsOpaque(); |
| 731 updateAfterPartResize(); | 717 updateAfterPartResize(); |
| 732 updateRenderingContext(); | 718 updateRenderingContext(); |
| 733 updateShouldFlattenTransform(); | 719 updateShouldFlattenTransform(); |
| 734 updateChildrenTransform(); | 720 updateChildrenTransform(); |
| 735 updateScrollParent(scrollParent()); | 721 updateScrollParent(scrollParent()); |
| 736 registerScrollingLayers(); | 722 registerScrollingLayers(); |
| 737 | 723 |
| 738 updateScrollBlocksOn(layoutObject()->styleRef()); | |
| 739 | |
| 740 updateCompositingReasons(); | 724 updateCompositingReasons(); |
| 741 } | 725 } |
| 742 | 726 |
| 743 void CompositedDeprecatedPaintLayerMapping::updateMainGraphicsLayerGeometry(cons
t IntRect& relativeCompositingBounds, const IntRect& localCompositingBounds, con
st IntPoint& graphicsLayerParentLocation) | 727 void CompositedDeprecatedPaintLayerMapping::updateMainGraphicsLayerGeometry(cons
t IntRect& relativeCompositingBounds, const IntRect& localCompositingBounds, con
st IntPoint& graphicsLayerParentLocation) |
| 744 { | 728 { |
| 745 m_graphicsLayer->setPosition(FloatPoint(relativeCompositingBounds.location()
- graphicsLayerParentLocation)); | 729 m_graphicsLayer->setPosition(FloatPoint(relativeCompositingBounds.location()
- graphicsLayerParentLocation)); |
| 746 m_graphicsLayer->setOffsetFromLayoutObject(toIntSize(localCompositingBounds.
location())); | 730 m_graphicsLayer->setOffsetFromLayoutObject(toIntSize(localCompositingBounds.
location())); |
| 747 | 731 |
| 748 FloatSize oldSize = m_graphicsLayer->size(); | 732 FloatSize oldSize = m_graphicsLayer->size(); |
| 749 const IntSize& contentsSize = relativeCompositingBounds.size(); | 733 const IntSize& contentsSize = relativeCompositingBounds.size(); |
| (...skipping 1622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2372 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { | 2356 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { |
| 2373 name = "Scrolling Block Selection Layer"; | 2357 name = "Scrolling Block Selection Layer"; |
| 2374 } else { | 2358 } else { |
| 2375 ASSERT_NOT_REACHED(); | 2359 ASSERT_NOT_REACHED(); |
| 2376 } | 2360 } |
| 2377 | 2361 |
| 2378 return name; | 2362 return name; |
| 2379 } | 2363 } |
| 2380 | 2364 |
| 2381 } // namespace blink | 2365 } // namespace blink |
| OLD | NEW |