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 |