void nsMathMLmoFrame::SetInitialChildList(ChildListID aListID, nsFrameList& aChildList) { // First, let the parent class do its work nsMathMLTokenFrame::SetInitialChildList(aListID, aChildList); ProcessTextData(); }
/* virtual */ void nsMathMLTokenFrame::MarkIntrinsicWidthsDirty() { // this could be called due to changes in the nsTextFrame beneath us // when something changed in the text content. So re-process our text ProcessTextData(); nsMathMLContainerFrame::MarkIntrinsicWidthsDirty(); }
NS_IMETHODIMP nsMathMLmoFrame::InheritAutomaticData(nsIFrame* aParent) { // retain our native direction, it only changes if our text content changes nsStretchDirection direction = mEmbellishData.direction; nsMathMLTokenFrame::InheritAutomaticData(aParent); ProcessTextData(); mEmbellishData.direction = direction; return NS_OK; }
NS_IMETHODIMP nsMathMLTokenFrame::InheritAutomaticData(nsIFrame* aParent) { // let the base class get the default from our parent nsMathMLContainerFrame::InheritAutomaticData(aParent); ProcessTextData(); return NS_OK; }
nsresult nsMathMLmoFrame::SetInitialChildList(ChildListID aListID, nsFrameList& aChildList) { // First, let the parent class do its work nsresult rv = nsMathMLTokenFrame::SetInitialChildList(aListID, aChildList); if (NS_FAILED(rv)) return rv; ProcessTextData(); return rv; }
NS_IMETHODIMP nsMathMLTokenFrame::SetInitialChildList(ChildListID aListID, nsFrameList& aChildList) { // First, let the base class do its work nsresult rv = nsMathMLContainerFrame::SetInitialChildList(aListID, aChildList); if (NS_FAILED(rv)) return rv; SetQuotes(false); ProcessTextData(); return rv; }
/* virtual */ void nsMathMLmoFrame::MarkIntrinsicWidthsDirty() { // if we get this, it may mean that something changed in the text // content. So blow away everything an re-build the automatic data // from the parent of our outermost embellished container (we ensure // that we are the core, not just a sibling of the core) ProcessTextData(); nsIFrame* target = this; nsEmbellishData embellishData; do { target = target->GetParent(); GetEmbellishDataFrom(target, embellishData); } while (embellishData.coreFrame == this); // we have automatic data to update in the children of the target frame // XXXldb This should really be marking dirty rather than rebuilding // so that we don't rebuild multiple times for the same change. RebuildAutomaticDataForChildren(target); nsMathMLContainerFrame::MarkIntrinsicWidthsDirty(); }