Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/layout/mathml/nsMathMLSelectedFrame.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef nsMathMLSelectedFrame_h___
8
#define nsMathMLSelectedFrame_h___
9
10
#include "nsMathMLContainerFrame.h"
11
12
class nsMathMLSelectedFrame : public nsMathMLContainerFrame {
13
public:
14
  NS_IMETHOD
15
  TransmitAutomaticData() override;
16
17
  virtual void
18
  SetInitialChildList(ChildListID     aListID,
19
                      nsFrameList&    aChildList) override;
20
21
  virtual nsresult
22
  ChildListChanged(int32_t aModType) override;
23
24
  virtual void BuildDisplayList(nsDisplayListBuilder*   aBuilder,
25
                                const nsDisplayListSet& aLists) override;
26
27
  virtual nsresult
28
  Place(DrawTarget*          aDrawTarget,
29
        bool                 aPlaceOrigin,
30
        ReflowOutput& aDesiredSize) override;
31
32
  virtual mozilla::LogicalSize
33
  ComputeSize(gfxContext *aRenderingContext,
34
              mozilla::WritingMode aWritingMode,
35
              const mozilla::LogicalSize& aCBSize,
36
              nscoord aAvailableISize,
37
              const mozilla::LogicalSize& aMargin,
38
              const mozilla::LogicalSize& aBorder,
39
              const mozilla::LogicalSize& aPadding,
40
              ComputeSizeFlags aFlags) override;
41
42
  virtual void
43
  Reflow(nsPresContext*          aPresContext,
44
         ReflowOutput&     aDesiredSize,
45
         const ReflowInput& aReflowInput,
46
         nsReflowStatus&          aStatus) override;
47
48
  virtual nsQueryFrame::FrameIID GetFrameId() override = 0;
49
50
protected:
51
  nsMathMLSelectedFrame(ComputedStyle* aStyle, ClassID aID) :
52
    nsMathMLContainerFrame(aStyle, aID),
53
    mSelectedFrame(nullptr),
54
0
    mInvalidMarkup(false) {}
55
  virtual ~nsMathMLSelectedFrame();
56
57
  virtual nsIFrame* GetSelectedFrame() = 0;
58
  nsIFrame*       mSelectedFrame;
59
60
  bool            mInvalidMarkup;
61
62
private:
63
  void* operator new(size_t, nsIPresShell*) MOZ_MUST_OVERRIDE = delete;
64
};
65
66
#endif /* nsMathMLSelectedFrame_h___ */