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 1883 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1894 | 1894 |
1895 } | 1895 } |
1896 | 1896 |
1897 void RenderBlockFlow::invalidatePaintForOverhangingFloats(bool paintAllDescendan
ts) | 1897 void RenderBlockFlow::invalidatePaintForOverhangingFloats(bool paintAllDescendan
ts) |
1898 { | 1898 { |
1899 // Repaint any overhanging floats (if we know we're the one to paint them). | 1899 // Repaint any overhanging floats (if we know we're the one to paint them). |
1900 // Otherwise, bail out. | 1900 // Otherwise, bail out. |
1901 if (!hasOverhangingFloats()) | 1901 if (!hasOverhangingFloats()) |
1902 return; | 1902 return; |
1903 | 1903 |
1904 // FIXME: Avoid disabling LayoutState. At the very least, don't disable it f
or floats originating | |
1905 // in this block. Better yet would be to push extra state for the containers
of other floats. | |
1906 ForceHorriblySlowRectMapping slowRectMapping(*this); | |
1907 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); | 1904 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
1908 FloatingObjectSetIterator end = floatingObjectSet.end(); | 1905 FloatingObjectSetIterator end = floatingObjectSet.end(); |
1909 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++
it) { | 1906 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++
it) { |
1910 FloatingObject* floatingObject = it->get(); | 1907 FloatingObject* floatingObject = it->get(); |
1911 // Only repaint the object if it is overhanging, is not in its own layer
, and | 1908 // Only repaint the object if it is overhanging, is not in its own layer
, and |
1912 // is our responsibility to paint (m_shouldPaint is set). When paintAllD
escendants is true, the latter | 1909 // is our responsibility to paint (m_shouldPaint is set). When paintAllD
escendants is true, the latter |
1913 // condition is replaced with being a descendant of us. | 1910 // condition is replaced with being a descendant of us. |
1914 if (logicalBottomForFloat(floatingObject) > logicalHeight() | 1911 if (logicalBottomForFloat(floatingObject) > logicalHeight() |
1915 && !floatingObject->renderer()->hasSelfPaintingLayer() | 1912 && !floatingObject->renderer()->hasSelfPaintingLayer() |
1916 && (floatingObject->shouldPaint() || (paintAllDescendants && floatin
gObject->renderer()->isDescendantOf(this)))) { | 1913 && (floatingObject->shouldPaint() || (paintAllDescendants && floatin
gObject->renderer()->isDescendantOf(this)))) { |
(...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2758 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2755 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2759 { | 2756 { |
2760 if (m_rareData) | 2757 if (m_rareData) |
2761 return *m_rareData; | 2758 return *m_rareData; |
2762 | 2759 |
2763 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2760 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
2764 return *m_rareData; | 2761 return *m_rareData; |
2765 } | 2762 } |
2766 | 2763 |
2767 } // namespace WebCore | 2764 } // namespace WebCore |
OLD | NEW |