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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp

Issue 1974323002: Move inlineElementContinuation() to LayoutBlockFlow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review. Created 4 years, 7 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 2269 matching lines...) Expand 10 before | Expand all | Expand 10 after
2280 setStaticInlinePositionForChild(child, startAlignedOffsetForLine(logical Top, indentText)); 2280 setStaticInlinePositionForChild(child, startAlignedOffsetForLine(logical Top, indentText));
2281 else 2281 else
2282 setStaticInlinePositionForChild(child, startOffsetForContent()); 2282 setStaticInlinePositionForChild(child, startOffsetForContent());
2283 } 2283 }
2284 2284
2285 void LayoutBlockFlow::setStaticInlinePositionForChild(LayoutBox& child, LayoutUn it inlinePosition) 2285 void LayoutBlockFlow::setStaticInlinePositionForChild(LayoutBox& child, LayoutUn it inlinePosition)
2286 { 2286 {
2287 child.layer()->setStaticInlinePosition(inlinePosition); 2287 child.layer()->setStaticInlinePosition(inlinePosition);
2288 } 2288 }
2289 2289
2290 LayoutInline* LayoutBlockFlow::inlineElementContinuation() const
2291 {
2292 LayoutBoxModelObject* continuation = this->continuation();
2293 return continuation && continuation->isInline() ? toLayoutInline(continuatio n) : nullptr;
2294 }
2295
2290 void LayoutBlockFlow::addChild(LayoutObject* newChild, LayoutObject* beforeChild ) 2296 void LayoutBlockFlow::addChild(LayoutObject* newChild, LayoutObject* beforeChild )
2291 { 2297 {
2292 if (LayoutMultiColumnFlowThread* flowThread = multiColumnFlowThread()) { 2298 if (LayoutMultiColumnFlowThread* flowThread = multiColumnFlowThread()) {
2293 if (beforeChild == flowThread) 2299 if (beforeChild == flowThread)
2294 beforeChild = flowThread->firstChild(); 2300 beforeChild = flowThread->firstChild();
2295 ASSERT(!beforeChild || beforeChild->isDescendantOf(flowThread)); 2301 ASSERT(!beforeChild || beforeChild->isDescendantOf(flowThread));
2296 flowThread->addChild(newChild, beforeChild); 2302 flowThread->addChild(newChild, beforeChild);
2297 return; 2303 return;
2298 } 2304 }
2299 2305
(...skipping 1029 matching lines...) Expand 10 before | Expand all | Expand 10 after
3329 if (floatingObject.layoutObject()->hitTest(result, locationInContain er, childPoint)) { 3335 if (floatingObject.layoutObject()->hitTest(result, locationInContain er, childPoint)) {
3330 updateHitTestResult(result, locationInContainer.point() - toLayo utSize(childPoint)); 3336 updateHitTestResult(result, locationInContainer.point() - toLayo utSize(childPoint));
3331 return true; 3337 return true;
3332 } 3338 }
3333 } 3339 }
3334 } 3340 }
3335 3341
3336 return false; 3342 return false;
3337 } 3343 }
3338 3344
3345 LayoutSize LayoutBlockFlow::accumulateInFlowPositionOffsets() const
3346 {
3347 if (!isAnonymousBlock() || !isInFlowPositioned())
3348 return LayoutSize();
3349 LayoutSize offset;
3350 for (const LayoutObject* p = inlineElementContinuation(); p && p->isLayoutIn line(); p = p->parent()) {
3351 if (p->isInFlowPositioned())
3352 offset += toLayoutInline(p)->offsetForInFlowPosition();
3353 }
3354 return offset;
3355 }
3356
3339 LayoutUnit LayoutBlockFlow::logicalLeftFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedOffset, LayoutUnit logicalHeight) const 3357 LayoutUnit LayoutBlockFlow::logicalLeftFloatOffsetForLine(LayoutUnit logicalTop, LayoutUnit fixedOffset, LayoutUnit logicalHeight) const
3340 { 3358 {
3341 if (m_floatingObjects && m_floatingObjects->hasLeftObjects()) 3359 if (m_floatingObjects && m_floatingObjects->hasLeftObjects())
3342 return m_floatingObjects->logicalLeftOffset(fixedOffset, logicalTop, log icalHeight); 3360 return m_floatingObjects->logicalLeftOffset(fixedOffset, logicalTop, log icalHeight);
3343 3361
3344 return fixedOffset; 3362 return fixedOffset;
3345 } 3363 }
3346 3364
3347 LayoutUnit LayoutBlockFlow::logicalRightFloatOffsetForLine(LayoutUnit logicalTop , LayoutUnit fixedOffset, LayoutUnit logicalHeight) const 3365 LayoutUnit LayoutBlockFlow::logicalRightFloatOffsetForLine(LayoutUnit logicalTop , LayoutUnit fixedOffset, LayoutUnit logicalHeight) const
3348 { 3366 {
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
3781 if (!rect.isEmpty()) 3799 if (!rect.isEmpty())
3782 rects.append(rect); 3800 rects.append(rect);
3783 } 3801 }
3784 } 3802 }
3785 3803
3786 if (inlineElementContinuation) 3804 if (inlineElementContinuation)
3787 inlineElementContinuation->addOutlineRects(rects, additionalOffset + (in lineElementContinuation->containingBlock()->location() - location()), includeBlo ckOverflows); 3805 inlineElementContinuation->addOutlineRects(rects, additionalOffset + (in lineElementContinuation->containingBlock()->location() - location()), includeBlo ckOverflows);
3788 } 3806 }
3789 3807
3790 } // namespace blink 3808 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBlockFlow.h ('k') | third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698