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 2575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2586 { | 2586 { |
2587 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.StyleAndLayout.UpdateTime"); | 2587 SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.StyleAndLayout.UpdateTime"); |
2588 updateStyleAndLayoutIfNeededRecursiveInternal(); | 2588 updateStyleAndLayoutIfNeededRecursiveInternal(); |
2589 } | 2589 } |
2590 | 2590 |
2591 void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal() | 2591 void FrameView::updateStyleAndLayoutIfNeededRecursiveInternal() |
2592 { | 2592 { |
2593 if (shouldThrottleRendering()) | 2593 if (shouldThrottleRendering()) |
2594 return; | 2594 return; |
2595 | 2595 |
| 2596 ScopedFrameBlamer frameBlamer(m_frame.get()); |
| 2597 TRACE_EVENT0("blink", "FrameView::updateStyleAndLayoutIfNeededRecursive"); |
| 2598 |
2596 // We have to crawl our entire subtree looking for any FrameViews that need | 2599 // We have to crawl our entire subtree looking for any FrameViews that need |
2597 // layout and make sure they are up to date. | 2600 // layout and make sure they are up to date. |
2598 // Mac actually tests for intersection with the dirty region and tries not t
o | 2601 // Mac actually tests for intersection with the dirty region and tries not t
o |
2599 // update layout for frames that are outside the dirty region. Not only doe
s this seem | 2602 // update layout for frames that are outside the dirty region. Not only doe
s this seem |
2600 // pointless (since those frames will have set a zero timer to layout anyway
), but | 2603 // pointless (since those frames will have set a zero timer to layout anyway
), but |
2601 // it is also incorrect, since if two frames overlap, the first could be exc
luded from the dirty | 2604 // it is also incorrect, since if two frames overlap, the first could be exc
luded from the dirty |
2602 // region but then become included later by the second frame adding rects to
the dirty region | 2605 // region but then become included later by the second frame adding rects to
the dirty region |
2603 // when it lays out. | 2606 // when it lays out. |
2604 | 2607 |
2605 m_frame->document()->updateStyleAndLayoutTree(); | 2608 m_frame->document()->updateStyleAndLayoutTree(); |
(...skipping 1529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4135 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot
tling); | 4138 return m_subtreeThrottled || (m_hiddenForThrottling && m_crossOriginForThrot
tling); |
4136 } | 4139 } |
4137 | 4140 |
4138 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const | 4141 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const |
4139 { | 4142 { |
4140 ASSERT(!layoutViewItem().isNull()); | 4143 ASSERT(!layoutViewItem().isNull()); |
4141 return *layoutView(); | 4144 return *layoutView(); |
4142 } | 4145 } |
4143 | 4146 |
4144 } // namespace blink | 4147 } // namespace blink |
OLD | NEW |