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

Side by Side Diff: Source/core/rendering/RenderFlowThread.cpp

Issue 360833002: Divorce PaintInvalidationState from LayoutState (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: ToT-ed Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. 2 * Copyright (C) 2011 Adobe Systems Incorporated. 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above 8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following 9 * copyright notice, this list of conditions and the following
10 * disclaimer. 10 * disclaimer.
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 return false; 158 return false;
159 159
160 return true; 160 return true;
161 } 161 }
162 162
163 void RenderFlowThread::repaintRectangleInRegions(const LayoutRect& repaintRect) const 163 void RenderFlowThread::repaintRectangleInRegions(const LayoutRect& repaintRect) const
164 { 164 {
165 if (!shouldRepaint(repaintRect) || !hasValidRegionInfo()) 165 if (!shouldRepaint(repaintRect) || !hasValidRegionInfo())
166 return; 166 return;
167 167
168 ForceHorriblySlowRectMapping slowRectMapping(*this); // We can't use layout state to repaint, since the regions are somewhere else.
Julien - ping for review 2014/07/02 00:27:28 Is this really solved?
leviw_travelin_and_unemployed 2014/07/02 00:41:02 You'll notice from the function prototype that we
169
170 // We can't use currentFlowThread as it is possible to have interleaved flow threads and the wrong one could be used. 168 // We can't use currentFlowThread as it is possible to have interleaved flow threads and the wrong one could be used.
171 // Let each region figure out the proper enclosing flow thread. 169 // Let each region figure out the proper enclosing flow thread.
172 CurrentRenderFlowThreadDisabler disabler(view()); 170 CurrentRenderFlowThreadDisabler disabler(view());
173 171
174 for (RenderRegionList::const_iterator iter = m_regionList.begin(); iter != m _regionList.end(); ++iter) { 172 for (RenderRegionList::const_iterator iter = m_regionList.begin(); iter != m _regionList.end(); ++iter) {
175 RenderRegion* region = *iter; 173 RenderRegion* region = *iter;
176 174
177 region->repaintFlowThreadContent(repaintRect); 175 region->repaintFlowThreadContent(repaintRect);
178 } 176 }
179 } 177 }
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 { 527 {
530 if (!m_renderFlowThread) 528 if (!m_renderFlowThread)
531 return; 529 return;
532 RenderView* view = m_renderFlowThread->view(); 530 RenderView* view = m_renderFlowThread->view();
533 ASSERT(view->flowThreadController()->currentRenderFlowThread() == m_renderFl owThread); 531 ASSERT(view->flowThreadController()->currentRenderFlowThread() == m_renderFl owThread);
534 view->flowThreadController()->setCurrentRenderFlowThread(m_previousRenderFlo wThread); 532 view->flowThreadController()->setCurrentRenderFlowThread(m_previousRenderFlo wThread);
535 } 533 }
536 534
537 535
538 } // namespace WebCore 536 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698