OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google 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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 1884 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1895 | 1895 |
1896 } | 1896 } |
1897 | 1897 |
1898 void RenderBlockFlow::invalidatePaintForOverhangingFloats(bool paintAllDescendan
ts) | 1898 void RenderBlockFlow::invalidatePaintForOverhangingFloats(bool paintAllDescendan
ts) |
1899 { | 1899 { |
1900 // Repaint any overhanging floats (if we know we're the one to paint them). | 1900 // Repaint any overhanging floats (if we know we're the one to paint them). |
1901 // Otherwise, bail out. | 1901 // Otherwise, bail out. |
1902 if (!hasOverhangingFloats()) | 1902 if (!hasOverhangingFloats()) |
1903 return; | 1903 return; |
1904 | 1904 |
| 1905 // FIXME: Avoid disabling LayoutState. At the very least, don't disable it f
or floats originating |
| 1906 // in this block. Better yet would be to push extra state for the containers
of other floats. |
| 1907 ForceHorriblySlowRectMapping slowRectMapping(*this); |
1905 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); | 1908 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
1906 FloatingObjectSetIterator end = floatingObjectSet.end(); | 1909 FloatingObjectSetIterator end = floatingObjectSet.end(); |
1907 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++
it) { | 1910 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++
it) { |
1908 FloatingObject* floatingObject = it->get(); | 1911 FloatingObject* floatingObject = it->get(); |
1909 // Only repaint the object if it is overhanging, is not in its own layer
, and | 1912 // Only repaint the object if it is overhanging, is not in its own layer
, and |
1910 // is our responsibility to paint (m_shouldPaint is set). When paintAllD
escendants is true, the latter | 1913 // is our responsibility to paint (m_shouldPaint is set). When paintAllD
escendants is true, the latter |
1911 // condition is replaced with being a descendant of us. | 1914 // condition is replaced with being a descendant of us. |
1912 if (logicalBottomForFloat(floatingObject) > logicalHeight() | 1915 if (logicalBottomForFloat(floatingObject) > logicalHeight() |
1913 && !floatingObject->renderer()->hasSelfPaintingLayer() | 1916 && !floatingObject->renderer()->hasSelfPaintingLayer() |
1914 && (floatingObject->shouldPaint() || (paintAllDescendants && floatin
gObject->renderer()->isDescendantOf(this)))) { | 1917 && (floatingObject->shouldPaint() || (paintAllDescendants && floatin
gObject->renderer()->isDescendantOf(this)))) { |
(...skipping 881 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2796 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2799 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2797 { | 2800 { |
2798 if (m_rareData) | 2801 if (m_rareData) |
2799 return *m_rareData; | 2802 return *m_rareData; |
2800 | 2803 |
2801 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2804 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
2802 return *m_rareData; | 2805 return *m_rareData; |
2803 } | 2806 } |
2804 | 2807 |
2805 } // namespace WebCore | 2808 } // namespace WebCore |
OLD | NEW |