Chromium Code Reviews| Index: Source/core/dom/MarkerPseudoElement.h |
| diff --git a/Source/core/dom/MarkerPseudoElement.h b/Source/core/dom/MarkerPseudoElement.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..2f8fc3b66b9adc3dbb1a65e5f139fa16486abd9f |
| --- /dev/null |
| +++ b/Source/core/dom/MarkerPseudoElement.h |
| @@ -0,0 +1,49 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef MarkerPseudoElement_h |
| +#define MarkerPseudoElement_h |
| + |
| +#include "core/dom/PseudoElement.h" |
| + |
| +namespace blink { |
| + |
| +class LayoutBlockFlow; |
| +class LayoutListMarker; |
| + |
| +class MarkerPseudoElement final : public PseudoElement { |
| + WTF_MAKE_NONCOPYABLE(MarkerPseudoElement); |
| +public: |
| + static PassRefPtrWillBeRawPtr<MarkerPseudoElement> create(Element* parent) |
| + { |
| + return adoptRefWillBeNoop(new MarkerPseudoElement(parent)); |
| + } |
| + |
| + virtual ~MarkerPseudoElement(); |
| + |
| + void attach(const AttachContext& = AttachContext()) override; |
| + |
| + LayoutObject* createLayoutObject(const ComputedStyle&) override; |
| + |
| + // FIXME: Make these private and file static when old code is removed. |
| + static LayoutObject* parentOfFirstLineBox(LayoutBlockFlow* curr, const LayoutObject* marker); |
| + static LayoutObject* firstNonMarkerChild(LayoutObject* parent); |
| + |
| + static PassRefPtr<ComputedStyle> styleForListMarkerLayoutObject(LayoutObject&, const ComputedStyle*); |
| + |
| + void attachListMarkerLayoutObject(); |
|
esprehn
2015/04/22 07:45:45
attachListMarker(), no need for LayoutObject in th
dsinclair
2015/04/22 20:00:38
Done.
|
| + |
| +private: |
| + explicit MarkerPseudoElement(Element*); |
| + |
| + PassRefPtr<ComputedStyle> customStyleForLayoutObject(); |
| + |
| + void didRecalcStyle(StyleRecalcChange) override; |
| +}; |
| + |
| +DEFINE_ELEMENT_TYPE_CASTS(MarkerPseudoElement, isMarkerPseudoElement()); |
| + |
| +} // namespace blink |
| + |
| +#endif // MarkerPseudoElement_h |