author | Ehren Metcalfe <ehren.m@gmail.com> |
Sat, 03 Apr 2010 07:36:19 -0400 | |
changeset 40202 | 13504a5fc0742c0922b548dce200febd06e358fa |
parent 40201 | 8c573f37efba70863bd4424443e3957182287cb9 |
child 40203 | 16d33b6f570eb16bbf62c6d4c155e1f81e0a5fd6 |
push id | unknown |
push user | unknown |
push date | unknown |
reviewers | roc, bz |
bugs | 556446 |
milestone | 1.9.3a4pre |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
|
--- a/layout/base/nsBidi.cpp +++ b/layout/base/nsBidi.cpp @@ -165,50 +165,16 @@ static Flags flagO[2]={ DIRPROP_FLAG(LRO nsBidi::nsBidi() { Init(); mMayAllocateText=PR_TRUE; mMayAllocateRuns=PR_TRUE; } -nsBidi::nsBidi(PRUint32 aMaxLength, PRUint32 aMaxRunCount) -{ - Init(); - nsresult rv = NS_OK; - - /* allocate memory for arrays as requested */ - if(aMaxLength>0) { - if( !GETINITIALDIRPROPSMEMORY(aMaxLength) || - !GETINITIALLEVELSMEMORY(aMaxLength) - ) { - mMayAllocateText=PR_FALSE; - rv = NS_ERROR_OUT_OF_MEMORY; - } - } else { - mMayAllocateText=PR_TRUE; - } - - if(aMaxRunCount>0) { - if(aMaxRunCount==1) { - /* use simpleRuns[] */ - mRunsSize=sizeof(Run); - } else if(!GETINITIALRUNSMEMORY(aMaxRunCount)) { - mMayAllocateRuns=PR_FALSE; - rv = NS_ERROR_OUT_OF_MEMORY; - } - } else { - mMayAllocateRuns=PR_TRUE; - } - - if(NS_FAILED(rv)) { - Free(); - } -} - nsBidi::~nsBidi() { Free(); } void nsBidi::Init() { /* reset the object, all pointers NULL, all flags PR_FALSE, all sizes 0 */
--- a/layout/base/nsBidi.h +++ b/layout/base/nsBidi.h @@ -438,51 +438,16 @@ public: * <code>GetLine()</code>.<p> * This object can be reused for as long as it is not destroyed.<p> * <code>SetPara()</code> will allocate additional memory for * internal structures as necessary. * */ nsBidi(); - /** @brief Preallocating constructor - * Allocate an <code>nsBidi</code> - * object with preallocated memory for internal structures. This - * constructor provides an <code>nsBidi</code> object like - * the default constructor, but it also - * preallocates memory for internal structures according to the sizings - * supplied by the caller.<p> Subsequent functions will not allocate - * any more memory, and are thus guaranteed not to fail because of lack - * of memory.<p> The preallocation can be limited to some of the - * internal memory by setting some values to 0 here. That means that - * if, e.g., <code>aMaxRunCount</code> cannot be reasonably - * predetermined and should not be set to <code>aMaxLength</code> (the - * only failproof value) to avoid wasting memory, then - * <code>aMaxRunCount</code> could be set to 0 here and the internal - * structures that are associated with it will be allocated on demand, - * just like with the default constructor. - * - * If sufficient memory could not be allocated, no exception is thrown. - * Test whether mDirPropsSize == aMaxLength and/or mRunsSize == aMaxRunCount. - * - * @param aMaxLength is the maximum paragraph or line length that internal memory - * will be preallocated for. An attempt to associate this object with a - * longer text will fail, unless this value is 0, which leaves the allocation - * up to the implementation. - * - * @param aMaxRunCount is the maximum anticipated number of same-level runs - * that internal memory will be preallocated for. An attempt to access - * visual runs on an object that was not preallocated for as many runs - * as the text was actually resolved to will fail, - * unless this value is 0, which leaves the allocation up to the implementation.<p> - * The number of runs depends on the actual text and maybe anywhere between - * 1 and <code>aMaxLength</code>. It is typically small.<p> - */ - nsBidi(PRUint32 aMaxLength, PRUint32 aMaxRunCount); - /** @brief Destructor. */ virtual ~nsBidi(); /** * Perform the Unicode Bidi algorithm. It is defined in the * <a href="http://www.unicode.org/unicode/reports/tr9/">Unicode Technical Report 9</a>, * version 5,
--- a/layout/base/nsBidiPresUtils.cpp +++ b/layout/base/nsBidiPresUtils.cpp @@ -1392,26 +1392,16 @@ nsBidiPresUtils::CalculateCharType(PRInt strongTypeFound = PR_TRUE; aCharType = charType; } } aOffset = offset; } -nsresult nsBidiPresUtils::GetBidiEngine(nsBidi** aBidiEngine) -{ - nsresult rv = NS_ERROR_FAILURE; - if (mBidiEngine) { - *aBidiEngine = mBidiEngine; - rv = NS_OK; - } - return rv; -} - nsresult nsBidiPresUtils::ProcessText(const PRUnichar* aText, PRInt32 aLength, nsBidiDirection aBaseDirection, nsPresContext* aPresContext, BidiProcessor& aprocessor, Mode aMode, nsBidiPositionResolve* aPosResolve, PRInt32 aPosResolveCount,
--- a/layout/base/nsBidiPresUtils.h +++ b/layout/base/nsBidiPresUtils.h @@ -194,21 +194,16 @@ public: */ nsresult FormatUnicodeText(nsPresContext* aPresContext, PRUnichar* aText, PRInt32& aTextLength, nsCharType aCharType, PRBool aIsOddLevel); /** - * Return our nsBidi object (bidi reordering engine) - */ - nsresult GetBidiEngine(nsBidi** aBidiEngine); - - /** * Reorder plain text using the Unicode Bidi algorithm and send it to * a rendering context for rendering. * * @param[in] aText the string to be rendered (in logical order) * @param aLength the number of characters in the string * @param aBaseDirection the base direction of the string * NSBIDI_LTR - left-to-right string * NSBIDI_RTL - right-to-left string
--- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -873,23 +873,16 @@ nsDisplayItem* nsDisplayList::RemoveBott if (item == mTop) { // must have been the only item mTop = &mSentinel; } item->mAbove = nsnull; return item; } -void nsDisplayList::DeleteBottom() { - nsDisplayItem* item = RemoveBottom(); - if (item) { - item->~nsDisplayItem(); - } -} - void nsDisplayList::DeleteAll() { nsDisplayItem* item; while ((item = RemoveBottom()) != nsnull) { item->~nsDisplayItem(); } } nsIFrame* nsDisplayList::HitTest(nsDisplayListBuilder* aBuilder, nsPoint aPt,
--- a/layout/base/nsDisplayList.h +++ b/layout/base/nsDisplayList.h @@ -763,20 +763,16 @@ public: } /** * Remove an item from the bottom of the list and return it. */ nsDisplayItem* RemoveBottom(); /** - * Remove an item from the bottom of the list and call its destructor. - */ - void DeleteBottom(); - /** * Remove all items from the list and call their destructors. */ void DeleteAll(); /** * @return the item at the top of the list, or null if the list is empty */ nsDisplayItem* GetTop() const {
--- a/layout/base/nsFrameManager.cpp +++ b/layout/base/nsFrameManager.cpp @@ -256,41 +256,16 @@ nsFrameManager::Destroy() } delete mUndisplayedMap; mUndisplayedMap = nsnull; mPresShell = nsnull; } -nsIFrame* -nsFrameManager::GetCanvasFrame() -{ - if (mRootFrame) { - // walk the children of the root frame looking for a frame with type==canvas - // start at the root - nsIFrame* childFrame = mRootFrame; - while (childFrame) { - // get each sibling of the child and check them, startig at the child - nsIFrame *siblingFrame = childFrame; - while (siblingFrame) { - if (siblingFrame->GetType() == nsGkAtoms::canvasFrame) { - // this is it - return siblingFrame; - } else { - siblingFrame = siblingFrame->GetNextSibling(); - } - } - // move on to the child's child - childFrame = childFrame->GetFirstChild(nsnull); - } - } - return nsnull; -} - //---------------------------------------------------------------------- // Placeholder frame functions nsPlaceholderFrame* nsFrameManager::GetPlaceholderFrameFor(nsIFrame* aFrame) { NS_PRECONDITION(aFrame, "null param unexpected"); @@ -487,29 +462,16 @@ nsFrameManager::ClearAllUndisplayedConte nsIContent* child = list->GetNodeAt(i); if (child->GetParent() != aParentContent) { ClearUndisplayedContentIn(child, child->GetParent()); } } } } -void -nsFrameManager::ClearUndisplayedContentMap() -{ -#ifdef DEBUG_UNDISPLAYED_MAP - static int i = 0; - printf("ClearUndisplayedContentMap(%d)\n", i++); -#endif - - if (mUndisplayedMap) { - mUndisplayedMap->Clear(); - } -} - //---------------------------------------------------------------------- nsresult nsFrameManager::InsertFrames(nsIFrame* aParentFrame, nsIAtom* aListName, nsIFrame* aPrevFrame, nsFrameList& aFrameList) {
--- a/layout/base/nsFrameManager.h +++ b/layout/base/nsFrameManager.h @@ -86,22 +86,16 @@ public: /* * After Destroy is called, it is an error to call any FrameManager methods. * Destroy should be called when the frame tree managed by the frame * manager is no longer being displayed. */ NS_HIDDEN_(void) Destroy(); - /* - * Get the canvas frame, searching from the root frame down. - * The canvas frame may or may not exist, so this may return null. - */ - NS_HIDDEN_(nsIFrame*) GetCanvasFrame(); - // Placeholder frame functions NS_HIDDEN_(nsPlaceholderFrame*) GetPlaceholderFrameFor(nsIFrame* aFrame); NS_HIDDEN_(nsresult) RegisterPlaceholderFrame(nsPlaceholderFrame* aPlaceholderFrame); NS_HIDDEN_(void) UnregisterPlaceholderFrame(nsPlaceholderFrame* aPlaceholderFrame); @@ -111,17 +105,16 @@ public: NS_HIDDEN_(nsStyleContext*) GetUndisplayedContent(nsIContent* aContent); NS_HIDDEN_(void) SetUndisplayedContent(nsIContent* aContent, nsStyleContext* aStyleContext); NS_HIDDEN_(void) ChangeUndisplayedContent(nsIContent* aContent, nsStyleContext* aStyleContext); NS_HIDDEN_(void) ClearUndisplayedContentIn(nsIContent* aContent, nsIContent* aParentContent); NS_HIDDEN_(void) ClearAllUndisplayedContentIn(nsIContent* aParentContent); - NS_HIDDEN_(void) ClearUndisplayedContentMap(); // Functions for manipulating the frame model NS_HIDDEN_(nsresult) AppendFrames(nsIFrame* aParentFrame, nsIAtom* aListName, nsFrameList& aFrameList) { return aParentFrame->AppendFrames(aListName, aFrameList); }
--- a/layout/base/nsIPresShell.h +++ b/layout/base/nsIPresShell.h @@ -736,21 +736,16 @@ public: */ static PRBool GetVerifyReflowEnable(); /** * Set the verify-reflow enable flag. */ static void SetVerifyReflowEnable(PRBool aEnabled); - /** - * Get the flags associated with the VerifyReflow debug tool - */ - static PRInt32 GetVerifyReflowFlags(); - virtual nsIFrame* GetAbsoluteContainingBlock(nsIFrame* aFrame); #ifdef MOZ_REFLOW_PERF virtual NS_HIDDEN_(void) DumpReflows() = 0; virtual NS_HIDDEN_(void) CountReflows(const char * aName, nsIFrame * aFrame) = 0; virtual NS_HIDDEN_(void) PaintCount(const char * aName, nsIRenderingContext* aRenderingContext, nsPresContext * aPresContext,
--- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -1755,73 +1755,16 @@ nsLayoutUtils::GetParentOrPlaceholderFor if ((aFrame->GetStateBits() & NS_FRAME_OUT_OF_FLOW) && !aFrame->GetPrevInFlow()) { return aFrameManager->GetPlaceholderFrameFor(aFrame); } return aFrame->GetParent(); } nsIFrame* -nsLayoutUtils::GetClosestCommonAncestorViaPlaceholders(nsIFrame* aFrame1, - nsIFrame* aFrame2, - nsIFrame* aKnownCommonAncestorHint) -{ - NS_PRECONDITION(aFrame1, "aFrame1 must not be null"); - NS_PRECONDITION(aFrame2, "aFrame2 must not be null"); - - nsPresContext* presContext = aFrame1->PresContext(); - if (presContext != aFrame2->PresContext()) { - // different documents, no common ancestor - return nsnull; - } - nsFrameManager* frameManager = presContext->PresShell()->FrameManager(); - - nsAutoTArray<nsIFrame*, 8> frame1Ancestors; - nsIFrame* f1; - for (f1 = aFrame1; f1 && f1 != aKnownCommonAncestorHint; - f1 = GetParentOrPlaceholderFor(frameManager, f1)) { - frame1Ancestors.AppendElement(f1); - } - if (!f1 && aKnownCommonAncestorHint) { - // So, it turns out aKnownCommonAncestorHint was not an ancestor of f1. Oops. - // Never mind. We can continue as if aKnownCommonAncestorHint was null. - aKnownCommonAncestorHint = nsnull; - } - - nsAutoTArray<nsIFrame*, 8> frame2Ancestors; - nsIFrame* f2; - for (f2 = aFrame2; f2 && f2 != aKnownCommonAncestorHint; - f2 = GetParentOrPlaceholderFor(frameManager, f2)) { - frame2Ancestors.AppendElement(f2); - } - if (!f2 && aKnownCommonAncestorHint) { - // So, it turns out aKnownCommonAncestorHint was not an ancestor of f2. - // We need to retry with no common ancestor hint. - return GetClosestCommonAncestorViaPlaceholders(aFrame1, aFrame2, nsnull); - } - - // now frame1Ancestors and frame2Ancestors give us the parent frame chain - // up to aKnownCommonAncestorHint, or if that is null, up to and including - // the root frame. We need to walk from the end (i.e., the top of the - // frame (sub)tree) down to aFrame1/aFrame2 looking for the first difference. - nsIFrame* lastCommonFrame = aKnownCommonAncestorHint; - PRInt32 last1 = frame1Ancestors.Length() - 1; - PRInt32 last2 = frame2Ancestors.Length() - 1; - while (last1 >= 0 && last2 >= 0) { - nsIFrame* frame1 = frame1Ancestors.ElementAt(last1); - if (frame1 != frame2Ancestors.ElementAt(last2)) - break; - lastCommonFrame = frame1; - last1--; - last2--; - } - return lastCommonFrame; -} - -nsIFrame* nsLayoutUtils::GetNextContinuationOrSpecialSibling(nsIFrame *aFrame) { nsIFrame *result = aFrame->GetNextContinuation(); if (result) return result; if ((aFrame->GetStateBits() & NS_FRAME_IS_SPECIAL) != 0) { // We only store the "special sibling" annotation with the first
--- a/layout/base/nsLayoutUtils.h +++ b/layout/base/nsLayoutUtils.h @@ -725,30 +725,16 @@ public: /** * If aFrame is an out of flow frame, return its placeholder, otherwise * return its parent. */ static nsIFrame* GetParentOrPlaceholderFor(nsFrameManager* aFrameManager, nsIFrame* aFrame); /** - * Find the closest common ancestor of aFrame1 and aFrame2, following - * out of flow frames to their placeholders instead of their parents. Returns - * nsnull if the frames are in different frame trees. - * - * @param aKnownCommonAncestorHint a frame that is believed to be on the - * ancestor chain of both aFrame1 and aFrame2. If null, or a frame that is - * not in fact on both ancestor chains, then this function will still return - * the correct result, but it will be slower. - */ - static nsIFrame* - GetClosestCommonAncestorViaPlaceholders(nsIFrame* aFrame1, nsIFrame* aFrame2, - nsIFrame* aKnownCommonAncestorHint); - - /** * Get a frame's next-in-flow, or, if it doesn't have one, its special sibling. */ static nsIFrame* GetNextContinuationOrSpecialSibling(nsIFrame *aFrame); /** * Get the first frame in the continuation-plus-special-sibling chain * containing aFrame.
--- a/layout/base/nsPresShell.cpp +++ b/layout/base/nsPresShell.cpp @@ -1087,21 +1087,16 @@ protected: PRIntn mContentScrollVPosition; PRIntn mContentScrollHPosition; class nsDelayedEvent { public: virtual ~nsDelayedEvent() {}; virtual void Dispatch(PresShell* aShell) {} - // This is needed only by nsDelayedFocusBlur. - virtual PRBool Equals(nsPIDOMEventTarget* aTarget, PRUint32 aEventType) - { - return PR_FALSE; - } }; class nsDelayedInputEvent : public nsDelayedEvent { public: virtual void Dispatch(PresShell* aShell) { if (mEvent && mEvent->widget) { @@ -1426,26 +1421,16 @@ nsIPresShell::GetVerifyReflowEnable() } void nsIPresShell::SetVerifyReflowEnable(PRBool aEnabled) { gVerifyReflowEnabled = aEnabled; } -PRInt32 -nsIPresShell::GetVerifyReflowFlags() -{ -#ifdef NS_DEBUG - return gVerifyReflowFlags; -#else - return 0; -#endif -} - /* virtual */ void nsIPresShell::AddWeakFrameExternal(nsWeakFrame* aWeakFrame) { AddWeakFrameInternal(aWeakFrame); } void nsIPresShell::AddWeakFrameInternal(nsWeakFrame* aWeakFrame)
--- a/layout/forms/nsButtonFrameRenderer.cpp +++ b/layout/forms/nsButtonFrameRenderer.cpp @@ -344,30 +344,16 @@ nsButtonFrameRenderer::GetButtonInnerFoc NS_NOTYETIMPLEMENTED("percentage padding"); } result += mInnerFocusStyle->GetStyleBorder()->GetActualBorder(); } return result; } -nsMargin -nsButtonFrameRenderer::GetButtonOutlineBorderAndPadding() -{ - nsMargin borderAndPadding(0,0,0,0); - return borderAndPadding; -} - -// gets the full size of our border with all the focus borders -nsMargin -nsButtonFrameRenderer::GetFullButtonBorderAndPadding() -{ - return GetAddedButtonBorderAndPadding() + GetButtonBorderAndPadding(); -} - // gets all the focus borders and padding that will be added to the regular border nsMargin nsButtonFrameRenderer::GetAddedButtonBorderAndPadding() { return GetButtonOuterFocusBorderAndPadding() + GetButtonInnerFocusMargin() + GetButtonInnerFocusBorderAndPadding(); } /**
--- a/layout/forms/nsButtonFrameRenderer.h +++ b/layout/forms/nsButtonFrameRenderer.h @@ -87,18 +87,16 @@ public: void GetButtonOuterFocusRect(const nsRect& aRect, nsRect& aResult); void GetButtonRect(const nsRect& aRect, nsRect& aResult); void GetButtonInnerFocusRect(const nsRect& aRect, nsRect& aResult); nsMargin GetButtonOuterFocusBorderAndPadding(); nsMargin GetButtonBorderAndPadding(); nsMargin GetButtonInnerFocusMargin(); nsMargin GetButtonInnerFocusBorderAndPadding(); - nsMargin GetButtonOutlineBorderAndPadding(); - nsMargin GetFullButtonBorderAndPadding(); nsMargin GetAddedButtonBorderAndPadding(); nsStyleContext* GetStyleContext(PRInt32 aIndex) const; void SetStyleContext(PRInt32 aIndex, nsStyleContext* aStyleContext); void ReResolveStyles(nsPresContext* aPresContext); nsIFrame* GetFrame();
--- a/layout/forms/nsComboboxControlFrame.cpp +++ b/layout/forms/nsComboboxControlFrame.cpp @@ -895,27 +895,16 @@ nsComboboxControlFrame::RemoveOption(PRI if (!weakThis.IsAlive()) return NS_OK; nsListControlFrame* lcf = static_cast<nsListControlFrame*>(mDropdownFrame); return lcf->RemoveOption(aIndex); } NS_IMETHODIMP -nsComboboxControlFrame::GetOptionSelected(PRInt32 aIndex, PRBool* aValue) -{ - NS_ASSERTION(mDropdownFrame, "No dropdown frame!"); - - nsISelectControlFrame* listFrame = do_QueryFrame(mDropdownFrame); - NS_ASSERTION(listFrame, "No list frame!"); - - return listFrame->GetOptionSelected(aIndex, aValue); -} - -NS_IMETHODIMP nsComboboxControlFrame::OnSetSelectedIndex(PRInt32 aOldIndex, PRInt32 aNewIndex) { nsAutoScriptBlocker scriptBlocker; RedisplayText(aNewIndex); NS_ASSERTION(mDropdownFrame, "No dropdown frame!"); nsISelectControlFrame* listFrame = do_QueryFrame(mDropdownFrame); NS_ASSERTION(listFrame, "No list frame!");
--- a/layout/forms/nsComboboxControlFrame.h +++ b/layout/forms/nsComboboxControlFrame.h @@ -183,17 +183,16 @@ public: */ NS_IMETHOD RedisplaySelectedText(); virtual PRInt32 UpdateRecentIndex(PRInt32 aIndex); virtual void OnContentReset(); // nsISelectControlFrame NS_IMETHOD AddOption(PRInt32 index); NS_IMETHOD RemoveOption(PRInt32 index); - NS_IMETHOD GetOptionSelected(PRInt32 aIndex, PRBool* aValue); NS_IMETHOD DoneAddingChildren(PRBool aIsDone); NS_IMETHOD OnOptionSelected(PRInt32 aIndex, PRBool aSelected); NS_IMETHOD OnSetSelectedIndex(PRInt32 aOldIndex, PRInt32 aNewIndex); //nsIRollupListener /** * Hide the dropdown menu and stop capturing mouse events. * @note This method might destroy |this|.
--- a/layout/forms/nsISelectControlFrame.h +++ b/layout/forms/nsISelectControlFrame.h @@ -59,21 +59,16 @@ public: /** * Removes the option at index. The caller must have a live script * blocker while calling this method. */ NS_IMETHOD RemoveOption(PRInt32 index) = 0; /** - * Sets the select state of the option at index - */ - NS_IMETHOD GetOptionSelected(PRInt32 index, PRBool* value) = 0; - - /** * Sets whether the parser is done adding children * @param aIsDone whether the parser is done adding children */ NS_IMETHOD DoneAddingChildren(PRBool aIsDone) = 0; /** * Notify the frame when an option is selected */
--- a/layout/forms/nsListControlFrame.cpp +++ b/layout/forms/nsListControlFrame.cpp @@ -1640,24 +1640,16 @@ nsListControlFrame::FireOnChange() nsEvent event(PR_TRUE, NS_FORM_CHANGE); nsCOMPtr<nsIPresShell> presShell = PresContext()->GetPresShell(); if (presShell) { presShell->HandleEventWithTarget(&event, this, nsnull, &status); } } -// Determine if the specified item in the listbox is selected. -NS_IMETHODIMP -nsListControlFrame::GetOptionSelected(PRInt32 aIndex, PRBool* aValue) -{ - *aValue = IsContentSelectedByIndex(aIndex); - return NS_OK; -} - NS_IMETHODIMP nsListControlFrame::OnSetSelectedIndex(PRInt32 aOldIndex, PRInt32 aNewIndex) { if (mComboboxFrame) { // UpdateRecentIndex with NS_SKIP_NOTIFY_INDEX, so that we won't fire an onchange // event for this setting of selectedIndex. mComboboxFrame->UpdateRecentIndex(NS_SKIP_NOTIFY_INDEX); }
--- a/layout/forms/nsListControlFrame.h +++ b/layout/forms/nsListControlFrame.h @@ -183,17 +183,16 @@ public: * @note This method might destroy |this|. */ virtual void ComboboxFinish(PRInt32 aIndex); virtual void OnContentReset(); // nsISelectControlFrame NS_IMETHOD AddOption(PRInt32 index); NS_IMETHOD RemoveOption(PRInt32 index); - NS_IMETHOD GetOptionSelected(PRInt32 aIndex, PRBool* aValue); NS_IMETHOD DoneAddingChildren(PRBool aIsDone); /** * Gets the content (an option) by index and then set it as * being selected or not selected. */ NS_IMETHOD OnOptionSelected(PRInt32 aIndex, PRBool aSelected); NS_IMETHOD OnSetSelectedIndex(PRInt32 aOldIndex, PRInt32 aNewIndex);
--- a/layout/generic/nsBlockFrame.cpp +++ b/layout/generic/nsBlockFrame.cpp @@ -2843,37 +2843,16 @@ nsBlockFrame::ShouldApplyTopMargin(nsBlo } // The line being reflowed is "essentially" the first line in the // block. Therefore its top-margin will be collapsed by the // generational collapsing logic with its parent (us). return PR_FALSE; } -nsIFrame* -nsBlockFrame::GetTopBlockChild(nsPresContext* aPresContext) -{ - if (mLines.empty()) - return nsnull; - - nsLineBox *firstLine = mLines.front(); - if (firstLine->IsBlock()) - return firstLine->mFirstChild; - - if (!firstLine->CachedIsEmpty()) - return nsnull; - - line_iterator secondLine = begin_lines(); - ++secondLine; - if (secondLine == end_lines() || !secondLine->IsBlock()) - return nsnull; - - return secondLine->mFirstChild; -} - nsresult nsBlockFrame::ReflowBlockFrame(nsBlockReflowState& aState, line_iterator aLine, PRBool* aKeepReflowGoing) { NS_PRECONDITION(*aKeepReflowGoing, "bad caller"); nsresult rv = NS_OK;
--- a/layout/generic/nsBlockFrame.h +++ b/layout/generic/nsBlockFrame.h @@ -266,22 +266,16 @@ public: /** * Determines whether the collapsed margin carried out of the last * line includes the margin-top of a line with clearance (in which * case we must avoid collapsing that margin with our bottom margin) */ PRBool CheckForCollapsedBottomMarginFromClearanceLine(); - /** return the topmost block child based on y-index. - * almost always the first or second line, if there is one. - * accounts for lines that hold only compressed white space, etc. - */ - nsIFrame* GetTopBlockChild(nsPresContext *aPresContext); - static nsresult GetCurrentLine(nsBlockReflowState *aState, nsLineBox **aOutCurrentLine); static PRBool BlockIsMarginRoot(nsIFrame* aBlock); static PRBool BlockNeedsFloatManager(nsIFrame* aBlock); /** * Returns whether aFrame is a block frame that will wrap its contents * around floats intruding on it from the outside. (aFrame need not
--- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -704,26 +704,16 @@ nsIFrame::ApplySkipSides(nsMargin& aMarg aMargin.right = 0; if (skipSides & (1 << NS_SIDE_BOTTOM)) aMargin.bottom = 0; if (skipSides & (1 << NS_SIDE_LEFT)) aMargin.left = 0; } nsRect -nsIFrame::GetMarginRect() const -{ - nsMargin m(GetUsedMargin()); - ApplySkipSides(m); - nsRect r(mRect); - r.Inflate(m); - return r; -} - -nsRect nsIFrame::GetPaddingRect() const { nsMargin b(GetUsedBorder()); ApplySkipSides(b); nsRect r(mRect); r.Deflate(b); return r; } @@ -1198,26 +1188,16 @@ nsIFrame::OverflowClip(nsDisplayListBuil const nsRect& aClipRect, PRBool aClipBorderBackground, PRBool aClipAll) { nsOverflowClipWrapper wrapper(this, aClipRect, aClipBorderBackground, aClipAll); return wrapper.WrapLists(aBuilder, this, aFromSet, aToSet); } -nsresult -nsIFrame::Clip(nsDisplayListBuilder* aBuilder, - const nsDisplayListSet& aFromSet, - const nsDisplayListSet& aToSet, - const nsRect& aClipRect) -{ - nsAbsPosClipWrapper wrapper(this, aClipRect); - return wrapper.WrapLists(aBuilder, this, aFromSet, aToSet); -} - static nsresult BuildDisplayListWithOverflowClip(nsDisplayListBuilder* aBuilder, nsIFrame* aFrame, const nsRect& aDirtyRect, const nsDisplayListSet& aSet, const nsRect& aClipRect) { nsDisplayListCollection set; nsresult rv = aFrame->BuildDisplayList(aBuilder, aDirtyRect, set); NS_ENSURE_SUCCESS(rv, rv);
--- a/layout/generic/nsFrameList.cpp +++ b/layout/generic/nsFrameList.cpp @@ -355,34 +355,16 @@ nsFrameList::ContainsFrame(const nsIFram if (frame == aFrame) { return PR_TRUE; } frame = frame->GetNextSibling(); } return PR_FALSE; } -PRBool -nsFrameList::ContainsFrameBefore(const nsIFrame* aFrame, const nsIFrame* aEnd) const -{ - NS_PRECONDITION(aFrame, "null ptr"); - - nsIFrame* frame = mFirstChild; - while (frame) { - if (frame == aEnd) { - return PR_FALSE; - } - if (frame == aFrame) { - return PR_TRUE; - } - frame = frame->GetNextSibling(); - } - return PR_FALSE; -} - PRInt32 nsFrameList::GetLength() const { PRInt32 count = 0; nsIFrame* frame = mFirstChild; while (frame) { count++; frame = frame->GetNextSibling(); @@ -425,38 +407,16 @@ class CompareByContentOrderComparator return aA == aB; } PRBool LessThan(const nsIFrame* aA, const nsIFrame* aB) const { return CompareByContentOrder(aA, aB) < 0; } }; void -nsFrameList::SortByContentOrder() -{ - if (IsEmpty()) - return; - - nsAutoTArray<nsIFrame*, 8> array; - nsIFrame* f; - for (f = mFirstChild; f; f = f->GetNextSibling()) { - array.AppendElement(f); - } - array.Sort(CompareByContentOrderComparator()); - f = mFirstChild = array.ElementAt(0); - for (PRUint32 i = 1; i < array.Length(); ++i) { - nsIFrame* ff = array.ElementAt(i); - f->SetNextSibling(ff); - f = ff; - } - f->SetNextSibling(nsnull); - mLastChild = f; -} - -void nsFrameList::ApplySetParent(nsIFrame* aParent) const { NS_ASSERTION(aParent, "null ptr"); for (nsIFrame* f = FirstChild(); f; f = f->GetNextSibling()) { f->SetParent(aParent); } }
--- a/layout/generic/nsFrameList.h +++ b/layout/generic/nsFrameList.h @@ -210,24 +210,16 @@ public: /** * Split this frame list such that all the frames coming after the link * pointed to by aLink end up in the returned list, while the frames before * that link stay in this list. After this call, aLink is at end. */ nsFrameList ExtractTail(FrameLinkEnumerator& aLink); - /** - * Sort the frames according to content order so that the first - * frame in the list is the first in content order. Frames for - * the same content will be ordered so that a prev in flow - * comes before its next in flow. - */ - void SortByContentOrder(); - nsIFrame* FirstChild() const { return mFirstChild; } nsIFrame* LastChild() const { return mLastChild; } @@ -238,17 +230,16 @@ public: return nsnull == mFirstChild; } PRBool NotEmpty() const { return nsnull != mFirstChild; } PRBool ContainsFrame(const nsIFrame* aFrame) const; - PRBool ContainsFrameBefore(const nsIFrame* aFrame, const nsIFrame* aEnd) const; PRInt32 GetLength() const; /** * If this frame list has only one frame, return that frame. * Otherwise, return null. */ nsIFrame* OnlyChild() const {
--- a/layout/generic/nsFrameSetFrame.cpp +++ b/layout/generic/nsFrameSetFrame.cpp @@ -88,26 +88,16 @@ static NS_DEFINE_CID(kLookAndFeelCID, NS /******************************************************************************* * nsFramesetDrag ******************************************************************************/ nsFramesetDrag::nsFramesetDrag() { UnSet(); } -nsFramesetDrag::nsFramesetDrag(PRBool aVertical, - PRInt32 aIndex, - PRInt32 aChange, - nsHTMLFramesetFrame* aSource) -{ - mVertical = aVertical; - mIndex = aIndex; - mChange = aChange; - mSource = aSource; -} void nsFramesetDrag::Reset(PRBool aVertical, PRInt32 aIndex, PRInt32 aChange, nsHTMLFramesetFrame* aSource) { mVertical = aVertical; mIndex = aIndex; mChange = aChange;
--- a/layout/generic/nsFrameSetFrame.h +++ b/layout/generic/nsFrameSetFrame.h @@ -82,20 +82,16 @@ enum nsFrameborder { struct nsFramesetDrag { nsHTMLFramesetFrame* mSource; // frameset whose border was dragged to cause the resize PRInt32 mIndex; // index of left col or top row of effected area PRInt32 mChange; // pos for left to right or top to bottom, neg otherwise PRPackedBool mVertical; // vertical if true, otherwise horizontal PRPackedBool mActive; nsFramesetDrag(); - nsFramesetDrag(PRBool aVertical, - PRInt32 aIndex, - PRInt32 aChange, - nsHTMLFramesetFrame* aSource); void Reset(PRBool aVertical, PRInt32 aIndex, PRInt32 aChange, nsHTMLFramesetFrame* aSource); void UnSet(); }; /*******************************************************************************
--- a/layout/generic/nsIFrame.h +++ b/layout/generic/nsIFrame.h @@ -883,23 +883,17 @@ public: * Apply the result of GetSkipSides() on this frame to an nsMargin by * setting to zero any sides that are skipped. */ void ApplySkipSides(nsMargin& aMargin) const; /** * Like the frame's rect (see |GetRect|), which is the border rect, * other rectangles of the frame, in app units, relative to the parent. - * - * Note that GetMarginRect is not meaningful for blocks (anything with - * 'display:block', whether block frame or not) because of both the - * collapsing and 'auto' issues with GetUsedMargin (on which it - * depends). */ - nsRect GetMarginRect() const; nsRect GetPaddingRect() const; nsRect GetContentRect() const; /** * Get the position of the frame's baseline, relative to the top of * the frame (its top border edge). Only valid when Reflow is not * needed and when the frame returned nsHTMLReflowMetrics:: * ASK_FOR_BASELINE as ascent in its reflow metrics. @@ -1028,25 +1022,16 @@ public: */ nsresult OverflowClip(nsDisplayListBuilder* aBuilder, const nsDisplayListSet& aFromSet, const nsDisplayListSet& aToSet, const nsRect& aClipRect, PRBool aClipBorderBackground = PR_FALSE, PRBool aClipAll = PR_FALSE); - /** - * Clips the display items of aFromSet, putting the results in aToSet. - * All items are clipped. - */ - nsresult Clip(nsDisplayListBuilder* aBuilder, - const nsDisplayListSet& aFromSet, - const nsDisplayListSet& aToSet, - const nsRect& aClipRect); - enum { DISPLAY_CHILD_FORCE_PSEUDO_STACKING_CONTEXT = 0x01, DISPLAY_CHILD_FORCE_STACKING_CONTEXT = 0x02, DISPLAY_CHILD_INLINE = 0x04 }; /** * Adjusts aDirtyRect for the child's offset, checks that the dirty rect * actually intersects the child (or its descendants), calls BuildDisplayList
--- a/layout/generic/nsILineIterator.h +++ b/layout/generic/nsILineIterator.h @@ -103,25 +103,16 @@ public: PRUint32* aLineFlags) = 0; /** * Given a frame that's a child of the block, find which line its on * and return that line index. Returns -1 if the frame cannot be found. */ virtual PRInt32 FindLineContaining(nsIFrame* aFrame) = 0; - /** - * Given a Y coordinate relative to the block that provided this - * line iterator, return the line that contains the Y - * coordinate. Returns -1 in aLineNumberResult if the Y coordinate - * is above the first line. Returns N (where N is the number of - * lines) if the Y coordinate is below the last line. - */ - virtual PRInt32 FindLineAt(nscoord aY) = 0; - // Given a line number and an X coordinate, find the frame on the // line that is nearest to the X coordinate. The // aXIsBeforeFirstFrame and aXIsAfterLastFrame flags are updated // appropriately. NS_IMETHOD FindFrameAt(PRInt32 aLineNumber, nscoord aX, nsIFrame** aFrameFound, PRBool* aXIsBeforeFirstFrame,
--- a/layout/generic/nsImageMap.cpp +++ b/layout/generic/nsImageMap.cpp @@ -78,18 +78,16 @@ public: virtual void ParseCoords(const nsAString& aSpec); virtual PRBool IsInside(nscoord x, nscoord y) const = 0; virtual void Draw(nsIFrame* aFrame, nsIRenderingContext& aRC) = 0; virtual void GetRect(nsIFrame* aFrame, nsRect& aRect) = 0; void HasFocus(PRBool aHasFocus); - void GetHREF(nsAString& aHref) const; - nsCOMPtr<nsIContent> mArea; nscoord* mCoords; PRInt32 mNumCoords; PRPackedBool mHasFocus; }; Area::Area(nsIContent* aArea) : mArea(aArea) @@ -102,25 +100,16 @@ Area::Area(nsIContent* aArea) } Area::~Area() { MOZ_COUNT_DTOR(Area); delete [] mCoords; } -void -Area::GetHREF(nsAString& aHref) const -{ - aHref.Truncate(); - if (mArea) { - mArea->GetAttr(kNameSpaceID_None, nsGkAtoms::href, aHref); - } -} - #include <stdlib.h> inline PRBool is_space(char c) { return (c == ' ' || c == '\f' || c == '\n' ||
--- a/layout/generic/nsIntervalSet.cpp +++ b/layout/generic/nsIntervalSet.cpp @@ -92,27 +92,16 @@ void nsIntervalSet::IncludeInterval(coor newInterval->mBegin = NS_MIN(newInterval->mBegin, subsumed->mBegin); newInterval->mEnd = NS_MAX(newInterval->mEnd, subsumed->mEnd); newInterval->mNext = subsumed->mNext; FreeInterval(subsumed); subsumed = newInterval->mNext; } } -PRBool nsIntervalSet::HasPoint(coord_type aPoint) const -{ - Interval *current = mList; - while (current && current->mBegin <= aPoint) { - if (current->mEnd >= aPoint) - return PR_TRUE; - current = current->mNext; - } - return PR_FALSE; -} - PRBool nsIntervalSet::Intersects(coord_type aBegin, coord_type aEnd) const { Interval *current = mList; while (current && current->mBegin <= aEnd) { if (current->mEnd >= aBegin) return PR_TRUE; current = current->mNext; }
--- a/layout/generic/nsIntervalSet.h +++ b/layout/generic/nsIntervalSet.h @@ -71,21 +71,16 @@ public: * Removal of intervals added is not supported because that would * require keeping track of the individual intervals that were * added (nsIntervalMap should do that). It would be simple to * implement ExcludeInterval if anyone wants it, though. */ void IncludeInterval(coord_type aBegin, coord_type aEnd); /* - * Is the point aPoint contained within the set of intervals? - */ - PRBool HasPoint(coord_type aPoint) const; - - /* * Are _some_ points in [aBegin, aEnd] contained within the set * of intervals? */ PRBool Intersects(coord_type aBegin, coord_type aEnd) const; /* * Are _all_ points in [aBegin, aEnd] contained within the set * of intervals?
--- a/layout/generic/nsLineBox.cpp +++ b/layout/generic/nsLineBox.cpp @@ -351,36 +351,16 @@ nsLineBox::DeleteLineList(nsPresContext* line->Destroy(shell); } while (! aLines.empty()); #ifdef DEBUG NS_ASSERTION(numFrames == 0, "number of frames deleted does not match"); #endif } } -nsLineBox* -nsLineBox::FindLineContaining(nsLineList& aLines, nsIFrame* aFrame, - PRInt32* aFrameIndexInLine) -{ - NS_PRECONDITION(aFrameIndexInLine && !aLines.empty() && aFrame, "null ptr"); - for (nsLineList::iterator line = aLines.begin(), - line_end = aLines.end(); - line != line_end; - ++line) - { - PRInt32 ix = line->IndexOf(aFrame); - if (ix >= 0) { - *aFrameIndexInLine = ix; - return line; - } - } - *aFrameIndexInLine = -1; - return nsnull; -} - PRBool nsLineBox::RFindLineContaining(nsIFrame* aFrame, const nsLineList::iterator& aBegin, nsLineList::iterator& aEnd, nsIFrame* aLastFrameBeforeEnd, PRInt32* aFrameIndexInLine) { NS_PRECONDITION(aFrame, "null ptr"); @@ -651,33 +631,16 @@ nsLineIterator::FindLineContaining(nsIFr if (line->Contains(aFrame)) { return lineNumber; } line = mLines[++lineNumber]; } return -1; } -/* virtual */ PRInt32 -nsLineIterator::FindLineAt(nscoord aY) -{ - nsLineBox* line = mLines[0]; - if (!line || (aY < line->mBounds.y)) { - return -1; - } - PRInt32 lineNumber = 0; - while (lineNumber != mNumLines) { - if ((aY >= line->mBounds.y) && (aY < line->mBounds.YMost())) { - return lineNumber; - } - line = mLines[++lineNumber]; - } - return mNumLines; -} - #ifdef IBMBIDI NS_IMETHODIMP nsLineIterator::CheckLineOrder(PRInt32 aLine, PRBool *aIsReordered, nsIFrame **aFirstVisual, nsIFrame **aLastVisual) { NS_ASSERTION (aLine >= 0 && aLine < mNumLines, "aLine out of range!");
--- a/layout/generic/nsLineBox.h +++ b/layout/generic/nsLineBox.h @@ -429,21 +429,16 @@ public: nscoord GetHeight() const { return mBounds.height; } static void DeleteLineList(nsPresContext* aPresContext, nsLineList& aLines, nsIFrame* aDestructRoot); - // search from beginning to end - // XXX Should switch to API below - static nsLineBox* FindLineContaining(nsLineList& aLines, nsIFrame* aFrame, - PRInt32* aFrameIndexInLine); - // search from end to beginning of [aBegin, aEnd) // Returns PR_TRUE if it found the line and PR_FALSE if not. // Moves aEnd as it searches so that aEnd points to the resulting line. // aLastFrameBeforeEnd is the last frame before aEnd (so if aEnd is // the end of the line list, it's just the last frame in the frame // list). static PRBool RFindLineContaining(nsIFrame* aFrame, const nsLineList_iterator& aBegin, @@ -1540,17 +1535,16 @@ public: virtual PRInt32 GetNumLines(); virtual PRBool GetDirection(); NS_IMETHOD GetLine(PRInt32 aLineNumber, nsIFrame** aFirstFrameOnLine, PRInt32* aNumFramesOnLine, nsRect& aLineBounds, PRUint32* aLineFlags); virtual PRInt32 FindLineContaining(nsIFrame* aFrame); - virtual PRInt32 FindLineAt(nscoord aY); NS_IMETHOD FindFrameAt(PRInt32 aLineNumber, nscoord aX, nsIFrame** aFrameFound, PRBool* aXIsBeforeFirstFrame, PRBool* aXIsAfterLastFrame); NS_IMETHOD GetNextSiblingOnLine(nsIFrame*& aFrame, PRInt32 aLineNumber); #ifdef IBMBIDI
--- a/layout/mathml/nsIMathMLFrame.h +++ b/layout/mathml/nsIMathMLFrame.h @@ -79,19 +79,16 @@ public: */ NS_IMETHOD GetBoundingMetrics(nsBoundingMetrics& aBoundingMetrics) = 0; NS_IMETHOD SetBoundingMetrics(const nsBoundingMetrics& aBoundingMetrics) = 0; NS_IMETHOD - GetReference(nsPoint& aReference) = 0; - - NS_IMETHOD SetReference(const nsPoint& aReference) = 0; virtual eMathMLFrameType GetMathMLFrameType() = 0; /* SUPPORT FOR STRETCHY ELEMENTS */ /*====================================================================*/ /* Stretch : @@ -112,40 +109,30 @@ public: * of the frame, on output the size after stretching. */ NS_IMETHOD Stretch(nsIRenderingContext& aRenderingContext, nsStretchDirection aStretchDirection, nsBoundingMetrics& aContainerSize, nsHTMLReflowMetrics& aDesiredStretchSize) = 0; - /* GetEmbellishData/SetEmbellishData : - * Get/Set the mEmbellishData member variable. - */ - + /* Get the mEmbellishData member variable. */ + NS_IMETHOD GetEmbellishData(nsEmbellishData& aEmbellishData) = 0; - NS_IMETHOD - SetEmbellishData(const nsEmbellishData& aEmbellishData) = 0; - /* SUPPORT FOR SCRIPTING ELEMENTS */ /*====================================================================*/ - /* GetPresentationData/SetPresentationData : - * Get/Set the mPresentationData member variable. - */ + /* Get the mPresentationData member variable. */ NS_IMETHOD GetPresentationData(nsPresentationData& aPresentationData) = 0; - NS_IMETHOD - SetPresentationData(const nsPresentationData& aPresentationData) = 0; - /* InheritAutomaticData() / TransmitAutomaticData() : * There are precise rules governing each MathML frame and its children. * Properties such as the scriptlevel or the embellished nature of a frame * depend on those rules. Also, certain properties that we use to emulate * TeX rendering rules are frame-dependent too. These two methods are meant * to be implemented by frame classes that need to assert specific properties * within their subtrees. *
--- a/layout/mathml/nsMathMLFrame.h +++ b/layout/mathml/nsMathMLFrame.h @@ -67,22 +67,16 @@ public: NS_IMETHOD SetBoundingMetrics(const nsBoundingMetrics& aBoundingMetrics) { mBoundingMetrics = aBoundingMetrics; return NS_OK; } NS_IMETHOD - GetReference(nsPoint& aReference) { - aReference = mReference; - return NS_OK; - } - - NS_IMETHOD SetReference(const nsPoint& aReference) { mReference = aReference; return NS_OK; } virtual eMathMLFrameType GetMathMLFrameType(); NS_IMETHOD @@ -94,36 +88,24 @@ public: return NS_OK; } NS_IMETHOD GetEmbellishData(nsEmbellishData& aEmbellishData) { aEmbellishData = mEmbellishData; return NS_OK; } - - NS_IMETHOD - SetEmbellishData(const nsEmbellishData& aEmbellishData) { - mEmbellishData = aEmbellishData; - return NS_OK; - } NS_IMETHOD GetPresentationData(nsPresentationData& aPresentationData) { aPresentationData = mPresentationData; return NS_OK; } NS_IMETHOD - SetPresentationData(const nsPresentationData& aPresentationData) { - mPresentationData = aPresentationData; - return NS_OK; - } - - NS_IMETHOD InheritAutomaticData(nsIFrame* aParent); NS_IMETHOD TransmitAutomaticData() { return NS_OK; }
--- a/layout/style/nsCSSDeclaration.cpp +++ b/layout/style/nsCSSDeclaration.cpp @@ -113,22 +113,16 @@ nsCSSDeclaration::RemoveProperty(nsCSSPr data.ClearProperty(aProperty); mOrder.RemoveElement(aProperty); } CompressFrom(&data); return NS_OK; } -nsresult -nsCSSDeclaration::AppendComment(const nsAString& aComment) -{ - return /* NS_ERROR_NOT_IMPLEMENTED, or not any longer that is */ NS_OK; -} - PRBool nsCSSDeclaration::AppendValueToString(nsCSSProperty aProperty, nsAString& aResult) const { nsCSSCompressedDataBlock *data = GetValueIsImportant(aProperty) ? mImportantData : mData; const void *storage = data->StorageFor(aProperty); return nsCSSDeclaration::AppendStorageToString(aProperty, storage, aResult); }
--- a/layout/style/nsCSSDeclaration.h +++ b/layout/style/nsCSSDeclaration.h @@ -68,17 +68,16 @@ public: /** * |ValueAppended| must be called to maintain this declaration's * |mOrder| whenever a property is parsed into an expanded data block * for this declaration. aProperty must not be a shorthand. */ nsresult ValueAppended(nsCSSProperty aProperty); - nsresult AppendComment(const nsAString& aComment); nsresult RemoveProperty(nsCSSProperty aProperty); nsresult GetValue(nsCSSProperty aProperty, nsAString& aValue) const; PRBool HasImportantData() const { return mImportantData != nsnull; } PRBool GetValueIsImportant(nsCSSProperty aProperty) const; PRBool GetValueIsImportant(const nsAString& aProperty) const;
--- a/layout/style/nsCSSLoader.cpp +++ b/layout/style/nsCSSLoader.cpp @@ -213,19 +213,19 @@ public: // mIsLoading is true from the moment we are placed in the loader's // "loading datas" table (right after the async channel is opened) // to the moment we are removed from said table (due to the load // completing or being cancelled). PRPackedBool mIsLoading : 1; // mIsCancelled is set to true when a sheet load is stopped by - // Stop() or StopLoadingSheet(). SheetLoadData::OnStreamComplete() - // checks this to avoid parsing sheets that have been cancelled and - // such. + // Stop() or StopLoadingSheet() (which was removed in Bug 556446). + // SheetLoadData::OnStreamComplete() checks this to avoid parsing + // sheets that have been cancelled and such. PRPackedBool mIsCancelled : 1; // mMustNotify is true if the load data is being loaded async and // the original function call that started the load has returned. // XXXbz sort our relationship with load/error events! PRPackedBool mMustNotify : 1; // mWasAlternate is true if the sheet was an alternate when the load data was @@ -534,24 +534,16 @@ Loader::SetPreferredSheet(const nsAStrin --mDatasToNotifyOn; LoadSheet(arr[i], eSheetNeedsParser); } } return NS_OK; } -nsresult -Loader::GetPreferredSheet(nsAString& aTitle) -{ - aTitle.Assign(mPreferredSheet); - return NS_OK; -} - - static const char kCharsetSym[] = "@charset \""; static nsresult GetCharsetFromData(const unsigned char* aStyleSheetData, PRUint32 aDataLength, nsACString& aCharset) { aCharset.Truncate(); if (aDataLength <= sizeof(kCharsetSym) - 1) @@ -2336,99 +2328,16 @@ Loader::Stop() mDatasToNotifyOn += arr.Length(); for (i = 0; i < arr.Length(); ++i) { --mDatasToNotifyOn; SheetComplete(arr[i], NS_BINDING_ABORTED); } return NS_OK; } -struct StopLoadingSheetsByURIClosure { - StopLoadingSheetsByURIClosure(nsIURI* aURI, - Loader::LoadDataArray& aArray) : - uri(aURI), array(aArray) - {} - - nsIURI* uri; - Loader::LoadDataArray& array; -}; - -static PLDHashOperator -StopLoadingSheetByURICallback(URIAndPrincipalHashKey* aKey, - SheetLoadData*& aData, - void* aClosure) -{ - NS_PRECONDITION(aData, "Must have a data!"); - NS_PRECONDITION(aClosure, "Must have a loader"); - - StopLoadingSheetsByURIClosure* closure = - static_cast<StopLoadingSheetsByURIClosure*>(aClosure); - - PRBool equal; - if (NS_SUCCEEDED(aData->mURI->Equals(closure->uri, &equal)) && - equal) { - aData->mIsLoading = PR_FALSE; // we will handle the removal right here - aData->mIsCancelled = PR_TRUE; - - closure->array.AppendElement(aData); - return PL_DHASH_REMOVE; - } - - return PL_DHASH_NEXT; -} - -nsresult -Loader::StopLoadingSheet(nsIURI* aURL) -{ - NS_ENSURE_TRUE(aURL, NS_ERROR_NULL_POINTER); - - PRUint32 pendingCount = - mPendingDatas.IsInitialized() ? mPendingDatas.Count() : 0; - PRUint32 loadingCount = - mLoadingDatas.IsInitialized() ? mLoadingDatas.Count() : 0; - LoadDataArray arr(pendingCount + loadingCount + mPostedEvents.Length()); - - StopLoadingSheetsByURIClosure closure(aURL, arr); - if (pendingCount) { - mPendingDatas.Enumerate(StopLoadingSheetByURICallback, &closure); - } - if (loadingCount) { - mLoadingDatas.Enumerate(StopLoadingSheetByURICallback, &closure); - } - - PRUint32 i; - for (i = 0; i < mPostedEvents.Length(); ++i) { - SheetLoadData* curData = mPostedEvents[i]; - PRBool equal; - if (curData->mURI && NS_SUCCEEDED(curData->mURI->Equals(aURL, &equal)) && - equal) { - curData->mIsCancelled = PR_TRUE; - if (arr.AppendElement(curData)) { - // SheetComplete() calls Release(), so give this an extra ref. - NS_ADDREF(curData); - } -#ifdef DEBUG - else { - NS_NOTREACHED("We preallocated this memory... shouldn't really fail, " - "except we never check that preallocation succeeds."); - } -#endif - } - } - mPostedEvents.Clear(); - - mDatasToNotifyOn += arr.Length(); - for (i = 0; i < arr.Length(); ++i) { - --mDatasToNotifyOn; - SheetComplete(arr[i], NS_BINDING_ABORTED); - } - - return NS_OK; -} - PRBool Loader::HasPendingLoads() { return (mLoadingDatas.IsInitialized() && mLoadingDatas.Count() != 0) || (mPendingDatas.IsInitialized() && mPendingDatas.Count() != 0) || mPostedEvents.Length() != 0 || mDatasToNotifyOn != 0;
--- a/layout/style/nsCSSLoader.h +++ b/layout/style/nsCSSLoader.h @@ -149,17 +149,16 @@ public: NS_IMETHOD_(nsrefcnt) Release(); void DropDocumentReference(); // notification that doc is going away void SetCompatibilityMode(nsCompatibility aCompatMode) { mCompatMode = aCompatMode; } nsCompatibility GetCompatibilityMode() { return mCompatMode; } nsresult SetPreferredSheet(const nsAString& aTitle); - nsresult GetPreferredSheet(nsAString& aTitle); // XXXbz sort out what the deal is with events! When should they fire? /** * Load an inline style sheet. If a successful result is returned and * *aCompleted is false, then aObserver is guaranteed to be notified * asynchronously once the sheet is marked complete. If an error is * returned, or if *aCompleted is true, aObserver will not be notified. In @@ -310,20 +309,20 @@ public: /** * Stop loading all sheets. All nsICSSLoaderObservers involved will be * notified with NS_BINDING_ABORTED as the status, possibly synchronously. */ nsresult Stop(void); /** - * Stop loading one sheet. The nsICSSLoaderObserver involved will be - * notified with NS_BINDING_ABORTED as the status, possibly synchronously. + * nsresult Loader::StopLoadingSheet(nsIURI* aURL), which notifies the + * nsICSSLoaderObserver with NS_BINDING_ABORTED, was removed in Bug 556446. + * It can be found in revision 2c44a32052ad. */ - nsresult StopLoadingSheet(nsIURI* aURL); /** * Whether the loader is enabled or not. * When disabled, processing of new styles is disabled and an attempt * to do so will fail with a return code of * NS_ERROR_NOT_AVAILABLE. Note that this DOES NOT disable * currently loading styles or already processed styles. */
--- a/layout/style/nsCSSPseudoClasses.cpp +++ b/layout/style/nsCSSPseudoClasses.cpp @@ -62,22 +62,16 @@ static const nsStaticAtom CSSPseudoClass }; void nsCSSPseudoClasses::AddRefAtoms() { NS_RegisterStaticAtoms(CSSPseudoClasses_info, NS_ARRAY_LENGTH(CSSPseudoClasses_info)); } -PRBool nsCSSPseudoClasses::IsPseudoClass(nsIAtom *aAtom) -{ - return nsAtomListUtils::IsMember(aAtom,CSSPseudoClasses_info, - NS_ARRAY_LENGTH(CSSPseudoClasses_info)); -} - PRBool nsCSSPseudoClasses::HasStringArg(nsIAtom* aAtom) { return aAtom == nsCSSPseudoClasses::lang || aAtom == nsCSSPseudoClasses::mozEmptyExceptChildrenWithLocalname || aAtom == nsCSSPseudoClasses::mozSystemMetric || aAtom == nsCSSPseudoClasses::mozLocaleDir; }
--- a/layout/style/nsCSSPseudoClasses.h +++ b/layout/style/nsCSSPseudoClasses.h @@ -47,17 +47,16 @@ // require an atom from this atom list. class nsICSSPseudoClass : public nsIAtom {}; class nsCSSPseudoClasses { public: static void AddRefAtoms(); - static PRBool IsPseudoClass(nsIAtom *aAtom); static PRBool HasStringArg(nsIAtom* aAtom); static PRBool HasNthPairArg(nsIAtom* aAtom); #define CSS_PSEUDO_CLASS(_name, _value) static nsICSSPseudoClass* _name; #include "nsCSSPseudoClassList.h" #undef CSS_PSEUDO_CLASS enum Type {
--- a/layout/style/nsCSSStruct.cpp +++ b/layout/style/nsCSSStruct.cpp @@ -201,24 +201,16 @@ nsCSSCornerSizes::nsCSSCornerSizes(const } nsCSSCornerSizes::~nsCSSCornerSizes() { MOZ_COUNT_DTOR(nsCSSCornerSizes); } void -nsCSSCornerSizes::SetAllCornersTo(const nsCSSValue& aValue) -{ - NS_FOR_CSS_FULL_CORNERS(corner) { - this->GetFullCorner(corner).SetBothValuesTo(aValue); - } -} - -void nsCSSCornerSizes::Reset() { NS_FOR_CSS_FULL_CORNERS(corner) { this->GetFullCorner(corner).Reset(); } } #if NS_CORNER_TOP_LEFT != 0 || NS_CORNER_TOP_RIGHT != 1 || \
--- a/layout/style/nsCSSStruct.h +++ b/layout/style/nsCSSStruct.h @@ -201,17 +201,16 @@ struct nsCSSCornerSizes { PRBool HasValue() const { NS_FOR_CSS_FULL_CORNERS(corner) { if (this->GetFullCorner(corner).HasValue()) return PR_TRUE; } return PR_FALSE; } - void SetAllCornersTo(const nsCSSValue& aValue); void Reset(); nsCSSValuePair mTopLeft; nsCSSValuePair mTopRight; nsCSSValuePair mBottomRight; nsCSSValuePair mBottomLeft; protected:
--- a/layout/style/nsCSSValue.cpp +++ b/layout/style/nsCSSValue.cpp @@ -409,22 +409,16 @@ void nsCSSValue::SetDummyValue() } void nsCSSValue::SetDummyInheritValue() { Reset(); mUnit = eCSSUnit_DummyInherit; } -void nsCSSValue::SetRectIsAutoValue() -{ - Reset(); - mUnit = eCSSUnit_RectIsAuto; -} - void nsCSSValue::StartImageLoad(nsIDocument* aDocument) const { NS_PRECONDITION(eCSSUnit_URL == mUnit, "Not a URL value!"); nsCSSValue::Image* image = new nsCSSValue::Image(mValue.mURL->mURI, mValue.mURL->mString, mValue.mURL->mReferrer, mValue.mURL->mOriginPrincipal,
--- a/layout/style/nsCSSValue.h +++ b/layout/style/nsCSSValue.h @@ -336,17 +336,16 @@ public: NS_HIDDEN_(void) SetInheritValue(); NS_HIDDEN_(void) SetInitialValue(); NS_HIDDEN_(void) SetNoneValue(); NS_HIDDEN_(void) SetAllValue(); NS_HIDDEN_(void) SetNormalValue(); NS_HIDDEN_(void) SetSystemFontValue(); NS_HIDDEN_(void) SetDummyValue(); NS_HIDDEN_(void) SetDummyInheritValue(); - NS_HIDDEN_(void) SetRectIsAutoValue(); NS_HIDDEN_(void) StartImageLoad(nsIDocument* aDocument) const; // Not really const, but pretending // Initializes as a function value with the specified function id. NS_HIDDEN_(Array*) InitFunction(nsCSSKeyword aFunctionId, PRUint32 aNumArgs); // Checks if this is a function value with the specified function id. NS_HIDDEN_(PRBool) EqualsFunction(nsCSSKeyword aFunctionId) const;
--- a/layout/style/nsHTMLStyleSheet.cpp +++ b/layout/style/nsHTMLStyleSheet.cpp @@ -492,52 +492,16 @@ nsHTMLStyleSheet::Reset(nsIURI* aURL) PL_DHashTableFinish(&mMappedAttrTable); mMappedAttrTable.ops = nsnull; } return NS_OK; } nsresult -nsHTMLStyleSheet::GetLinkColor(nscolor& aColor) -{ - if (!mLinkRule) { - return NS_HTML_STYLE_PROPERTY_NOT_THERE; - } - else { - aColor = mLinkRule->mColor; - return NS_OK; - } -} - -nsresult -nsHTMLStyleSheet::GetActiveLinkColor(nscolor& aColor) -{ - if (!mActiveRule) { - return NS_HTML_STYLE_PROPERTY_NOT_THERE; - } - else { - aColor = mActiveRule->mColor; - return NS_OK; - } -} - -nsresult -nsHTMLStyleSheet::GetVisitedLinkColor(nscolor& aColor) -{ - if (!mVisitedRule) { - return NS_HTML_STYLE_PROPERTY_NOT_THERE; - } - else { - aColor = mVisitedRule->mColor; - return NS_OK; - } -} - -nsresult nsHTMLStyleSheet::SetLinkColor(nscolor aColor) { if (mLinkRule) { if (mLinkRule->mColor == aColor) return NS_OK; NS_RELEASE(mLinkRule); }
--- a/layout/style/nsHTMLStyleSheet.h +++ b/layout/style/nsHTMLStyleSheet.h @@ -88,19 +88,16 @@ public: virtual PRBool HasDocumentStateDependentStyle(StateRuleProcessorData* aData); virtual nsRestyleHint HasAttributeDependentStyle(AttributeRuleProcessorData* aData); NS_IMETHOD MediumFeaturesChanged(nsPresContext* aPresContext, PRBool* aRulesChanged); nsresult Init(nsIURI* aURL, nsIDocument* aDocument); nsresult Reset(nsIURI* aURL); - nsresult GetLinkColor(nscolor& aColor); - nsresult GetActiveLinkColor(nscolor& aColor); - nsresult GetVisitedLinkColor(nscolor& aColor); nsresult SetLinkColor(nscolor aColor); nsresult SetActiveLinkColor(nscolor aColor); nsresult SetVisitedLinkColor(nscolor aColor); // Mapped Attribute management methods already_AddRefed<nsMappedAttributes> UniqueMappedAttributes(nsMappedAttributes* aMapped); void DropMappedAttributes(nsMappedAttributes* aMapped);
--- a/layout/tables/nsCellMap.cpp +++ b/layout/tables/nsCellMap.cpp @@ -907,40 +907,16 @@ PRBool nsTableCellMap::RowHasSpanningCel return cellMap->RowHasSpanningCells(rowIndex, aNumEffCols); } rowIndex -= cellMap->GetRowCount(); cellMap = cellMap->GetNextSibling(); } return PR_FALSE; } -PRBool nsTableCellMap::ColIsSpannedInto(PRInt32 aColIndex) const -{ - PRBool result = PR_FALSE; - - PRInt32 colCount = mCols.Length(); - if ((aColIndex >= 0) && (aColIndex < colCount)) { - result = mCols.ElementAt(aColIndex).mNumCellsSpan != 0; - } - return result; -} - -PRBool nsTableCellMap::ColHasSpanningCells(PRInt32 aColIndex) const -{ - NS_PRECONDITION (aColIndex < GetColCount(), "bad col index arg"); - nsCellMap* cellMap = mFirstMap; - while (cellMap) { - if (cellMap->ColHasSpanningCells(aColIndex)) { - return PR_TRUE; - } - cellMap = cellMap->GetNextSibling(); - } - return PR_FALSE; -} - void nsTableCellMap::ExpandZeroColSpans() { mTableFrame.SetNeedColSpanExpansion(PR_FALSE); // mark the work done mTableFrame.SetHasZeroColSpans(PR_FALSE); // reset the bit, if there is a // zerospan it will be set again. nsCellMap* cellMap = mFirstMap; while (cellMap) { cellMap->ExpandZeroColSpans(*this); @@ -2640,25 +2616,16 @@ void nsCellMap::Dump(PRBool aIsBorderCol } printf("\n"); } printf(" ***** END GROUP CELL MAP DUMP *****\n"); } #endif -PRBool -nsCellMap::IsZeroColSpan(PRInt32 aRowIndex, - PRInt32 aColIndex) const -{ - CellData* data = - mRows.SafeElementAt(aRowIndex, *sEmptyRow).SafeElementAt(aColIndex); - return data && data->IsZeroColSpan(); -} - CellData* nsCellMap::GetDataAt(PRInt32 aMapRowIndex, PRInt32 aColIndex) const { return mRows.SafeElementAt(aMapRowIndex, *sEmptyRow).SafeElementAt(aColIndex); } @@ -2774,32 +2741,16 @@ PRBool nsCellMap::RowHasSpanningCells(PR } } } } } return PR_FALSE; } -PRBool nsCellMap::ColHasSpanningCells(PRInt32 aColIndex) const -{ - for (PRInt32 rowIndex = 0; rowIndex < mContentRowCount; rowIndex++) { - CellData* cd = GetDataAt(rowIndex, aColIndex); - if (cd && (cd->IsOrig())) { // cell originates - CellData* cd2 = GetDataAt(rowIndex, aColIndex +1); - if (cd2 && cd2->IsColSpan()) { // cd2 is spanned by a col - if (cd->GetCellFrame() == GetCellFrame(rowIndex , aColIndex + 1, *cd2, PR_FALSE)) { - return PR_TRUE; - } - } - } - } - return PR_FALSE; -} - void nsCellMap::DestroyCellData(CellData* aData) { if (!aData) { return; } if (mIsBC) { BCCellData* bcData = static_cast<BCCellData*>(aData);
--- a/layout/tables/nsCellMap.h +++ b/layout/tables/nsCellMap.h @@ -222,19 +222,16 @@ protected: */ void RebuildConsideringRows(nsCellMap* aCellMap, PRInt32 aStartRowIndex, nsTArray<nsTableRowFrame*>* aRowsToInsert, PRInt32 aNumRowsToRemove, nsRect& aDamageArea); public: - PRBool ColIsSpannedInto(PRInt32 aColIndex) const; - PRBool ColHasSpanningCells(PRInt32 aColIndex) const; - void ExpandZeroColSpans(); void SetNotTopStart(PRUint8 aSide, nsCellMap& aCellMap, PRUint32 aYPos, PRUint32 aXPos, PRBool aIsLowerRight = PR_FALSE); @@ -436,18 +433,16 @@ public: PRInt32* aColSpan = nsnull) const; PRBool RowIsSpannedInto(PRInt32 aRowIndex, PRInt32 aNumEffCols) const; PRBool RowHasSpanningCells(PRInt32 aRowIndex, PRInt32 aNumEffCols) const; - PRBool ColHasSpanningCells(PRInt32 aColIndex) const; - void ExpandZeroColSpans(nsTableCellMap& aMap); /** indicate whether the row has more than one cell that either originates * or is spanned from the rows above */ PRBool HasMoreThanOneCell(PRInt32 aRowIndex) const; /* Get the rowspan for a cell starting at aRowIndex and aColIndex. @@ -573,19 +568,16 @@ protected: PRInt32 GetRowSpanForNewCell(nsTableCellFrame* aCellFrameToAdd, PRInt32 aRowIndex, PRBool& aIsZeroRowSpan) const; PRInt32 GetColSpanForNewCell(nsTableCellFrame& aCellFrameToAdd, PRBool& aIsZeroColSpan) const; - PRBool IsZeroColSpan(PRInt32 aRowIndex, - PRInt32 aColIndex) const; - // Destroy a CellData struct. This will handle the case of aData // actually being a BCCellData properly. void DestroyCellData(CellData* aData); // Allocate a CellData struct. This will handle needing to create a // BCCellData properly. // @param aOrigCell the originating cell to pass to the celldata constructor CellData* AllocCellData(nsTableCellFrame* aOrigCell);
--- a/layout/tables/nsTableFrame.cpp +++ b/layout/tables/nsTableFrame.cpp @@ -489,28 +489,16 @@ PRInt32 nsTableFrame::GetEffectiveColSpa } PRBool nsTableFrame::HasMoreThanOneCell(PRInt32 aRowIndex) const { nsTableCellMap* tableCellMap = GetCellMap(); if (!tableCellMap) ABORT1(1); return tableCellMap->HasMoreThanOneCell(aRowIndex); } -PRInt32 nsTableFrame::GetEffectiveCOLSAttribute() -{ - NS_PRECONDITION (GetCellMap(), "null cellMap."); - - PRInt32 result; - result = GetStyleTable()->mCols; - PRInt32 numCols = GetColCount(); - if (result > numCols) - result = numCols; - return result; -} - void nsTableFrame::AdjustRowIndices(PRInt32 aRowIndex, PRInt32 aAdjustment) { // Iterate over the row groups and adjust the row indices of all rows // whose index is >= aRowIndex. RowGroupArray rowGroups; OrderRowGroups(rowGroups); @@ -3246,27 +3234,16 @@ nsTableFrame::DistributeHeightToRows(con rgFrame->InvalidateOverflowRect(); } yOriginRG = yEndRG; } ResizeCells(*this); } -PRBool -nsTableFrame::IsPctHeight(nsStyleContext* aStyleContext) -{ - PRBool result = PR_FALSE; - if (aStyleContext) { - result = (eStyleUnit_Percent == - aStyleContext->GetStylePosition()->mHeight.GetUnit()); - } - return result; -} - PRInt32 nsTableFrame::GetColumnWidth(PRInt32 aColIndex) { nsTableFrame * firstInFlow = (nsTableFrame *)GetFirstInFlow(); NS_ASSERTION(firstInFlow, "illegal state -- no first in flow"); PRInt32 result = 0; if (this == firstInFlow) { nsTableColFrame* colFrame = GetColFrame(aColIndex); if (colFrame) { @@ -3275,35 +3252,16 @@ PRInt32 nsTableFrame::GetColumnWidth(PRI } else { result = firstInFlow->GetColumnWidth(aColIndex); } return result; } -void nsTableFrame::SetColumnWidth(PRInt32 aColIndex, nscoord aWidth) -{ - nsTableFrame* firstInFlow = (nsTableFrame *)GetFirstInFlow(); - NS_ASSERTION(firstInFlow, "illegal state -- no first in flow"); - - if (this == firstInFlow) { - nsTableColFrame* colFrame = GetColFrame(aColIndex); - if (colFrame) { - colFrame->SetFinalWidth(aWidth); - } - else { - NS_ASSERTION(PR_FALSE, "null col frame"); - } - } - else { - firstInFlow->SetColumnWidth(aColIndex, aWidth); - } -} - // XXX: could cache this. But be sure to check style changes if you do! nscoord nsTableFrame::GetCellSpacingX() { if (IsBorderCollapse()) return 0; return GetStyleTableBorder()->mBorderSpacingX; } @@ -3359,31 +3317,16 @@ nsTableFrame::GetTableFrame(nsIFrame* aS } } } NS_NOTREACHED("unable to find table parent"); return nsnull; } PRBool -nsTableFrame::IsAutoWidth(PRBool* aIsPctWidth) -{ - const nsStyleCoord& width = GetStylePosition()->mWidth; - - if (aIsPctWidth) { - // XXX The old code also made the return value true for 0%, but that - // seems silly. - *aIsPctWidth = width.GetUnit() == eStyleUnit_Percent && - width.GetPercentValue() > 0.0f; - // Should this handle -moz-available and -moz-fit-content? - } - return width.GetUnit() == eStyleUnit_Auto; -} - -PRBool nsTableFrame::IsAutoHeight() { PRBool isAuto = PR_TRUE; // the default const nsStylePosition* position = GetStylePosition(); switch (position->mHeight.GetUnit()) { case eStyleUnit_Auto: // specified auto width @@ -7194,38 +7137,16 @@ PRBool nsTableFrame::RowIsSpannedInto(PR nsTableCellMap* cellMap = GetCellMap(); NS_PRECONDITION (cellMap, "bad call, cellMap not yet allocated."); if (cellMap) { result = cellMap->RowIsSpannedInto(aRowIndex, aNumEffCols); } return result; } -PRBool nsTableFrame::ColHasSpanningCells(PRInt32 aColIndex) -{ - PRBool result = PR_FALSE; - nsTableCellMap * cellMap = GetCellMap(); - NS_PRECONDITION (cellMap, "bad call, cellMap not yet allocated."); - if (cellMap) { - result = cellMap->ColHasSpanningCells(aColIndex); - } - return result; -} - -PRBool nsTableFrame::ColIsSpannedInto(PRInt32 aColIndex) -{ - PRBool result = PR_FALSE; - nsTableCellMap * cellMap = GetCellMap(); - NS_PRECONDITION (cellMap, "bad call, cellMap not yet allocated."); - if (cellMap) { - result = cellMap->ColIsSpannedInto(aColIndex); - } - return result; -} - /* static */ void nsTableFrame::InvalidateFrame(nsIFrame* aFrame, const nsRect& aOrigRect, const nsRect& aOrigOverflowRect, PRBool aIsFirstReflow) { nsIFrame* parent = aFrame->GetParent();
--- a/layout/tables/nsTableFrame.h +++ b/layout/tables/nsTableFrame.h @@ -235,19 +235,17 @@ public: nsDisplayTableItem* aDisplayItem, DisplayGenericTablePartTraversal aTraversal = GenericTraversal); // Return the closest sibling of aPriorChildFrame (including aPriroChildFrame) // of type aChildType. static nsIFrame* GetFrameAtOrBefore(nsIFrame* aParentFrame, nsIFrame* aPriorChildFrame, nsIAtom* aChildType); - PRBool IsAutoWidth(PRBool* aIsPctWidth = nsnull); PRBool IsAutoHeight(); - static PRBool IsPctHeight(nsStyleContext* aStyleContext); /** @return PR_TRUE if aDisplayType represents a rowgroup of any sort * (header, footer, or body) */ PRBool IsRowGroup(PRInt32 aDisplayType) const; /** Initialize the table frame with a set of children. * @see nsIFrame::SetInitialChildList @@ -376,19 +374,16 @@ public: #ifdef DEBUG /** @see nsIFrame::GetFrameName */ NS_IMETHOD GetFrameName(nsAString& aResult) const; #endif /** return the width of the column at aColIndex */ virtual PRInt32 GetColumnWidth(PRInt32 aColIndex); - /** set the width of the column at aColIndex to aWidth */ - virtual void SetColumnWidth(PRInt32 aColIndex, nscoord aWidth); - /** helper to get the cell spacing X style value */ virtual nscoord GetCellSpacingX(); /** helper to get the cell spacing Y style value */ virtual nscoord GetCellSpacingY(); virtual nscoord GetBaseline() const; /** return the row span of a cell, taking into account row span magic at the bottom @@ -418,21 +413,16 @@ public: virtual PRInt32 GetEffectiveColSpan(const nsTableCellFrame& aCell, nsCellMap* aCellMap = nsnull) const; /** indicate whether the row has more than one cell that either originates * or is spanned from the rows above */ PRBool HasMoreThanOneCell(PRInt32 aRowIndex) const; - /** return the value of the COLS attribute, adjusted for the - * actual number of columns in the table - */ - PRInt32 GetEffectiveCOLSAttribute(); - /** return the column frame associated with aColIndex * returns nsnull if the col frame has not yet been allocated, or if * aColIndex is out of range */ nsTableColFrame* GetColFrame(PRInt32 aColIndex) const; /** Insert a col frame reference into the colframe cache and adapt the cellmap * @param aColFrame - the column frame @@ -651,24 +641,16 @@ public: // effective columns limits the search up to that column PRBool RowIsSpannedInto(PRInt32 aRowIndex, PRInt32 aNumEffCols); // Returns PR_TRUE if there is a cell originating in aRowIndex // which spans into the next row, the number of effective // columns limits the search up to that column PRBool RowHasSpanningCells(PRInt32 aRowIndex, PRInt32 aNumEffCols); - // Returns PR_TRUE if there are any cells to the left of the column at - // aColIndex and spanning into the column at aColIndex - PRBool ColIsSpannedInto(PRInt32 aColIndex); - - // Returns PR_TRUE if there is a cell originating in aColIndex - // which spans into the next col - PRBool ColHasSpanningCells(PRInt32 aColIndex); - protected: PRBool HaveReflowedColGroups() const; void SetHaveReflowedColGroups(PRBool aValue); public: PRBool IsBorderCollapse() const;
--- a/layout/tables/nsTableOuterFrame.cpp +++ b/layout/tables/nsTableOuterFrame.cpp @@ -696,81 +696,16 @@ nsTableOuterFrame::SetDesiredSize(PRUint } else { aHeight = NS_MAX(aHeight, captionRect.YMost() + aCaptionMargin.bottom + aInnerMargin.bottom); } } -// XXX This is now unused, but it probably should be used! -void -nsTableOuterFrame::BalanceLeftRightCaption(PRUint8 aCaptionSide, - const nsMargin& aInnerMargin, - const nsMargin& aCaptionMargin, - nscoord& aInnerWidth, - nscoord& aCaptionWidth) -{ - - /* balance the caption and inner table widths to ensure space for percent widths - * Percent widths for captions or the inner table frame can determine how much of the - * available width is used and how the available width is distributed between those frames - * The inner table frame has already a quite sophisticated treatment of percentage widths - * (see BasicTableLayoutStrategy.cpp). So it acts as master in the below computations. - * There are four possible scenarios - * a) None of the frames have a percentage width - then the aInnerWidth and aCaptionwidth will not change - * b) Only the inner frame has a percentage width - this is handled in BasicTableLayoutStrategy.cpp, - * both widths will not change - * c) Only the caption has a percentage width - then the overall width (ow) will be different depending on - * the caption side. For the left side - * ow = aCaptionMargin.left + aCaptionWidth + aCaptionMargin.right + aInnerwidth + aInnerMargin.right - * aCaptionWidth = capPercent * ow - * solving this equation for aCaptionWidth gives: - * aCaptionWidth = capPercent/(1-capPercent) * - * (aCaptionMargin.left + aCaptionMargin.right + aInnerwidth + aInnerMargin.right) - * this result will cause problems for capPercent >= 1, in these cases the algorithm will now bail out - * a similar expression can be found for the right case - * d) both frames have percent widths in this case the caption width will be the inner width multiplied - * by the weight capPercent/innerPercent - */ - - - float capPercent = -1.0; - float innerPercent = -1.0; - const nsStylePosition* position = mCaptionFrame->GetStylePosition(); - if (eStyleUnit_Percent == position->mWidth.GetUnit()) { - capPercent = position->mWidth.GetPercentValue(); - if (capPercent >= 1.0) - return; - } - - position = mInnerTableFrame->GetStylePosition(); - if (eStyleUnit_Percent == position->mWidth.GetUnit()) { - innerPercent = position->mWidth.GetPercentValue(); - if (innerPercent >= 1.0) - return; - } - - if ((capPercent <= 0.0) && (innerPercent <= 0.0)) - return; - - - if (innerPercent <= 0.0) { - if (NS_STYLE_CAPTION_SIDE_LEFT == aCaptionSide) - aCaptionWidth= (nscoord) ((capPercent / (1.0 - capPercent)) * (aCaptionMargin.left + aCaptionMargin.right + - aInnerWidth + aInnerMargin.right)); - else - aCaptionWidth= (nscoord) ((capPercent / (1.0 - capPercent)) * (aCaptionMargin.left + aCaptionMargin.right + - aInnerWidth + aInnerMargin.left)); - } - else { - aCaptionWidth = (nscoord) ((capPercent / innerPercent) * aInnerWidth); - } -} - nsresult nsTableOuterFrame::GetCaptionOrigin(PRUint32 aCaptionSide, const nsSize& aContainBlockSize, const nsSize& aInnerSize, const nsMargin& aInnerMargin, const nsSize& aCaptionSize, nsMargin& aCaptionMargin, nsPoint& aOrigin)
--- a/layout/tables/nsTableOuterFrame.h +++ b/layout/tables/nsTableOuterFrame.h @@ -215,22 +215,16 @@ protected: PRUint8 GetCaptionVerticalAlign(); void SetDesiredSize(PRUint8 aCaptionSide, const nsMargin& aInnerMargin, const nsMargin& aCaptionMargin, nscoord& aWidth, nscoord& aHeight); - void BalanceLeftRightCaption(PRUint8 aCaptionSide, - const nsMargin& aInnerMargin, - const nsMargin& aCaptionMargin, - nscoord& aInnerWidth, - nscoord& aCaptionWidth); - nsresult GetCaptionOrigin(PRUint32 aCaptionSide, const nsSize& aContainBlockSize, const nsSize& aInnerSize, const nsMargin& aInnerMargin, const nsSize& aCaptionSize, nsMargin& aCaptionMargin, nsPoint& aOrigin);
--- a/layout/tables/nsTableRowGroupFrame.cpp +++ b/layout/tables/nsTableRowGroupFrame.cpp @@ -1690,23 +1690,16 @@ nsTableRowGroupFrame::FindLineContaining NS_ENSURE_ARG_POINTER(aFrame); nsTableRowFrame *rowFrame = do_QueryFrame(aFrame); NS_ASSERTION(rowFrame, "RowGroup contains a frame that is not a row"); return rowFrame->GetRowIndex() - GetStartRowIndex(); } -PRInt32 -nsTableRowGroupFrame::FindLineAt(nscoord aY) -{ - NS_NOTREACHED("Not implemented"); - return NS_ERROR_NOT_IMPLEMENTED; -} - #ifdef IBMBIDI NS_IMETHODIMP nsTableRowGroupFrame::CheckLineOrder(PRInt32 aLine, PRBool *aIsReordered, nsIFrame **aFirstVisual, nsIFrame **aLastVisual) { *aIsReordered = PR_FALSE;
--- a/layout/tables/nsTableRowGroupFrame.h +++ b/layout/tables/nsTableRowGroupFrame.h @@ -257,21 +257,16 @@ public: PRUint32* aLineFlags); /** Given a frame that's a child of the rowgroup, find which line its on. * @param aFrame - frame, should be a row * @return row index relative to the row group if this a row * frame. -1 if the frame cannot be found. */ virtual PRInt32 FindLineContaining(nsIFrame* aFrame); - - /** not implemented - * the function is also not called in our tree - */ - virtual PRInt32 FindLineAt(nscoord aY); /** Find the orginating cell frame on a row that is the nearest to the * coordinate X. * @param aLineNumber - the index of the row relative to the row group * @param aX - X coordinate in twips relative to the * origin of the row group * @param aFrameFound - pointer to the cellframe * @param aXIsBeforeFirstFrame - the point is before the first originating
--- a/layout/xul/base/src/grid/nsGrid.cpp +++ b/layout/xul/base/src/grid/nsGrid.cpp @@ -507,30 +507,16 @@ nsGrid::DirtyRows(nsIBox* aRowBox, nsBox if (part) part->DirtyRows(aRowBox, aState); } } mMarkingDirty = PR_FALSE; } -nsGridRow* nsGrid::GetColumns() -{ - RebuildIfNeeded(); - - return mColumns; -} - -nsGridRow* nsGrid::GetRows() -{ - RebuildIfNeeded(); - - return mRows; -} - nsGridRow* nsGrid::GetColumnAt(PRInt32 aIndex, PRBool aIsHorizontal) { return GetRowAt(aIndex, !aIsHorizontal); } nsGridRow* nsGrid::GetRowAt(PRInt32 aIndex, PRBool aIsHorizontal)
--- a/layout/xul/base/src/grid/nsGrid.h +++ b/layout/xul/base/src/grid/nsGrid.h @@ -96,18 +96,16 @@ public: PRInt32 GetExtraColumnCount(PRBool aIsHorizontal = PR_TRUE); PRInt32 GetExtraRowCount(PRBool aIsHorizontal = PR_TRUE); // accessors void SetBox(nsIBox* aBox) { mBox = aBox; } nsIBox* GetBox() { return mBox; } nsIBox* GetRowsBox() { return mRowsBox; } nsIBox* GetColumnsBox() { return mColumnsBox; } - nsGridRow* GetColumns(); - nsGridRow* GetRows(); PRInt32 GetRowCount(PRInt32 aIsHorizontal = PR_TRUE); PRInt32 GetColumnCount(PRInt32 aIsHorizontal = PR_TRUE); static nsIBox* GetScrolledBox(nsIBox* aChild); static nsIBox* GetScrollBox(nsIBox* aChild); void GetFirstAndLastRow(nsBoxLayoutState& aState, PRInt32& aFirstIndex, PRInt32& aLastIndex,
--- a/layout/xul/base/src/grid/nsGridRow.cpp +++ b/layout/xul/base/src/grid/nsGridRow.cpp @@ -76,30 +76,14 @@ nsGridRow::Init(nsIBox* aBox, PRBool aIs mBottomMargin = 0; } nsGridRow::~nsGridRow() { MOZ_COUNT_DTOR(nsGridRow); } -void -nsGridRow::MarkDirty(nsBoxLayoutState& aState) -{ - mPref = -1; - mMin = -1; - mMax = -1; - mFlex = -1; - mTop = -1; - mBottom = -1; - - if (mBox) { - aState.PresShell()->FrameNeedsReflow(mBox, nsIPresShell::eTreeChange, - NS_FRAME_IS_DIRTY); - } -} - PRBool nsGridRow::IsCollapsed(nsBoxLayoutState& aState) { return mBox && mBox->IsCollapsed(aState); }
--- a/layout/xul/base/src/grid/nsGridRow.h +++ b/layout/xul/base/src/grid/nsGridRow.h @@ -55,17 +55,16 @@ class nsBoxLayoutState; */ class nsGridRow { public: nsGridRow(); ~nsGridRow(); void Init(nsIBox* aBox, PRBool aIsBogus); - void MarkDirty(nsBoxLayoutState& aState); // accessors nsIBox* GetBox() { return mBox; } PRBool IsPrefSet() { return (mPref != -1); } PRBool IsMinSet() { return (mMin != -1); } PRBool IsMaxSet() { return (mMax != -1); } PRBool IsFlexSet() { return (mFlex != -1); } PRBool IsOffsetSet() { return (mTop != -1 && mBottom != -1); }
--- a/layout/xul/base/src/nsBox.cpp +++ b/layout/xul/base/src/nsBox.cpp @@ -405,17 +405,17 @@ nsBox::GetMargin(nsMargin& aMargin) void nsBox::SizeNeedsRecalc(nsSize& aSize) { aSize.width = -1; aSize.height = -1; } void -nsBox::CoordNeedsRecalc(PRInt32& aFlex) +nsBox::CoordNeedsRecalc(nscoord& aFlex) { aFlex = -1; } PRBool nsBox::DoesNeedRecalc(const nsSize& aSize) { return (aSize.width == -1 || aSize.height == -1); @@ -914,22 +914,16 @@ nsIBox::AddCSSFlex(nsBoxLayoutState& aSt void nsBox::AddBorderAndPadding(nsSize& aSize) { AddBorderAndPadding(this, aSize); } void -nsBox::AddMargin(nsSize& aSize) -{ - AddMargin(this, aSize); -} - -void nsBox::AddBorderAndPadding(nsIBox* aBox, nsSize& aSize) { nsMargin borderPadding(0,0,0,0); aBox->GetBorderAndPadding(borderPadding); AddMargin(aSize, borderPadding); } void
--- a/layout/xul/base/src/nsBox.h +++ b/layout/xul/base/src/nsBox.h @@ -106,17 +106,16 @@ rollbox. NS_HIDDEN_(nsresult) SyncLayout(nsBoxLayoutState& aBoxLayoutState); PRBool DoesNeedRecalc(const nsSize& aSize); PRBool DoesNeedRecalc(nscoord aCoord); void SizeNeedsRecalc(nsSize& aSize); void CoordNeedsRecalc(nscoord& aCoord); void AddBorderAndPadding(nsSize& aSize); - void AddMargin(nsSize& aSize); static void AddBorderAndPadding(nsIBox* aBox, nsSize& aSize); static void AddMargin(nsIBox* aChild, nsSize& aSize); static void AddMargin(nsSize& aSize, const nsMargin& aMargin); static nsSize BoundsCheckMinMax(const nsSize& aMinSize, const nsSize& aMaxSize); static nsSize BoundsCheck(const nsSize& aMinSize, const nsSize& aPrefSize, const nsSize& aMaxSize); static nscoord BoundsCheck(nscoord aMinSize, nscoord aPrefSize, nscoord aMaxSize);
--- a/layout/xul/base/src/nsBoxFrame.cpp +++ b/layout/xul/base/src/nsBoxFrame.cpp @@ -1911,40 +1911,16 @@ nsBoxFrame::RegUnregAccessKey(PRBool aDo if (aDoReg) rv = esm->RegisterAccessKey(mContent, key); else rv = esm->UnregisterAccessKey(mContent, key); return rv; } -void -nsBoxFrame::FireDOMEventSynch(const nsAString& aDOMEventName, nsIContent *aContent) -{ - // XXX This will be deprecated, because it is not good to fire synchronous DOM events - // from layout. It's better to use nsFrame::FireDOMEvent() which is asynchronous. - nsPresContext *presContext = PresContext(); - nsIContent *content = aContent ? aContent : mContent; - if (content && presContext) { - // Fire a DOM event - nsCOMPtr<nsIDOMEvent> event; - if (NS_SUCCEEDED(nsEventDispatcher::CreateEvent(presContext, nsnull, - NS_LITERAL_STRING("Events"), - getter_AddRefs(event)))) { - event->InitEvent(aDOMEventName, PR_TRUE, PR_TRUE); - - nsCOMPtr<nsIPrivateDOMEvent> privateEvent(do_QueryInterface(event)); - privateEvent->SetTrusted(PR_TRUE); - - nsEventDispatcher::DispatchDOMEvent(content, nsnull, event, - presContext, nsnull); - } - } -} - PRBool nsBoxFrame::SupportsOrdinalsInChildren() { return PR_TRUE; } static nsIFrame* SortedMerge(nsBoxLayoutState& aState, nsIFrame *aLeft, nsIFrame *aRight)
--- a/layout/xul/base/src/nsBoxFrame.h +++ b/layout/xul/base/src/nsBoxFrame.h @@ -200,21 +200,16 @@ public: #ifdef DEBUG_LAYOUT virtual void SetDebugOnChildList(nsBoxLayoutState& aState, nsIBox* aChild, PRBool aDebug); nsresult DisplayDebugInfoFor(nsIBox* aBox, nsPoint& aPoint); #endif static nsresult LayoutChildAt(nsBoxLayoutState& aState, nsIBox* aBox, const nsRect& aRect); - // Fire DOM event. If no aContent argument use frame's mContent. - // XXX This will be deprecated, because it is not good to fire synchronous DOM events - // from layout. It's better to use nsFrame::FireDOMEvent() which is asynchronous. - void FireDOMEventSynch(const nsAString& aDOMEventName, nsIContent *aContent = nsnull); - /** * Utility method to redirect events on descendants to this frame. * Supports 'allowevents' attribute on descendant elements to allow those * elements and their descendants to receive events. */ nsresult WrapListsInRedirector(nsDisplayListBuilder* aBuilder, const nsDisplayListSet& aIn, const nsDisplayListSet& aOut);
--- a/layout/xul/base/src/nsBoxLayout.cpp +++ b/layout/xul/base/src/nsBoxLayout.cpp @@ -52,29 +52,16 @@ #include "nsIFrame.h" #include "nsBoxLayout.h" nsBoxLayout::nsBoxLayout() { } void -nsBoxLayout::GetParentLayout(nsIBox* aBox, nsIBoxLayout** aParent) -{ - nsIBox* parent = aBox->GetParentBox(); - if (parent) - { - parent->GetLayoutManager(aParent); - return; - } - - *aParent = nsnull; -} - -void nsBoxLayout::AddBorderAndPadding(nsIBox* aBox, nsSize& aSize) { nsBox::AddBorderAndPadding(aBox, aSize); } void nsBoxLayout::AddMargin(nsIBox* aBox, nsSize& aSize) {
--- a/layout/xul/base/src/nsBoxLayout.h +++ b/layout/xul/base/src/nsBoxLayout.h @@ -59,17 +59,16 @@ public: nsIBox* aPrevBox, const nsFrameList::Slice& aNewChildren); virtual void ChildrenAppended(nsIBox* aBox, nsBoxLayoutState& aState, const nsFrameList::Slice& aNewChildren); virtual void ChildrenRemoved(nsIBox* aBox, nsBoxLayoutState& aState, nsIBox* aChildList); virtual void ChildrenSet(nsIBox* aBox, nsBoxLayoutState& aState, nsIBox* aChildList); virtual void IntrinsicWidthsDirty(nsIBox* aBox, nsBoxLayoutState& aState); - virtual void GetParentLayout(nsIBox* aBox, nsIBoxLayout** aParent); virtual void AddBorderAndPadding(nsIBox* aBox, nsSize& aSize); virtual void AddMargin(nsIBox* aChild, nsSize& aSize); virtual void AddMargin(nsSize& aSize, const nsMargin& aMargin); static void AddLargestSize(nsSize& aSize, const nsSize& aToAdd); static void AddSmallestSize(nsSize& aSize, const nsSize& aToAdd); };
--- a/layout/xul/base/src/nsListBoxBodyFrame.h +++ b/layout/xul/base/src/nsListBoxBodyFrame.h @@ -104,17 +104,17 @@ public: virtual nsSize GetMinSizeForScrollArea(nsBoxLayoutState& aBoxLayoutState); virtual nsSize GetPrefSize(nsBoxLayoutState& aBoxLayoutState); // size calculation PRInt32 GetRowCount(); PRInt32 GetRowHeightAppUnits() { return mRowHeight; } PRInt32 GetFixedRowSize(); - void SetRowHeight(PRInt32 aRowHeight); + void SetRowHeight(nscoord aRowHeight); nscoord GetYPosition(); nscoord GetAvailableHeight(); nscoord ComputeIntrinsicWidth(nsBoxLayoutState& aBoxLayoutState); // scrolling nsresult InternalPositionChangedCallback(); nsresult InternalPositionChanged(PRBool aUp, PRInt32 aDelta); // Process pending position changed events, then do the position change.
--- a/layout/xul/base/src/nsMenuFrame.h +++ b/layout/xul/base/src/nsMenuFrame.h @@ -118,18 +118,16 @@ public: NS_IMETHOD Init(nsIContent* aContent, nsIFrame* aParent, nsIFrame* aPrevInFlow); #ifdef DEBUG_LAYOUT NS_IMETHOD SetDebug(nsBoxLayoutState& aState, PRBool aDebug); #endif - NS_IMETHOD IsActive(PRBool& aResult) { aResult = PR_TRUE; return NS_OK; } - // The following methods are all overridden so that the menupopup // can be stored in a separate list, so that it doesn't impact reflow of the // actual menu item at all. virtual nsFrameList GetChildList(nsIAtom* aListName) const; NS_IMETHOD SetInitialChildList(nsIAtom* aListName, nsFrameList& aChildList); virtual nsIAtom* GetAdditionalChildListName(PRInt32 aIndex) const; virtual void DestroyFrom(nsIFrame* aDestructRoot);