Give HTMLButtonControlFrames their own frame type. Bug 335419, r+sr=dbaron

This commit is contained in:
bzbarsky%mit.edu 2006-04-25 19:56:45 +00:00
parent 2e99a3e233
commit 2c105676af
4 changed files with 12 additions and 1 deletions

View File

@ -1273,6 +1273,7 @@ GK_ATOM(directionalFrame, "DirectionalFrame")
GK_ATOM(fieldSetFrame, "FieldSetFrame")
GK_ATOM(frameSetFrame, "FrameSetFrame")
GK_ATOM(gfxButtonControlFrame, "gfxButtonControlFrame")
GK_ATOM(HTMLButtonControlFrame, "HTMLButtonControlFrame")
GK_ATOM(HTMLCanvasFrame, "HTMLCanvasFrame")
GK_ATOM(subDocumentFrame, "subDocumentFrame")
GK_ATOM(imageBoxFrame, "ImageBoxFrame")

View File

@ -71,6 +71,7 @@
#include "nsIAccessibilityService.h"
#endif
#include "nsDisplayList.h"
#include "nsLayoutAtoms.h"
nsIFrame*
NS_NewHTMLButtonControlFrame(nsIPresShell* aPresShell, nsStyleContext* aContext)
@ -155,6 +156,12 @@ NS_IMETHODIMP nsHTMLButtonControlFrame::GetAccessible(nsIAccessible** aAccessibl
}
#endif
nsIAtom*
nsHTMLButtonControlFrame::GetType() const
{
return nsLayoutAtoms::HTMLButtonControlFrame;
}
PRBool
nsHTMLButtonControlFrame::IsReset(PRInt32 type)
{

View File

@ -105,9 +105,11 @@ public:
NS_IMETHOD GetAccessible(nsIAccessible** aAccessible);
#endif
virtual nsIAtom* GetType() const;
#ifdef DEBUG
NS_IMETHOD GetFrameName(nsAString& aResult) const {
return MakeFrameName(NS_LITERAL_STRING("ButtonControl"), aResult);
return MakeFrameName(NS_LITERAL_STRING("HTMLButtonControl"), aResult);
}
#endif

View File

@ -6588,6 +6588,7 @@ void DR_State::InitFrameTypeTable()
AddFrameTypeInfo(nsLayoutAtoms::brFrame, "br", "br");
AddFrameTypeInfo(nsLayoutAtoms::bulletFrame, "bullet", "bullet");
AddFrameTypeInfo(nsLayoutAtoms::gfxButtonControlFrame, "button", "gfxButtonControl");
AddFrameTypeInfo(nsLayoutAtoms::HTMLButtonControlFrame, "HTMLbutton", "HTMLButtonControl");
AddFrameTypeInfo(nsLayoutAtoms::HTMLCanvasFrame, "HTMLCanvas","HTMLCanvas");
AddFrameTypeInfo(nsLayoutAtoms::subDocumentFrame, "subdoc", "subDocument");
AddFrameTypeInfo(nsLayoutAtoms::imageFrame, "img", "image");