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

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

Issue 208103002: [repaint-after-layout] Only repaint SVG root element when needed. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved. 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r ight reserved.
4 * Copyright (C) 2010 Google Inc. All rights reserved. 4 * Copyright (C) 2010 Google Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 1936 matching lines...) Expand 10 before | Expand all | Expand 10 after
1947 if (firstChild()) { 1947 if (firstChild()) {
1948 // In full layout mode, clear the line boxes of children upfront. Otherw ise, 1948 // In full layout mode, clear the line boxes of children upfront. Otherw ise,
1949 // siblings can run into stale root lineboxes during layout. Then layout 1949 // siblings can run into stale root lineboxes during layout. Then layout
1950 // the replaced elements later. In partial layout mode, line boxes are n ot 1950 // the replaced elements later. In partial layout mode, line boxes are n ot
1951 // deleted and only dirtied. In that case, we can layout the replaced 1951 // deleted and only dirtied. In that case, we can layout the replaced
1952 // elements at the same time. 1952 // elements at the same time.
1953 Vector<RenderBox*> replacedChildren; 1953 Vector<RenderBox*> replacedChildren;
1954 for (InlineWalker walker(this); !walker.atEnd(); walker.advance()) { 1954 for (InlineWalker walker(this); !walker.atEnd(); walker.advance()) {
1955 RenderObject* o = walker.current(); 1955 RenderObject* o = walker.current();
1956 1956
1957 LayoutRectRecorder recorder(*o, !o->isText()); 1957 LayoutRectRecorder recorder(*o, o->isText());
1958 1958
1959 if (!layoutState.hasInlineChild() && o->isInline()) 1959 if (!layoutState.hasInlineChild() && o->isInline())
1960 layoutState.setHasInlineChild(true); 1960 layoutState.setHasInlineChild(true);
1961 1961
1962 if (o->isReplaced() || o->isFloating() || o->isOutOfFlowPositioned() ) { 1962 if (o->isReplaced() || o->isFloating() || o->isOutOfFlowPositioned() ) {
1963 RenderBox* box = toRenderBox(o); 1963 RenderBox* box = toRenderBox(o);
1964 1964
1965 updateBlockChildDirtyBitsBeforeLayout(relayoutChildren, box); 1965 updateBlockChildDirtyBitsBeforeLayout(relayoutChildren, box);
1966 1966
1967 if (o->isOutOfFlowPositioned()) 1967 if (o->isOutOfFlowPositioned())
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
2450 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false).toFloat (); 2450 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false).toFloat ();
2451 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal se) - logicalLeft; 2451 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal se) - logicalLeft;
2452 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid th, availableLogicalWidth, 0); 2452 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid th, availableLogicalWidth, 0);
2453 2453
2454 if (!style()->isLeftToRightDirection()) 2454 if (!style()->isLeftToRightDirection())
2455 return logicalWidth() - logicalLeft; 2455 return logicalWidth() - logicalLeft;
2456 return logicalLeft; 2456 return logicalLeft;
2457 } 2457 }
2458 2458
2459 } 2459 }
OLDNEW
« no previous file with comments | « Source/core/rendering/LayoutRectRecorder.cpp ('k') | Source/core/rendering/svg/RenderSVGRoot.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698