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 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
362 RenderView* renderView = view(); | 362 RenderView* renderView = view(); |
363 if (renderView->layoutState()->pageLogicalHeight()) | 363 if (renderView->layoutState()->pageLogicalHeight()) |
364 setPageLogicalOffset(renderView->layoutState()->pageLogicalOffset(*this,
logicalTop())); | 364 setPageLogicalOffset(renderView->layoutState()->pageLogicalOffset(*this,
logicalTop())); |
365 | 365 |
366 updateLayerTransformAfterLayout(); | 366 updateLayerTransformAfterLayout(); |
367 | 367 |
368 // Update our scroll information if we're overflow:auto/scroll/hidden now th
at we know if | 368 // Update our scroll information if we're overflow:auto/scroll/hidden now th
at we know if |
369 // we overflow or not. | 369 // we overflow or not. |
370 updateScrollInfoAfterLayout(); | 370 updateScrollInfoAfterLayout(); |
371 | 371 |
372 if (m_repaintLogicalTop != m_repaintLogicalBottom && (style()->visibility()
== VISIBLE || enclosingLayer()->hasVisibleContent())) | 372 if (m_repaintLogicalTop != m_repaintLogicalBottom) { |
373 setShouldInvalidateOverflowForPaint(true); | 373 bool hasVisibleContent = style()->visibility() == VISIBLE; |
| 374 if (!hasVisibleContent) { |
| 375 RenderLayer* layer = enclosingLayer(); |
| 376 layer->updateDescendantDependentFlags(); |
| 377 hasVisibleContent = layer->hasVisibleContent(); |
| 378 } |
| 379 if (hasVisibleContent) |
| 380 setShouldInvalidateOverflowForPaint(true); |
| 381 } |
374 | 382 |
375 clearNeedsLayout(); | 383 clearNeedsLayout(); |
376 } | 384 } |
377 | 385 |
378 inline bool RenderBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit &
pageLogicalHeight, SubtreeLayoutScope& layoutScope) | 386 inline bool RenderBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit &
pageLogicalHeight, SubtreeLayoutScope& layoutScope) |
379 { | 387 { |
380 LayoutUnit oldLeft = logicalLeft(); | 388 LayoutUnit oldLeft = logicalLeft(); |
381 bool logicalWidthChanged = updateLogicalWidthAndColumnWidth(); | 389 bool logicalWidthChanged = updateLogicalWidthAndColumnWidth(); |
382 relayoutChildren |= logicalWidthChanged; | 390 relayoutChildren |= logicalWidthChanged; |
383 | 391 |
(...skipping 2533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2917 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2925 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2918 { | 2926 { |
2919 if (m_rareData) | 2927 if (m_rareData) |
2920 return *m_rareData; | 2928 return *m_rareData; |
2921 | 2929 |
2922 m_rareData = adoptPtrWillBeNoop(new RenderBlockFlowRareData(this)); | 2930 m_rareData = adoptPtrWillBeNoop(new RenderBlockFlowRareData(this)); |
2923 return *m_rareData; | 2931 return *m_rareData; |
2924 } | 2932 } |
2925 | 2933 |
2926 } // namespace blink | 2934 } // namespace blink |
OLD | NEW |