Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. |
| 3 * All rights reserved. | 3 * All rights reserved. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 32 namespace blink { | 32 namespace blink { |
| 33 | 33 |
| 34 class HitTestRequest; | 34 class HitTestRequest; |
| 35 class HitTestResult; | 35 class HitTestResult; |
| 36 class InlineFlowBox; | 36 class InlineFlowBox; |
| 37 class LayoutObject; | 37 class LayoutObject; |
| 38 class RootInlineBox; | 38 class RootInlineBox; |
| 39 | 39 |
| 40 enum MarkLineBoxes { kMarkLineBoxesDirty, kDontMarkLineBoxes }; | 40 enum MarkLineBoxes { kMarkLineBoxesDirty, kDontMarkLineBoxes }; |
| 41 | 41 |
| 42 enum class LineVerticalPositionType { | |
| 43 // TextTop and TextBottom are the top/bottom of the content area. | |
| 44 // This is where 'vertical-align: text-top/text-bottom' aligns to. | |
| 45 // This is explicitly undefined in CSS2. | |
| 46 // https://drafts.csswg.org/css2/visudet.html#inline-non-replaced | |
| 47 TextTop, | |
| 48 TextBottom, | |
| 49 // Em height as being discussed in Font Metrics API. | |
| 50 // https://drafts.css-houdini.org/font-metrics-api-1/#fontmetrics | |
| 51 TopOfEmHeight, | |
| 52 BottomOfEmHeight | |
| 53 }; | |
| 54 | |
| 55 static inline bool IsOverSide(LineVerticalPositionType type) { | |
|
eae
2017/05/01 16:21:48
Above might be a better term than Over as over cou
kojii
2017/05/02 22:56:52
Ah, didn't know "over" could mean that. I meant th
| |
| 56 return type == LineVerticalPositionType::TextTop || | |
| 57 type == LineVerticalPositionType::TopOfEmHeight; | |
| 58 } | |
| 59 | |
| 42 // InlineBox represents a rectangle that occurs on a line. It corresponds to | 60 // InlineBox represents a rectangle that occurs on a line. It corresponds to |
| 43 // some LayoutObject (i.e., it represents a portion of that LayoutObject). | 61 // some LayoutObject (i.e., it represents a portion of that LayoutObject). |
| 44 class CORE_EXPORT InlineBox : public DisplayItemClient { | 62 class CORE_EXPORT InlineBox : public DisplayItemClient { |
| 45 WTF_MAKE_NONCOPYABLE(InlineBox); | 63 WTF_MAKE_NONCOPYABLE(InlineBox); |
| 46 | 64 |
| 47 public: | 65 public: |
| 48 InlineBox(LineLayoutItem obj) | 66 InlineBox(LineLayoutItem obj) |
| 49 : next_(nullptr), | 67 : next_(nullptr), |
| 50 prev_(nullptr), | 68 prev_(nullptr), |
| 51 parent_(nullptr), | 69 parent_(nullptr), |
| (...skipping 493 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 545 | 563 |
| 546 } // namespace blink | 564 } // namespace blink |
| 547 | 565 |
| 548 #ifndef NDEBUG | 566 #ifndef NDEBUG |
| 549 // Outside the WebCore namespace for ease of invocation from gdb. | 567 // Outside the WebCore namespace for ease of invocation from gdb. |
| 550 void showTree(const blink::InlineBox*); | 568 void showTree(const blink::InlineBox*); |
| 551 void showLineTree(const blink::InlineBox*); | 569 void showLineTree(const blink::InlineBox*); |
| 552 #endif | 570 #endif |
| 553 | 571 |
| 554 #endif // InlineBox_h | 572 #endif // InlineBox_h |
| OLD | NEW |