OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009, 2010 Apple Inc. All rights reserved. |
3 * Copyright (C) 2014 Google Inc. All rights reserved. | 3 * Copyright (C) 2014 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 if (!squashingState.haveAssignedBackingsToEntireSquashingLayerSubtree) | 120 if (!squashingState.haveAssignedBackingsToEntireSquashingLayerSubtree) |
121 return CompositingReasonSquashingWouldBreakPaintOrder; | 121 return CompositingReasonSquashingWouldBreakPaintOrder; |
122 | 122 |
123 // FIXME: this special case for video exists only to deal with corner cases | 123 // FIXME: this special case for video exists only to deal with corner cases |
124 // where a RenderVideo does not report that it needs to be directly composit
ed. | 124 // where a RenderVideo does not report that it needs to be directly composit
ed. |
125 // Video does not currently support sharing a backing, but this could be | 125 // Video does not currently support sharing a backing, but this could be |
126 // generalized in the future. The following layout tests fail if we permit t
he | 126 // generalized in the future. The following layout tests fail if we permit t
he |
127 // video to share a backing with other layers. | 127 // video to share a backing with other layers. |
128 // | 128 // |
129 // compositing/video/video-controls-layer-creation.html | 129 // compositing/video/video-controls-layer-creation.html |
130 // virtual/softwarecompositing/video/video-controls-layer-creation.html | |
131 if (layer->renderer()->isVideo()) | 130 if (layer->renderer()->isVideo()) |
132 return CompositingReasonSquashingVideoIsDisallowed; | 131 return CompositingReasonSquashingVideoIsDisallowed; |
133 | 132 |
134 // Don't squash iframes, frames or plugins. | 133 // Don't squash iframes, frames or plugins. |
135 // FIXME: this is only necessary because there is frame code that assumes th
at composited frames are not squashed. | 134 // FIXME: this is only necessary because there is frame code that assumes th
at composited frames are not squashed. |
136 if (layer->renderer()->isRenderPart()) | 135 if (layer->renderer()->isRenderPart()) |
137 return CompositingReasonSquashingRenderPartIsDisallowed; | 136 return CompositingReasonSquashingRenderPartIsDisallowed; |
138 | 137 |
139 if (layer->reflectionInfo()) | 138 if (layer->reflectionInfo()) |
140 return CompositingReasonSquashingReflectionIsDisallowed; | 139 return CompositingReasonSquashingReflectionIsDisallowed; |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 | 282 |
284 RenderLayerStackingNodeIterator iterator(*layer->stackingNode(), NormalFlowC
hildren | PositiveZOrderChildren); | 283 RenderLayerStackingNodeIterator iterator(*layer->stackingNode(), NormalFlowC
hildren | PositiveZOrderChildren); |
285 while (RenderLayerStackingNode* curNode = iterator.next()) | 284 while (RenderLayerStackingNode* curNode = iterator.next()) |
286 assignLayersToBackingsInternal(curNode->layer(), squashingState, layersN
eedingPaintInvalidation); | 285 assignLayersToBackingsInternal(curNode->layer(), squashingState, layersN
eedingPaintInvalidation); |
287 | 286 |
288 if (squashingState.hasMostRecentMapping && &squashingState.mostRecentMapping
->owningLayer() == layer) | 287 if (squashingState.hasMostRecentMapping && &squashingState.mostRecentMapping
->owningLayer() == layer) |
289 squashingState.haveAssignedBackingsToEntireSquashingLayerSubtree = true; | 288 squashingState.haveAssignedBackingsToEntireSquashingLayerSubtree = true; |
290 } | 289 } |
291 | 290 |
292 } | 291 } |
OLD | NEW |