OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
10 * | 10 * |
(...skipping 2579 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2590 { | 2590 { |
2591 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.StyleAndLayout.UpdateTime"); | 2591 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.StyleAndLayout.UpdateTime"); |
2592 updateStyleAndLayoutIfNeededRecursiveInternal(); | 2592 updateStyleAndLayoutIfNeededRecursiveInternal(); |
2593 } | 2593 } |
2594 | 2594 |
2595 void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal() | 2595 void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal() |
2596 { | 2596 { |
2597 if (shouldThrottleRendering()) | 2597 if (shouldThrottleRendering()) |
2598 return; | 2598 return; |
2599 | 2599 |
| 2600 ScopedFrameBlamer frameBlamer(m_frame); |
| 2601 TRACE_EVENT0("blink", "FrameView::updateStyleAndLayoutIfNeededRecursive"); |
| 2602 |
2600 // We have to crawl our entire subtree looking for any FrameViews that need | 2603 // We have to crawl our entire subtree looking for any FrameViews that need |
2601 // layout and make sure they are up to date. | 2604 // layout and make sure they are up to date. |
2602 // Mac actually tests for intersection with the dirty region and tries not t
o | 2605 // Mac actually tests for intersection with the dirty region and tries not t
o |
2603 // update layout for frames that are outside the dirty region. Not only doe
s this seem | 2606 // update layout for frames that are outside the dirty region. Not only doe
s this seem |
2604 // pointless (since those frames will have set a zero timer to layout anyway
), but | 2607 // pointless (since those frames will have set a zero timer to layout anyway
), but |
2605 // it is also incorrect, since if two frames overlap, the first could be exc
luded from the dirty | 2608 // it is also incorrect, since if two frames overlap, the first could be exc
luded from the dirty |
2606 // region but then become included later by the second frame adding rects to
the dirty region | 2609 // region but then become included later by the second frame adding rects to
the dirty region |
2607 // when it lays out. | 2610 // when it lays out. |
2608 | 2611 |
2609 m_frame->document()->updateStyleAndLayoutTree(); | 2612 m_frame->document()->updateStyleAndLayoutTree(); |
(...skipping 1529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4139 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot
tling); | 4142 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot
tling); |
4140 } | 4143 } |
4141 | 4144 |
4142 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const | 4145 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const |
4143 { | 4146 { |
4144 ASSERT(!layoutViewItem().isNull()); | 4147 ASSERT(!layoutViewItem().isNull()); |
4145 return *layoutView(); | 4148 return *layoutView(); |
4146 } | 4149 } |
4147 | 4150 |
4148 } // namespace blink | 4151 } // namespace blink |
OLD | NEW |