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

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

Issue 739743002: RenderGrid needs to pop its LayoutState before relayout. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 1 month 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) 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 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 { 302 {
303 if (const RenderBox* currentBoxDescendant = currentStatePusherRenderBox()) { 303 if (const RenderBox* currentBoxDescendant = currentStatePusherRenderBox()) {
304 LayoutState* layoutState = currentBoxDescendant->view()->layoutState(); 304 LayoutState* layoutState = currentBoxDescendant->view()->layoutState();
305 if (layoutState && layoutState->isPaginated()) { 305 if (layoutState && layoutState->isPaginated()) {
306 ASSERT(layoutState->renderer() == currentBoxDescendant); 306 ASSERT(layoutState->renderer() == currentBoxDescendant);
307 LayoutSize offsetDelta = layoutState->layoutOffset() - layoutState-> pageOffset(); 307 LayoutSize offsetDelta = layoutState->layoutOffset() - layoutState-> pageOffset();
308 setOffsetFromLogicalTopOfFirstRegion(currentBoxDescendant, currentBo xDescendant->isHorizontalWritingMode() ? offsetDelta.height() : offsetDelta.widt h()); 308 setOffsetFromLogicalTopOfFirstRegion(currentBoxDescendant, currentBo xDescendant->isHorizontalWritingMode() ? offsetDelta.height() : offsetDelta.widt h());
309 } 309 }
310 } 310 }
311 311
312 ASSERT(!m_statePusherObjectsStack.contains(&object));
312 m_statePusherObjectsStack.add(&object); 313 m_statePusherObjectsStack.add(&object);
313 } 314 }
314 315
315 void RenderFlowThread::popFlowThreadLayoutState() 316 void RenderFlowThread::popFlowThreadLayoutState()
316 { 317 {
317 m_statePusherObjectsStack.removeLast(); 318 m_statePusherObjectsStack.removeLast();
318 319
319 if (const RenderBox* currentBoxDescendant = currentStatePusherRenderBox()) { 320 if (const RenderBox* currentBoxDescendant = currentStatePusherRenderBox()) {
320 LayoutState* layoutState = currentBoxDescendant->view()->layoutState(); 321 LayoutState* layoutState = currentBoxDescendant->view()->layoutState();
321 if (layoutState && layoutState->isPaginated()) 322 if (layoutState && layoutState->isPaginated())
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 { 392 {
392 if (!m_renderFlowThread) 393 if (!m_renderFlowThread)
393 return; 394 return;
394 RenderView* view = m_renderFlowThread->view(); 395 RenderView* view = m_renderFlowThread->view();
395 ASSERT(view->flowThreadController()->currentRenderFlowThread() == m_renderFl owThread); 396 ASSERT(view->flowThreadController()->currentRenderFlowThread() == m_renderFl owThread);
396 view->flowThreadController()->setCurrentRenderFlowThread(m_previousRenderFlo wThread); 397 view->flowThreadController()->setCurrentRenderFlowThread(m_previousRenderFlo wThread);
397 } 398 }
398 399
399 400
400 } // namespace blink 401 } // namespace blink
OLDNEW
« no previous file with comments | « LayoutTests/fast/multicol/grid-with-auto-scrollbar-crash-expected.txt ('k') | Source/core/rendering/RenderGrid.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698