Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Side by Side Diff: third_party/WebKit/Source/core/frame/FrameView.cpp

Issue 1331533002: [poc] curve-filter Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix CanvasRenderingContext2D::createPattern crash for #40 Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698