Automatically generate isRendererOfType in RENDER_OBJECT_TYPE_CASTS
[WebKit-https.git] / Source / WebCore / rendering / mathml / RenderMathMLScripts.h
index 0101361..09497db 100644 (file)
@@ -42,12 +42,12 @@ friend class RenderMathMLScripts;
 public:
     enum WrapperType { Base, SubSupPair };
 
-    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OVERRIDE;
-    virtual void removeChild(RenderObject&) OVERRIDE;
+    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override;
+    virtual void removeChild(RenderObject&) override;
 
 private:
-    RenderMathMLScriptsWrapper(Document& document, WrapperType kind)
-        : RenderMathMLBlock(document)
+    RenderMathMLScriptsWrapper(Document& document, PassRef<RenderStyle> style, WrapperType kind)
+        : RenderMathMLBlock(document, std::move(style))
         , m_kind(kind)
     {
     }
@@ -57,39 +57,15 @@ private:
     void addChildInternal(bool normalInsertion, RenderObject* child, RenderObject* beforeChild = 0);
     void removeChildInternal(bool normalRemoval, RenderObject& child);
 
-    virtual const char* renderName() const { return m_kind == Base ? "Base Wrapper" : "SubSupPair Wrapper"; }
-
-    virtual bool isRenderMathMLScriptsWrapper() const OVERRIDE FINAL { return true; }
+    virtual const char* renderName() const override { return m_kind == Base ? "Base Wrapper" : "SubSupPair Wrapper"; }
+    virtual bool isRenderMathMLScriptsWrapper() const override final { return true; }
 
     RenderMathMLScripts* parentMathMLScripts();
 
     WrapperType m_kind;
 };
 
-inline RenderMathMLScriptsWrapper* toRenderMathMLScriptsWrapper(RenderMathMLBlock* block)
-{
-    ASSERT_WITH_SECURITY_IMPLICATION(!block || block->isRenderMathMLScriptsWrapper());
-    return static_cast<RenderMathMLScriptsWrapper*>(block);
-}
-
-inline const RenderMathMLScriptsWrapper* toRenderMathMLScriptsWrapper(const RenderMathMLBlock* block)
-{
-    ASSERT_WITH_SECURITY_IMPLICATION(!block || block->isRenderMathMLScriptsWrapper());
-    return static_cast<const RenderMathMLScriptsWrapper*>(block);
-}
-
-inline RenderMathMLScriptsWrapper* toRenderMathMLScriptsWrapper(RenderObject* object)
-{
-    return toRenderMathMLScriptsWrapper(toRenderMathMLBlock(object));
-}
-
-inline const RenderMathMLScriptsWrapper* toRenderMathMLScriptsWrapper(const RenderObject* object)
-{
-    return toRenderMathMLScriptsWrapper(toRenderMathMLBlock(object));
-}
-
-// This will catch anyone doing an unnecessary cast.
-void toRenderMathMLScriptsWrapper(const RenderMathMLScriptsWrapper*);
+RENDER_OBJECT_TYPE_CASTS(RenderMathMLScriptsWrapper, isRenderMathMLScriptsWrapper())
 
 // Render a base with scripts.
 class RenderMathMLScripts : public RenderMathMLBlock {
@@ -97,12 +73,12 @@ class RenderMathMLScripts : public RenderMathMLBlock {
 friend class RenderMathMLScriptsWrapper;
 
 public:
-    explicit RenderMathMLScripts(Element&);
-    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) OVERRIDE;
-    virtual void removeChild(RenderObject&) OVERRIDE;
+    RenderMathMLScripts(Element&, PassRef<RenderStyle>);
+    virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0) override;
+    virtual void removeChild(RenderObject&) override;
     
     virtual RenderMathMLOperator* unembellishedOperator();
-    virtual int firstLineBoxBaseline() const OVERRIDE;
+    virtual int firstLineBaseline() const override;
 
 protected:
     virtual void layout();
@@ -111,13 +87,13 @@ private:
     void addChildInternal(bool normalInsertion, RenderObject* child, RenderObject* beforeChild = 0);
     void removeChildInternal(bool normalRemoval, RenderObject& child);
 
-    virtual bool isRenderMathMLScripts() const OVERRIDE { return true; }
+    virtual bool isRenderMathMLScripts() const override final { return true; }
+    virtual const char* renderName() const override { return "RenderMathMLScripts"; }
+
     void fixAnonymousStyleForSubSupPair(RenderObject* subSupPair, bool isPostScript);
     void fixAnonymousStyles();
 
-    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE;
-
-    virtual const char* renderName() const { return "RenderMathMLScripts"; }
+    virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
 
     // Omit our subscript and/or superscript. This may return 0 for a non-MathML base (which
     // won't occur in valid MathML).
@@ -129,30 +105,7 @@ private:
     RenderMathMLScriptsWrapper* m_baseWrapper;
 };
 
-inline RenderMathMLScripts* toRenderMathMLScripts(RenderMathMLBlock* block)
-{
-    ASSERT_WITH_SECURITY_IMPLICATION(!block || block->isRenderMathMLScripts());
-    return static_cast<RenderMathMLScripts*>(block);
-}
-
-inline const RenderMathMLScripts* toRenderMathMLScripts(const RenderMathMLBlock* block)
-{
-    ASSERT_WITH_SECURITY_IMPLICATION(!block || block->isRenderMathMLScripts());
-    return static_cast<const RenderMathMLScripts*>(block);
-}
-
-inline RenderMathMLScripts* toRenderMathMLScripts(RenderObject* object)
-{
-    return toRenderMathMLScripts(toRenderMathMLBlock(object));
-}
-
-inline const RenderMathMLScripts* toRenderMathMLScripts(const RenderObject* object)
-{
-    return toRenderMathMLScripts(toRenderMathMLBlock(object));
-}
-
-// This will catch anyone doing an unnecessary cast.
-void toRenderMathMLScripts(const RenderMathMLScripts*);
+RENDER_OBJECT_TYPE_CASTS(RenderMathMLScripts, isRenderMathMLScripts())
 
 }