| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 2 * Copyright (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
| 3 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 3 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. 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 27 matching lines...) Expand all Loading... |
| 38 // CounterNodes is where the logic for knowing the value of a counter is. | 38 // CounterNodes is where the logic for knowing the value of a counter is. |
| 39 // LayoutCounter makes sure the CounterNodes tree is consistent with the | 39 // LayoutCounter makes sure the CounterNodes tree is consistent with the |
| 40 // style. It then just queries CounterNodes for their values. | 40 // style. It then just queries CounterNodes for their values. |
| 41 // | 41 // |
| 42 // CounterNodes are rare so they are stored in a map instead of growing | 42 // CounterNodes are rare so they are stored in a map instead of growing |
| 43 // LayoutObject. counterMaps() (in LayoutCounter.cpp) keeps the association | 43 // LayoutObject. counterMaps() (in LayoutCounter.cpp) keeps the association |
| 44 // between LayoutObject and CounterNodes. To avoid unneeded hash-lookups in the | 44 // between LayoutObject and CounterNodes. To avoid unneeded hash-lookups in the |
| 45 // common case where there is no CounterNode, LayoutObject also keeps track of | 45 // common case where there is no CounterNode, LayoutObject also keeps track of |
| 46 // whether it has at least one CounterNode in the hasCounterNodeMap bit. | 46 // whether it has at least one CounterNode in the hasCounterNodeMap bit. |
| 47 // | 47 // |
| 48 // Keeping the map up-to-date is the reason why LayoutObjects need to call into | 48 // Keeping the map up to date is the reason why LayoutObjects need to call into |
| 49 // LayoutCounter during their lifetime (see the static functions below). | 49 // LayoutCounter during their lifetime (see the static functions below). |
| 50 class LayoutCounter final : public LayoutText { | 50 class LayoutCounter final : public LayoutText { |
| 51 public: | 51 public: |
| 52 LayoutCounter(Document*, const CounterContent&); | 52 LayoutCounter(Document*, const CounterContent&); |
| 53 ~LayoutCounter() override; | 53 ~LayoutCounter() override; |
| 54 | 54 |
| 55 // These functions are static so that any LayoutObject can call them. | 55 // These functions are static so that any LayoutObject can call them. |
| 56 // The reason is that any LayoutObject in the tree can have a CounterNode | 56 // The reason is that any LayoutObject in the tree can have a CounterNode |
| 57 // without a LayoutCounter (e.g. by specifying 'counter-increment' without | 57 // without a LayoutCounter (e.g. by specifying 'counter-increment' without |
| 58 // a "content: counter(a)" directive)). | 58 // a "content: counter(a)" directive)). |
| (...skipping 27 matching lines...) Expand all Loading... |
| 86 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutCounter, isCounter()); | 86 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutCounter, isCounter()); |
| 87 | 87 |
| 88 } // namespace blink | 88 } // namespace blink |
| 89 | 89 |
| 90 #ifndef NDEBUG | 90 #ifndef NDEBUG |
| 91 // Outside the WebCore namespace for ease of invocation from gdb. | 91 // Outside the WebCore namespace for ease of invocation from gdb. |
| 92 void showCounterLayoutTree(const blink::LayoutObject*, const char* counterName =
nullptr); | 92 void showCounterLayoutTree(const blink::LayoutObject*, const char* counterName =
nullptr); |
| 93 #endif | 93 #endif |
| 94 | 94 |
| 95 #endif // LayoutCounter_h | 95 #endif // LayoutCounter_h |
| OLD | NEW |