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

Side by Side Diff: sky/engine/core/rendering/RenderBlock.cpp

Issue 684393002: Remove flipForWritingMode. (Closed) Base URL: git@github.com:domokit/mojo.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
« no previous file with comments | « sky/engine/core/rendering/InlineTextBox.cpp ('k') | sky/engine/core/rendering/RenderBox.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 1228 matching lines...) Expand 10 before | Expand all | Expand 10 after
1239 LayoutPoint adjustedPaintOffset = paintOffset + location(); 1239 LayoutPoint adjustedPaintOffset = paintOffset + location();
1240 1240
1241 PaintPhase phase = paintInfo.phase; 1241 PaintPhase phase = paintInfo.phase;
1242 1242
1243 LayoutRect overflowBox; 1243 LayoutRect overflowBox;
1244 // Check if we need to do anything at all. 1244 // Check if we need to do anything at all.
1245 // FIXME: Could eliminate the isDocumentElement() check if we fix background painting so that the RenderView 1245 // FIXME: Could eliminate the isDocumentElement() check if we fix background painting so that the RenderView
1246 // paints the root's background. 1246 // paints the root's background.
1247 if (!isDocumentElement()) { 1247 if (!isDocumentElement()) {
1248 overflowBox = overflowRectForPaintRejection(); 1248 overflowBox = overflowRectForPaintRejection();
1249 flipForWritingMode(overflowBox);
1250 overflowBox.moveBy(adjustedPaintOffset); 1249 overflowBox.moveBy(adjustedPaintOffset);
1251 if (!overflowBox.intersects(paintInfo.rect)) 1250 if (!overflowBox.intersects(paintInfo.rect))
1252 return; 1251 return;
1253 } 1252 }
1254 1253
1255 // There are some cases where not all clipped visual overflow is accounted f or. 1254 // There are some cases where not all clipped visual overflow is accounted f or.
1256 // FIXME: reduce the number of such cases. 1255 // FIXME: reduce the number of such cases.
1257 ContentsClipBehavior contentsClipBehavior = ForceContentsClip; 1256 ContentsClipBehavior contentsClipBehavior = ForceContentsClip;
1258 if (hasOverflowClip() && !hasControlClip() && !(shouldPaintSelectionGaps() & & phase == PaintPhaseForeground) && !hasCaret()) 1257 if (hasOverflowClip() && !hasControlClip() && !(shouldPaintSelectionGaps() & & phase == PaintPhaseForeground) && !hasCaret())
1259 contentsClipBehavior = SkipContentsClipIfPossible; 1258 contentsClipBehavior = SkipContentsClipIfPossible;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1302 } 1301 }
1303 1302
1304 void RenderBlock::paintChildren(PaintInfo& paintInfo, const LayoutPoint& paintOf fset) 1303 void RenderBlock::paintChildren(PaintInfo& paintInfo, const LayoutPoint& paintOf fset)
1305 { 1304 {
1306 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo x()) 1305 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo x())
1307 paintChild(child, paintInfo, paintOffset); 1306 paintChild(child, paintInfo, paintOffset);
1308 } 1307 }
1309 1308
1310 void RenderBlock::paintChild(RenderBox* child, PaintInfo& paintInfo, const Layou tPoint& paintOffset) 1309 void RenderBlock::paintChild(RenderBox* child, PaintInfo& paintInfo, const Layou tPoint& paintOffset)
1311 { 1310 {
1312 LayoutPoint childPoint = flipForWritingModeForChild(child, paintOffset);
1313 if (!child->hasSelfPaintingLayer() && !child->isFloating()) 1311 if (!child->hasSelfPaintingLayer() && !child->isFloating())
1314 child->paint(paintInfo, childPoint); 1312 child->paint(paintInfo, paintOffset);
1315 } 1313 }
1316 1314
1317 void RenderBlock::paintChildAsInlineBlock(RenderBox* child, PaintInfo& paintInfo , const LayoutPoint& paintOffset) 1315 void RenderBlock::paintChildAsInlineBlock(RenderBox* child, PaintInfo& paintInfo , const LayoutPoint& paintOffset)
1318 { 1316 {
1319 LayoutPoint childPoint = flipForWritingModeForChild(child, paintOffset);
1320 if (!child->hasSelfPaintingLayer() && !child->isFloating()) 1317 if (!child->hasSelfPaintingLayer() && !child->isFloating())
1321 paintAsInlineBlock(child, paintInfo, childPoint); 1318 paintAsInlineBlock(child, paintInfo, paintOffset);
1322 } 1319 }
1323 1320
1324 void RenderBlock::paintAsInlineBlock(RenderObject* renderer, PaintInfo& paintInf o, const LayoutPoint& childPoint) 1321 void RenderBlock::paintAsInlineBlock(RenderObject* renderer, PaintInfo& paintInf o, const LayoutPoint& childPoint)
1325 { 1322 {
1326 if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhase Selection) 1323 if (paintInfo.phase != PaintPhaseForeground && paintInfo.phase != PaintPhase Selection)
1327 return; 1324 return;
1328 1325
1329 // Paint all phases atomically, as though the element established its own 1326 // Paint all phases atomically, as though the element established its own
1330 // stacking context. (See Appendix E.2, section 7.2.1.4 on 1327 // stacking context. (See Appendix E.2, section 7.2.1.4 on
1331 // inline block/table/replaced elements in the CSS2.1 specification.) 1328 // inline block/table/replaced elements in the CSS2.1 specification.)
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
1586 LayoutUnit lastLeft = logicalLeftSelectionOffset(this, lastTop); 1583 LayoutUnit lastLeft = logicalLeftSelectionOffset(this, lastTop);
1587 LayoutUnit lastRight = logicalRightSelectionOffset(this, lastTop); 1584 LayoutUnit lastRight = logicalRightSelectionOffset(this, lastTop);
1588 GraphicsContextStateSaver stateSaver(*paintInfo.context); 1585 GraphicsContextStateSaver stateSaver(*paintInfo.context);
1589 1586
1590 LayoutRect gapRectsBounds = selectionGaps(this, paintOffset, LayoutSize( ), lastTop, lastLeft, lastRight, &paintInfo); 1587 LayoutRect gapRectsBounds = selectionGaps(this, paintOffset, LayoutSize( ), lastTop, lastLeft, lastRight, &paintInfo);
1591 if (!gapRectsBounds.isEmpty()) { 1588 if (!gapRectsBounds.isEmpty()) {
1592 RenderLayer* layer = enclosingLayer(); 1589 RenderLayer* layer = enclosingLayer();
1593 gapRectsBounds.moveBy(-paintOffset); 1590 gapRectsBounds.moveBy(-paintOffset);
1594 if (!hasLayer()) { 1591 if (!hasLayer()) {
1595 LayoutRect localBounds(gapRectsBounds); 1592 LayoutRect localBounds(gapRectsBounds);
1596 flipForWritingMode(localBounds);
1597 gapRectsBounds = localToContainerQuad(FloatRect(localBounds), la yer->renderer()).enclosingBoundingBox(); 1593 gapRectsBounds = localToContainerQuad(FloatRect(localBounds), la yer->renderer()).enclosingBoundingBox();
1598 if (layer->renderer()->hasOverflowClip()) 1594 if (layer->renderer()->hasOverflowClip())
1599 gapRectsBounds.move(layer->renderBox()->scrolledContentOffse t()); 1595 gapRectsBounds.move(layer->renderBox()->scrolledContentOffse t());
1600 } 1596 }
1601 layer->addBlockSelectionGapsBounds(gapRectsBounds); 1597 layer->addBlockSelectionGapsBounds(gapRectsBounds);
1602 } 1598 }
1603 } 1599 }
1604 } 1600 }
1605 1601
1606 static void clipOutPositionedObjects(const PaintInfo* paintInfo, const LayoutPoi nt& offset, TrackedRendererListHashSet* positionedObjects) 1602 static void clipOutPositionedObjects(const PaintInfo* paintInfo, const LayoutPoi nt& offset, TrackedRendererListHashSet* positionedObjects)
(...skipping 27 matching lines...) Expand all
1634 return result; 1630 return result;
1635 } 1631 }
1636 1632
1637 GapRects RenderBlock::selectionGaps(RenderBlock* rootBlock, const LayoutPoint& r ootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock, 1633 GapRects RenderBlock::selectionGaps(RenderBlock* rootBlock, const LayoutPoint& r ootBlockPhysicalPosition, const LayoutSize& offsetFromRootBlock,
1638 LayoutUnit& lastLogicalTop, LayoutUnit& last LogicalLeft, LayoutUnit& lastLogicalRight, const PaintInfo* paintInfo) 1634 LayoutUnit& lastLogicalTop, LayoutUnit& last LogicalLeft, LayoutUnit& lastLogicalRight, const PaintInfo* paintInfo)
1639 { 1635 {
1640 // IMPORTANT: Callers of this method that intend for painting to happen need to do a save/restore. 1636 // IMPORTANT: Callers of this method that intend for painting to happen need to do a save/restore.
1641 // Clip out floating and positioned objects when painting selection gaps. 1637 // Clip out floating and positioned objects when painting selection gaps.
1642 if (paintInfo) { 1638 if (paintInfo) {
1643 // Note that we don't clip out overflow for positioned objects. We just stick to the border box. 1639 // Note that we don't clip out overflow for positioned objects. We just stick to the border box.
1644 LayoutRect flippedBlockRect(offsetFromRootBlock.width(), offsetFromRootB lock.height(), width(), height()); 1640 LayoutRect blockRect(offsetFromRootBlock.width(), offsetFromRootBlock.he ight(), width(), height());
1645 rootBlock->flipForWritingMode(flippedBlockRect); 1641 blockRect.moveBy(rootBlockPhysicalPosition);
1646 flippedBlockRect.moveBy(rootBlockPhysicalPosition); 1642 clipOutPositionedObjects(paintInfo, blockRect.location(), positionedObje cts());
1647 clipOutPositionedObjects(paintInfo, flippedBlockRect.location(), positio nedObjects());
1648 if (isDocumentElement()) // The <body> must make sure to examine its con tainingBlock's positioned objects. 1643 if (isDocumentElement()) // The <body> must make sure to examine its con tainingBlock's positioned objects.
1649 for (RenderBlock* cb = containingBlock(); cb && !cb->isRenderView(); cb = cb->containingBlock()) 1644 for (RenderBlock* cb = containingBlock(); cb && !cb->isRenderView(); cb = cb->containingBlock())
1650 clipOutPositionedObjects(paintInfo, LayoutPoint(cb->x(), cb->y() ), cb->positionedObjects()); // FIXME: Not right for flipped writing modes. 1645 clipOutPositionedObjects(paintInfo, LayoutPoint(cb->x(), cb->y() ), cb->positionedObjects());
1651 } 1646 }
1652 1647
1653 // FIXME: overflow: auto/scroll regions need more math here, since painting in the border box is different from painting in the padding box (one is scrolled , the other is 1648 // FIXME: overflow: auto/scroll regions need more math here, since painting in the border box is different from painting in the padding box (one is scrolled , the other is
1654 // fixed). 1649 // fixed).
1655 GapRects result; 1650 GapRects result;
1656 if (!isRenderBlockFlow()) // FIXME: Make multi-column selection gap filling work someday. 1651 if (!isRenderBlockFlow()) // FIXME: Make multi-column selection gap filling work someday.
1657 return result; 1652 return result;
1658 1653
1659 if (hasTransform()) { 1654 if (hasTransform()) {
1660 // FIXME: We should learn how to gap fill multiple columns and transform s eventually. 1655 // FIXME: We should learn how to gap fill multiple columns and transform s eventually.
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
2102 2097
2103 bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu lt, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOf fset, HitTestAction hitTestAction) 2098 bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu lt, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOf fset, HitTestAction hitTestAction)
2104 { 2099 {
2105 LayoutPoint adjustedLocation(accumulatedOffset + location()); 2100 LayoutPoint adjustedLocation(accumulatedOffset + location());
2106 LayoutSize localOffset = toLayoutSize(adjustedLocation); 2101 LayoutSize localOffset = toLayoutSize(adjustedLocation);
2107 2102
2108 if (!isRenderView()) { 2103 if (!isRenderView()) {
2109 // Check if we need to do anything at all. 2104 // Check if we need to do anything at all.
2110 // If we have clipping, then we can't have any spillout. 2105 // If we have clipping, then we can't have any spillout.
2111 LayoutRect overflowBox = hasOverflowClip() ? borderBoxRect() : visualOve rflowRect(); 2106 LayoutRect overflowBox = hasOverflowClip() ? borderBoxRect() : visualOve rflowRect();
2112 flipForWritingMode(overflowBox);
2113 overflowBox.moveBy(adjustedLocation); 2107 overflowBox.moveBy(adjustedLocation);
2114 if (!locationInContainer.intersects(overflowBox)) 2108 if (!locationInContainer.intersects(overflowBox))
2115 return false; 2109 return false;
2116 } 2110 }
2117 2111
2118 if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChil dBlockBackground) 2112 if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChil dBlockBackground)
2119 && visibleToHitTestRequest(request) 2113 && visibleToHitTestRequest(request)
2120 && isPointInOverflowControl(result, locationInContainer.point(), adjuste dLocation)) { 2114 && isPointInOverflowControl(result, locationInContainer.point(), adjuste dLocation)) {
2121 updateHitTestResult(result, locationInContainer.point() - localOffset); 2115 updateHitTestResult(result, locationInContainer.point() - localOffset);
2122 // FIXME: isPointInOverflowControl() doesn't handle rect-based tests yet . 2116 // FIXME: isPointInOverflowControl() doesn't handle rect-based tests yet .
(...skipping 30 matching lines...) Expand all
2153 checkChildren = locationInContainer.intersects(clipRect); 2147 checkChildren = locationInContainer.intersects(clipRect);
2154 } 2148 }
2155 } 2149 }
2156 if (checkChildren) { 2150 if (checkChildren) {
2157 // Hit test descendants first. 2151 // Hit test descendants first.
2158 LayoutSize scrolledOffset(localOffset); 2152 LayoutSize scrolledOffset(localOffset);
2159 if (hasOverflowClip()) 2153 if (hasOverflowClip())
2160 scrolledOffset -= scrolledContentOffset(); 2154 scrolledOffset -= scrolledContentOffset();
2161 2155
2162 if (hitTestContents(request, result, locationInContainer, toLayoutPoint( scrolledOffset), hitTestAction)) { 2156 if (hitTestContents(request, result, locationInContainer, toLayoutPoint( scrolledOffset), hitTestAction)) {
2163 updateHitTestResult(result, flipForWritingMode(locationInContainer.p oint() - localOffset)); 2157 updateHitTestResult(result, locationInContainer.point() - localOffse t);
2164 return true; 2158 return true;
2165 } 2159 }
2166 if (hitTestAction == HitTestFloat && hitTestFloats(request, result, loca tionInContainer, toLayoutPoint(scrolledOffset))) 2160 if (hitTestAction == HitTestFloat && hitTestFloats(request, result, loca tionInContainer, toLayoutPoint(scrolledOffset)))
2167 return true; 2161 return true;
2168 } 2162 }
2169 2163
2170 // Check if the point is outside radii. 2164 // Check if the point is outside radii.
2171 if (style()->hasBorderRadius()) { 2165 if (style()->hasBorderRadius()) {
2172 LayoutRect borderRect = borderBoxRect(); 2166 LayoutRect borderRect = borderBoxRect();
2173 borderRect.moveBy(adjustedLocation); 2167 borderRect.moveBy(adjustedLocation);
2174 RoundedRect border = style()->getRoundedBorderFor(borderRect); 2168 RoundedRect border = style()->getRoundedBorderFor(borderRect);
2175 if (!locationInContainer.intersects(border)) 2169 if (!locationInContainer.intersects(border))
2176 return false; 2170 return false;
2177 } 2171 }
2178 2172
2179 // Now hit test our background 2173 // Now hit test our background
2180 if (hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChild BlockBackground) { 2174 if (hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChild BlockBackground) {
2181 LayoutRect boundsRect(adjustedLocation, size()); 2175 LayoutRect boundsRect(adjustedLocation, size());
2182 if (visibleToHitTestRequest(request) && locationInContainer.intersects(b oundsRect)) { 2176 if (visibleToHitTestRequest(request) && locationInContainer.intersects(b oundsRect)) {
2183 updateHitTestResult(result, flipForWritingMode(locationInContainer.p oint() - localOffset)); 2177 updateHitTestResult(result, locationInContainer.point() - localOffse t);
2184 if (!result.addNodeToRectBasedTestResult(nodeForHitTest(), request, locationInContainer, boundsRect)) 2178 if (!result.addNodeToRectBasedTestResult(nodeForHitTest(), request, locationInContainer, boundsRect))
2185 return true; 2179 return true;
2186 } 2180 }
2187 } 2181 }
2188 2182
2189 return false; 2183 return false;
2190 } 2184 }
2191 2185
2192 bool RenderBlock::hitTestContents(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulat edOffset, HitTestAction hitTestAction) 2186 bool RenderBlock::hitTestContents(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulat edOffset, HitTestAction hitTestAction)
2193 { 2187 {
2194 if (childrenInline()) { 2188 if (childrenInline()) {
2195 // We have to hit-test our line boxes. 2189 // We have to hit-test our line boxes.
2196 if (m_lineBoxes.hitTest(this, request, result, locationInContainer, accu mulatedOffset, hitTestAction)) 2190 if (m_lineBoxes.hitTest(this, request, result, locationInContainer, accu mulatedOffset, hitTestAction))
2197 return true; 2191 return true;
2198 } else { 2192 } else {
2199 // Hit test our children. 2193 // Hit test our children.
2200 HitTestAction childHitTest = hitTestAction; 2194 HitTestAction childHitTest = hitTestAction;
2201 if (hitTestAction == HitTestChildBlockBackgrounds) 2195 if (hitTestAction == HitTestChildBlockBackgrounds)
2202 childHitTest = HitTestChildBlockBackground; 2196 childHitTest = HitTestChildBlockBackground;
2203 for (RenderBox* child = lastChildBox(); child; child = child->previousSi blingBox()) { 2197 for (RenderBox* child = lastChildBox(); child; child = child->previousSi blingBox()) {
2204 LayoutPoint childPoint = flipForWritingModeForChild(child, accumulat edOffset); 2198 if (!child->hasSelfPaintingLayer() && !child->isFloating() && child- >nodeAtPoint(request, result, locationInContainer, accumulatedOffset, childHitTe st))
2205 if (!child->hasSelfPaintingLayer() && !child->isFloating() && child- >nodeAtPoint(request, result, locationInContainer, childPoint, childHitTest))
2206 return true; 2199 return true;
2207 } 2200 }
2208 } 2201 }
2209 2202
2210 return false; 2203 return false;
2211 } 2204 }
2212 2205
2213 Position RenderBlock::positionForBox(InlineBox *box, bool start) const 2206 Position RenderBlock::positionForBox(InlineBox *box, bool start) const
2214 { 2207 {
2215 if (!box) 2208 if (!box)
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
2387 return positionForPointRespectingEditingBoundaries(this, childBo x, pointInContents); 2380 return positionForPointRespectingEditingBoundaries(this, childBo x, pointInContents);
2388 } 2381 }
2389 } 2382 }
2390 2383
2391 // We only get here if there are no hit test candidate children below the cl ick. 2384 // We only get here if there are no hit test candidate children below the cl ick.
2392 return RenderBox::positionForPoint(point); 2385 return RenderBox::positionForPoint(point);
2393 } 2386 }
2394 2387
2395 void RenderBlock::offsetForContents(LayoutPoint& offset) const 2388 void RenderBlock::offsetForContents(LayoutPoint& offset) const
2396 { 2389 {
2397 offset = flipForWritingMode(offset);
2398
2399 if (hasOverflowClip()) 2390 if (hasOverflowClip())
2400 offset += scrolledContentOffset(); 2391 offset += scrolledContentOffset();
2401
2402 offset = flipForWritingMode(offset);
2403 } 2392 }
2404 2393
2405 LayoutUnit RenderBlock::availableLogicalWidth() const 2394 LayoutUnit RenderBlock::availableLogicalWidth() const
2406 { 2395 {
2407 return RenderBox::availableLogicalWidth(); 2396 return RenderBox::availableLogicalWidth();
2408 } 2397 }
2409 2398
2410 void RenderBlock::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Lay outUnit& maxLogicalWidth) const 2399 void RenderBlock::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Lay outUnit& maxLogicalWidth) const
2411 { 2400 {
2412 if (childrenInline()) { 2401 if (childrenInline()) {
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after
3122 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const 3111 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const
3123 { 3112 {
3124 showRenderObject(); 3113 showRenderObject();
3125 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 3114 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
3126 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 3115 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
3127 } 3116 }
3128 3117
3129 #endif 3118 #endif
3130 3119
3131 } // namespace blink 3120 } // namespace blink
OLDNEW
« no previous file with comments | « sky/engine/core/rendering/InlineTextBox.cpp ('k') | sky/engine/core/rendering/RenderBox.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698