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); | |
1908 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); | 1905 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
1909 FloatingObjectSetIterator end = floatingObjectSet.end(); | 1906 FloatingObjectSetIterator end = floatingObjectSet.end(); |
1910 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++
it) { | 1907 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++
it) { |
1911 FloatingObject* floatingObject = it->get(); | 1908 FloatingObject* floatingObject = it->get(); |
1912 // Only repaint the object if it is overhanging, is not in its own layer
, and | 1909 // Only repaint the object if it is overhanging, is not in its own layer
, and |
1913 // is our responsibility to paint (m_shouldPaint is set). When paintAllD
escendants is true, the latter | 1910 // is our responsibility to paint (m_shouldPaint is set). When paintAllD
escendants is true, the latter |
1914 // condition is replaced with being a descendant of us. | 1911 // condition is replaced with being a descendant of us. |
1915 if (logicalBottomForFloat(floatingObject) > logicalHeight() | 1912 if (logicalBottomForFloat(floatingObject) > logicalHeight() |
1916 && !floatingObject->renderer()->hasSelfPaintingLayer() | 1913 && !floatingObject->renderer()->hasSelfPaintingLayer() |
1917 && (floatingObject->shouldPaint() || (paintAllDescendants && floatin
gObject->renderer()->isDescendantOf(this)))) { | 1914 && (floatingObject->shouldPaint() || (paintAllDescendants && floatin
gObject->renderer()->isDescendantOf(this)))) { |
(...skipping 881 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2799 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2796 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2800 { | 2797 { |
2801 if (m_rareData) | 2798 if (m_rareData) |
2802 return *m_rareData; | 2799 return *m_rareData; |
2803 | 2800 |
2804 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2801 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
2805 return *m_rareData; | 2802 return *m_rareData; |
2806 } | 2803 } |
2807 | 2804 |
2808 } // namespace WebCore | 2805 } // namespace WebCore |
OLD | NEW |