| OLD | NEW |
| 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 2267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2278 // Create the special object entry & append it to the list | 2278 // Create the special object entry & append it to the list |
| 2279 | 2279 |
| 2280 OwnPtr<FloatingObject> newObj = FloatingObject::create(&floatBox); | 2280 OwnPtr<FloatingObject> newObj = FloatingObject::create(&floatBox); |
| 2281 | 2281 |
| 2282 // Our location is irrelevant if we're unsplittable or no pagination is in e
ffect. | 2282 // Our location is irrelevant if we're unsplittable or no pagination is in e
ffect. |
| 2283 // Just go ahead and lay out the float. | 2283 // Just go ahead and lay out the float. |
| 2284 bool isChildLayoutBlock = floatBox.isLayoutBlock(); | 2284 bool isChildLayoutBlock = floatBox.isLayoutBlock(); |
| 2285 if (isChildLayoutBlock && !floatBox.needsLayout() && view()->layoutState()->
pageLogicalHeightChanged()) | 2285 if (isChildLayoutBlock && !floatBox.needsLayout() && view()->layoutState()->
pageLogicalHeightChanged()) |
| 2286 floatBox.setChildNeedsLayout(MarkOnlyThis); | 2286 floatBox.setChildNeedsLayout(MarkOnlyThis); |
| 2287 | 2287 |
| 2288 bool needsBlockDirectionLocationSetBeforeLayout = isChildLayoutBlock && view
()->layoutState()->needsBlockDirectionLocationSetBeforeLayout(); | 2288 floatBox.layoutIfNeeded(); |
| 2289 if (!needsBlockDirectionLocationSetBeforeLayout || isWritingModeRoot()) { //
We are unsplittable if we're a block flow root. | |
| 2290 floatBox.layoutIfNeeded(); | |
| 2291 } else { | |
| 2292 floatBox.updateLogicalWidth(); | |
| 2293 floatBox.computeAndSetBlockDirectionMargins(this); | |
| 2294 } | |
| 2295 | 2289 |
| 2296 setLogicalWidthForFloat(*newObj, logicalWidthForChild(floatBox) + marginStar
tForChild(floatBox) + marginEndForChild(floatBox)); | 2290 setLogicalWidthForFloat(*newObj, logicalWidthForChild(floatBox) + marginStar
tForChild(floatBox) + marginEndForChild(floatBox)); |
| 2297 | 2291 |
| 2298 return m_floatingObjects->add(newObj.release()); | 2292 return m_floatingObjects->add(newObj.release()); |
| 2299 } | 2293 } |
| 2300 | 2294 |
| 2301 void LayoutBlockFlow::removeFloatingObject(LayoutBox* floatBox) | 2295 void LayoutBlockFlow::removeFloatingObject(LayoutBox* floatBox) |
| 2302 { | 2296 { |
| 2303 if (m_floatingObjects) { | 2297 if (m_floatingObjects) { |
| 2304 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); | 2298 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
| (...skipping 778 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3083 FrameView* frameView = document().view(); | 3077 FrameView* frameView = document().view(); |
| 3084 LayoutUnit top = (style()->position() == FixedPosition) ? 0 : frameView->scr
ollOffset().height(); | 3078 LayoutUnit top = (style()->position() == FixedPosition) ? 0 : frameView->scr
ollOffset().height(); |
| 3085 int visibleHeight = frameView->visibleContentRect(IncludeScrollbars).height(
); | 3079 int visibleHeight = frameView->visibleContentRect(IncludeScrollbars).height(
); |
| 3086 if (size().height() < visibleHeight) | 3080 if (size().height() < visibleHeight) |
| 3087 top += (visibleHeight - size().height()) / 2; | 3081 top += (visibleHeight - size().height()) / 2; |
| 3088 setY(top); | 3082 setY(top); |
| 3089 dialog->setCentered(top); | 3083 dialog->setCentered(top); |
| 3090 } | 3084 } |
| 3091 | 3085 |
| 3092 } // namespace blink | 3086 } // namespace blink |
| OLD | NEW |