Chromium Code Reviews| 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 1872 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1883 } | 1883 } |
| 1884 | 1884 |
| 1885 bool CompositedLayerMapping::updateRequiresOwnBackingStoreForAncestorReasons(con st RenderLayer* compositingAncestorLayer) | 1885 bool CompositedLayerMapping::updateRequiresOwnBackingStoreForAncestorReasons(con st RenderLayer* compositingAncestorLayer) |
| 1886 { | 1886 { |
| 1887 unsigned previousRequiresOwnBackingStoreForAncestorReasons = m_requiresOwnBa ckingStoreForAncestorReasons; | 1887 unsigned previousRequiresOwnBackingStoreForAncestorReasons = m_requiresOwnBa ckingStoreForAncestorReasons; |
| 1888 bool previousPaintsIntoCompositedAncestor = paintsIntoCompositedAncestor(); | 1888 bool previousPaintsIntoCompositedAncestor = paintsIntoCompositedAncestor(); |
| 1889 bool canPaintIntoAncestor = compositingAncestorLayer | 1889 bool canPaintIntoAncestor = compositingAncestorLayer |
| 1890 && (compositingAncestorLayer->compositedLayerMapping()->mainGraphicsLaye r()->drawsContent() | 1890 && (compositingAncestorLayer->compositedLayerMapping()->mainGraphicsLaye r()->drawsContent() |
| 1891 || compositingAncestorLayer->compositedLayerMapping()->paintsIntoCom positedAncestor()); | 1891 || compositingAncestorLayer->compositedLayerMapping()->paintsIntoCom positedAncestor()); |
| 1892 | 1892 |
| 1893 if (paintsIntoCompositedAncestor() != previousPaintsIntoCompositedAncestor) | 1893 m_requiresOwnBackingStoreForAncestorReasons = !canPaintIntoAncestor; |
|
pdr.
2014/08/28 20:21:13
This code is really only tracking changes to m_req
chrishtr
2014/08/28 20:27:56
That would invalidate more than necessary. Only if
| |
| 1894 | |
| 1895 if (paintsIntoCompositedAncestor() != previousPaintsIntoCompositedAncestor) { | |
| 1896 // Back out the change temporarily while invalidating with respect to th e old container. | |
| 1897 m_requiresOwnBackingStoreForAncestorReasons = !m_requiresOwnBackingStore ForAncestorReasons; | |
| 1894 compositor()->paintInvalidationOnCompositingChange(&m_owningLayer); | 1898 compositor()->paintInvalidationOnCompositingChange(&m_owningLayer); |
| 1895 | 1899 m_requiresOwnBackingStoreForAncestorReasons = !m_requiresOwnBackingStore ForAncestorReasons; |
| 1896 // FIXME: this is bogus. We need to make this assignment before the check ab ove. | 1900 } |
| 1897 m_requiresOwnBackingStoreForAncestorReasons = !canPaintIntoAncestor; | |
| 1898 | 1901 |
| 1899 return m_requiresOwnBackingStoreForAncestorReasons != previousRequiresOwnBac kingStoreForAncestorReasons; | 1902 return m_requiresOwnBackingStoreForAncestorReasons != previousRequiresOwnBac kingStoreForAncestorReasons; |
| 1900 } | 1903 } |
| 1901 | 1904 |
| 1902 bool CompositedLayerMapping::updateRequiresOwnBackingStoreForIntrinsicReasons() | 1905 bool CompositedLayerMapping::updateRequiresOwnBackingStoreForIntrinsicReasons() |
| 1903 { | 1906 { |
| 1904 unsigned previousRequiresOwnBackingStoreForIntrinsicReasons = m_requiresOwnB ackingStoreForIntrinsicReasons; | 1907 unsigned previousRequiresOwnBackingStoreForIntrinsicReasons = m_requiresOwnB ackingStoreForIntrinsicReasons; |
| 1905 bool previousPaintsIntoCompositedAncestor = paintsIntoCompositedAncestor(); | 1908 bool previousPaintsIntoCompositedAncestor = paintsIntoCompositedAncestor(); |
| 1906 RenderObject* renderer = m_owningLayer.renderer(); | 1909 RenderObject* renderer = m_owningLayer.renderer(); |
| 1907 m_requiresOwnBackingStoreForIntrinsicReasons = m_owningLayer.isRootLayer() | 1910 m_requiresOwnBackingStoreForIntrinsicReasons = m_owningLayer.isRootLayer() |
| 1908 || (m_owningLayer.compositingReasons() & CompositingReasonComboReasonsTh atRequireOwnBacking) | 1911 || (m_owningLayer.compositingReasons() & CompositingReasonComboReasonsTh atRequireOwnBacking) |
| 1909 || m_owningLayer.transform() | 1912 || m_owningLayer.transform() |
| 1910 || m_owningLayer.clipsCompositingDescendantsWithBorderRadius() // FIXME: Revisit this if the paintsIntoCompositedAncestor state is removed. | 1913 || m_owningLayer.clipsCompositingDescendantsWithBorderRadius() // FIXME: Revisit this if the paintsIntoCompositedAncestor state is removed. |
| 1911 || renderer->isTransparent() | 1914 || renderer->isTransparent() |
| 1912 || renderer->hasMask() | 1915 || renderer->hasMask() |
| 1913 || renderer->hasReflection() | 1916 || renderer->hasReflection() |
| 1914 || renderer->hasFilter(); | 1917 || renderer->hasFilter(); |
| 1915 | 1918 |
| 1916 if (paintsIntoCompositedAncestor() != previousPaintsIntoCompositedAncestor) | 1919 if (paintsIntoCompositedAncestor() != previousPaintsIntoCompositedAncestor) { |
| 1920 // Back out the change temporarily while invalidating with respect to th e old container. | |
| 1921 m_requiresOwnBackingStoreForIntrinsicReasons = !m_requiresOwnBackingStor eForIntrinsicReasons; | |
| 1917 compositor()->paintInvalidationOnCompositingChange(&m_owningLayer); | 1922 compositor()->paintInvalidationOnCompositingChange(&m_owningLayer); |
| 1923 m_requiresOwnBackingStoreForIntrinsicReasons = !m_requiresOwnBackingStor eForIntrinsicReasons; | |
| 1924 } | |
| 1918 | 1925 |
| 1919 return m_requiresOwnBackingStoreForIntrinsicReasons != previousRequiresOwnBa ckingStoreForIntrinsicReasons; | 1926 return m_requiresOwnBackingStoreForIntrinsicReasons != previousRequiresOwnBa ckingStoreForIntrinsicReasons; |
| 1920 } | 1927 } |
| 1921 | 1928 |
| 1922 void CompositedLayerMapping::setBlendMode(WebBlendMode blendMode) | 1929 void CompositedLayerMapping::setBlendMode(WebBlendMode blendMode) |
| 1923 { | 1930 { |
| 1924 if (m_ancestorClippingLayer) { | 1931 if (m_ancestorClippingLayer) { |
| 1925 m_ancestorClippingLayer->setBlendMode(blendMode); | 1932 m_ancestorClippingLayer->setBlendMode(blendMode); |
| 1926 m_graphicsLayer->setBlendMode(WebBlendModeNormal); | 1933 m_graphicsLayer->setBlendMode(WebBlendModeNormal); |
| 1927 } else { | 1934 } else { |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2283 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { | 2290 } else if (graphicsLayer == m_scrollingBlockSelectionLayer.get()) { |
| 2284 name = "Scrolling Block Selection Layer"; | 2291 name = "Scrolling Block Selection Layer"; |
| 2285 } else { | 2292 } else { |
| 2286 ASSERT_NOT_REACHED(); | 2293 ASSERT_NOT_REACHED(); |
| 2287 } | 2294 } |
| 2288 | 2295 |
| 2289 return name; | 2296 return name; |
| 2290 } | 2297 } |
| 2291 | 2298 |
| 2292 } // namespace blink | 2299 } // namespace blink |
| OLD | NEW |