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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 #include "platform/ScriptForbiddenScope.h" | 87 #include "platform/ScriptForbiddenScope.h" |
88 #include "platform/TraceEvent.h" | 88 #include "platform/TraceEvent.h" |
89 #include "platform/TracedValue.h" | 89 #include "platform/TracedValue.h" |
90 #include "platform/fonts/FontCache.h" | 90 #include "platform/fonts/FontCache.h" |
91 #include "platform/geometry/DoubleRect.h" | 91 #include "platform/geometry/DoubleRect.h" |
92 #include "platform/geometry/FloatRect.h" | 92 #include "platform/geometry/FloatRect.h" |
93 #include "platform/geometry/LayoutRect.h" | 93 #include "platform/geometry/LayoutRect.h" |
94 #include "platform/graphics/GraphicsContext.h" | 94 #include "platform/graphics/GraphicsContext.h" |
95 #include "platform/graphics/GraphicsLayer.h" | 95 #include "platform/graphics/GraphicsLayer.h" |
96 #include "platform/graphics/GraphicsLayerDebugInfo.h" | 96 #include "platform/graphics/GraphicsLayerDebugInfo.h" |
| 97 #include "platform/graphics/GraphicsScreen.h" |
97 #include "platform/graphics/paint/CullRect.h" | 98 #include "platform/graphics/paint/CullRect.h" |
98 #include "platform/graphics/paint/PaintController.h" | 99 #include "platform/graphics/paint/PaintController.h" |
99 #include "platform/scheduler/CancellableTaskFactory.h" | 100 #include "platform/scheduler/CancellableTaskFactory.h" |
100 #include "platform/scroll/ScrollAnimatorBase.h" | 101 #include "platform/scroll/ScrollAnimatorBase.h" |
101 #include "platform/scroll/ScrollbarTheme.h" | 102 #include "platform/scroll/ScrollbarTheme.h" |
102 #include "platform/text/TextStream.h" | 103 #include "platform/text/TextStream.h" |
103 #include "public/platform/WebDisplayItemList.h" | 104 #include "public/platform/WebDisplayItemList.h" |
104 #include "public/platform/WebFrameScheduler.h" | 105 #include "public/platform/WebFrameScheduler.h" |
105 #include "wtf/CurrentTime.h" | 106 #include "wtf/CurrentTime.h" |
106 #include "wtf/StdLibExtras.h" | 107 #include "wtf/StdLibExtras.h" |
(...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 if (m_autoSizeInfo) | 906 if (m_autoSizeInfo) |
906 m_autoSizeInfo->autoSizeIfNeeded(); | 907 m_autoSizeInfo->autoSizeIfNeeded(); |
907 | 908 |
908 m_hasPendingLayout = false; | 909 m_hasPendingLayout = false; |
909 DocumentLifecycle::Scope lifecycleScope(lifecycle(), DocumentLifecycle::Layo
utClean); | 910 DocumentLifecycle::Scope lifecycleScope(lifecycle(), DocumentLifecycle::Layo
utClean); |
910 | 911 |
911 RELEASE_ASSERT(!isPainting()); | 912 RELEASE_ASSERT(!isPainting()); |
912 | 913 |
913 TRACE_EVENT_BEGIN1("devtools.timeline", "Layout", "beginData", InspectorLayo
utEvent::beginData(this)); | 914 TRACE_EVENT_BEGIN1("devtools.timeline", "Layout", "beginData", InspectorLayo
utEvent::beginData(this)); |
914 | 915 |
| 916 // Shape layout code "paints" images during layout using imageBuffer, which
needs to know the |
| 917 // target paint device to draw the image for or upon: provide it. |
| 918 WillPaintForDevice device(Page::screenId(page())); |
| 919 |
915 performPreLayoutTasks(); | 920 performPreLayoutTasks(); |
916 | 921 |
917 #if !ENABLE(OILPAN) | 922 #if !ENABLE(OILPAN) |
918 // If there is only one ref to this view left, then its going to be destroye
d as soon as we exit, | 923 // If there is only one ref to this view left, then its going to be destroye
d as soon as we exit, |
919 // so there's no point to continuing to layout | 924 // so there's no point to continuing to layout |
920 if (protector->hasOneRef()) | 925 if (protector->hasOneRef()) |
921 return; | 926 return; |
922 #endif | 927 #endif |
923 | 928 |
924 Document* document = m_frame->document(); | 929 Document* document = m_frame->document(); |
(...skipping 1461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2386 ASSERT(m_frame->isLocalRoot()); | 2391 ASSERT(m_frame->isLocalRoot()); |
2387 | 2392 |
2388 // Updating layout can run script, which can tear down the FrameView. | 2393 // Updating layout can run script, which can tear down the FrameView. |
2389 RefPtrWillBeRawPtr<FrameView> protector(this); | 2394 RefPtrWillBeRawPtr<FrameView> protector(this); |
2390 | 2395 |
2391 if (shouldThrottleRendering()) { | 2396 if (shouldThrottleRendering()) { |
2392 updateViewportIntersectionsForSubtree(std::min(phases, OnlyUpToCompositi
ngCleanPlusScrolling)); | 2397 updateViewportIntersectionsForSubtree(std::min(phases, OnlyUpToCompositi
ngCleanPlusScrolling)); |
2393 return; | 2398 return; |
2394 } | 2399 } |
2395 | 2400 |
| 2401 WillPaintForDevice device(Page::screenId(page())); |
| 2402 |
2396 updateStyleAndLayoutIfNeededRecursive(); | 2403 updateStyleAndLayoutIfNeededRecursive(); |
2397 ASSERT(lifecycle().state() >= DocumentLifecycle::LayoutClean); | 2404 ASSERT(lifecycle().state() >= DocumentLifecycle::LayoutClean); |
2398 | 2405 |
2399 if (phases == OnlyUpToLayoutClean) { | 2406 if (phases == OnlyUpToLayoutClean) { |
2400 updateViewportIntersectionsForSubtree(phases); | 2407 updateViewportIntersectionsForSubtree(phases); |
2401 return; | 2408 return; |
2402 } | 2409 } |
2403 | 2410 |
2404 if (LayoutView* view = layoutView()) { | 2411 if (LayoutView* view = layoutView()) { |
2405 { | 2412 { |
(...skipping 1633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4039 return m_hiddenForThrottling && m_crossOriginForThrottling; | 4046 return m_hiddenForThrottling && m_crossOriginForThrottling; |
4040 } | 4047 } |
4041 | 4048 |
4042 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const | 4049 LayoutBox& FrameView::boxForScrollControlPaintInvalidation() const |
4043 { | 4050 { |
4044 ASSERT(layoutView()); | 4051 ASSERT(layoutView()); |
4045 return *layoutView(); | 4052 return *layoutView(); |
4046 } | 4053 } |
4047 | 4054 |
4048 } // namespace blink | 4055 } // namespace blink |
OLD | NEW |