| 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 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 // FIXME: This should move into | 187 // FIXME: This should move into |
| 188 // CompositingReasonFinder::potentialCompositingReasonsFromStyle, but theres | 188 // CompositingReasonFinder::potentialCompositingReasonsFromStyle, but theres |
| 189 // a poor interaction with LayoutTextControlSingleLine, which sets this | 189 // a poor interaction with LayoutTextControlSingleLine, which sets this |
| 190 // hasOverflowClip directly. | 190 // hasOverflowClip directly. |
| 191 if (layer->GetLayoutObject().HasClipRelatedProperty()) | 191 if (layer->GetLayoutObject().HasClipRelatedProperty()) |
| 192 subtree_reasons |= kCompositingReasonClipsCompositingDescendants; | 192 subtree_reasons |= kCompositingReasonClipsCompositingDescendants; |
| 193 | 193 |
| 194 // We ignore LCD text here because we are required to composite | 194 // We ignore LCD text here because we are required to composite |
| 195 // scroll-dependant fixed position elements with composited descendants for | 195 // scroll-dependant fixed position elements with composited descendants for |
| 196 // correctness - even if we lose LCD. | 196 // correctness - even if we lose LCD. |
| 197 // |
| 198 // TODO(smcgruer): Only composite fixed if needed (http://crbug.com/742213) |
| 197 const bool ignore_lcd_text = true; | 199 const bool ignore_lcd_text = true; |
| 198 if (compositing_reason_finder.RequiresCompositingForScrollDependentPosition( | 200 if (layer->GetLayoutObject().Style()->GetPosition() == EPosition::kFixed || |
| 201 compositing_reason_finder.RequiresCompositingForScrollDependentPosition( |
| 199 layer, ignore_lcd_text)) { | 202 layer, ignore_lcd_text)) { |
| 200 subtree_reasons |= | 203 subtree_reasons |= |
| 201 kCompositingReasonPositionFixedOrStickyWithCompositedDescendants; | 204 kCompositingReasonPositionFixedOrStickyWithCompositedDescendants; |
| 202 } | 205 } |
| 203 } | 206 } |
| 204 | 207 |
| 205 // A layer with preserve-3d or perspective only needs to be composited if | 208 // A layer with preserve-3d or perspective only needs to be composited if |
| 206 // there are descendant layers that will be affected by the preserve-3d or | 209 // there are descendant layers that will be affected by the preserve-3d or |
| 207 // perspective. | 210 // perspective. |
| 208 if (has3d_transformed_descendants) { | 211 if (has3d_transformed_descendants) { |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 descendant_has3d_transform |= | 569 descendant_has3d_transform |= |
| 567 any_descendant_has3d_transform || layer->Has3DTransform(); | 570 any_descendant_has3d_transform || layer->Has3DTransform(); |
| 568 } | 571 } |
| 569 | 572 |
| 570 // At this point we have finished collecting all reasons to composite this | 573 // At this point we have finished collecting all reasons to composite this |
| 571 // layer. | 574 // layer. |
| 572 layer->SetCompositingReasons(reasons_to_composite); | 575 layer->SetCompositingReasons(reasons_to_composite); |
| 573 } | 576 } |
| 574 | 577 |
| 575 } // namespace blink | 578 } // namespace blink |
| OLD | NEW |