| 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 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 } | 229 } |
| 230 | 230 |
| 231 static bool blockHeightConstrained(const LayoutBlock* block) { | 231 static bool blockHeightConstrained(const LayoutBlock* block) { |
| 232 // FIXME: Propagate constrainedness down the tree, to avoid inefficiently | 232 // FIXME: Propagate constrainedness down the tree, to avoid inefficiently |
| 233 // walking back up from each box. | 233 // walking back up from each box. |
| 234 // FIXME: This code needs to take into account vertical writing modes. | 234 // FIXME: This code needs to take into account vertical writing modes. |
| 235 // FIXME: Consider additional heuristics, such as ignoring fixed heights if | 235 // FIXME: Consider additional heuristics, such as ignoring fixed heights if |
| 236 // the content is already overflowing before autosizing kicks in. | 236 // the content is already overflowing before autosizing kicks in. |
| 237 for (; block; block = block->containingBlock()) { | 237 for (; block; block = block->containingBlock()) { |
| 238 const ComputedStyle& style = block->styleRef(); | 238 const ComputedStyle& style = block->styleRef(); |
| 239 if (style.overflowY() >= OverflowScroll) | 239 if (style.overflowY() >= EOverflow::Scroll) |
| 240 return false; | 240 return false; |
| 241 if (style.height().isSpecified() || style.maxHeight().isSpecified() || | 241 if (style.height().isSpecified() || style.maxHeight().isSpecified() || |
| 242 block->isOutOfFlowPositioned()) { | 242 block->isOutOfFlowPositioned()) { |
| 243 // Some sites (e.g. wikipedia) set their html and/or body elements to | 243 // Some sites (e.g. wikipedia) set their html and/or body elements to |
| 244 // height:100%, without intending to constrain the height of the content | 244 // height:100%, without intending to constrain the height of the content |
| 245 // within them. | 245 // within them. |
| 246 return !block->isDocumentElement() && !block->isBody() && | 246 return !block->isDocumentElement() && !block->isBody() && |
| 247 !block->isLayoutView(); | 247 !block->isLayoutView(); |
| 248 } | 248 } |
| 249 if (block->isFloating()) | 249 if (block->isFloating()) |
| (...skipping 1050 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1300 computedSize = specifiedSize; | 1300 computedSize = specifiedSize; |
| 1301 } | 1301 } |
| 1302 return computedSize; | 1302 return computedSize; |
| 1303 } | 1303 } |
| 1304 | 1304 |
| 1305 DEFINE_TRACE(TextAutosizer) { | 1305 DEFINE_TRACE(TextAutosizer) { |
| 1306 visitor->trace(m_document); | 1306 visitor->trace(m_document); |
| 1307 } | 1307 } |
| 1308 | 1308 |
| 1309 } // namespace blink | 1309 } // namespace blink |
| OLD | NEW |