summaryrefslogtreecommitdiffstats
path: root/layout/forms/nsHTMLButtonControlFrame.h
diff options
context:
space:
mode:
Diffstat (limited to 'layout/forms/nsHTMLButtonControlFrame.h')
-rw-r--r--layout/forms/nsHTMLButtonControlFrame.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/layout/forms/nsHTMLButtonControlFrame.h b/layout/forms/nsHTMLButtonControlFrame.h
index b4409d66a7..760418f954 100644
--- a/layout/forms/nsHTMLButtonControlFrame.h
+++ b/layout/forms/nsHTMLButtonControlFrame.h
@@ -7,10 +7,9 @@
#ifndef nsHTMLButtonControlFrame_h___
#define nsHTMLButtonControlFrame_h___
-#include "mozilla/Attributes.h"
#include "nsContainerFrame.h"
+#include "nsCSSRenderingBorders.h"
#include "nsIFormControlFrame.h"
-#include "nsButtonFrameRenderer.h"
class gfxContext;
class nsPresContext;
@@ -83,6 +82,14 @@ class nsHTMLButtonControlFrame : public nsContainerFrame,
// Return the ::-moz-button-content anonymous box.
void AppendDirectlyOwnedAnonBoxes(nsTArray<OwnedAnonBox>& aResult) override;
+ mozilla::Maybe<nsCSSBorderRenderer> CreateInnerFocusBorderRenderer(
+ nsDisplayListBuilder* aBuilder, gfxContext* aRenderingContext,
+ const nsRect& aDirtyRect, const nsRect& aRect, bool* aBorderIsEmpty);
+
+ void PaintInnerFocusBorder(nsDisplayListBuilder* aBuilder,
+ gfxContext& aRenderingContext,
+ const nsRect& aDirtyRect, const nsRect& aRect);
+
protected:
nsHTMLButtonControlFrame(ComputedStyle* aStyle, nsPresContext* aPresContext,
nsIFrame::ClassID aID);
@@ -90,7 +97,7 @@ class nsHTMLButtonControlFrame : public nsContainerFrame,
// Indicates whether we should clip our children's painting to our
// border-box (either because of "overflow" or because of legacy reasons
// about how <input>-flavored buttons work).
- bool ShouldClipPaintingToBorderBox();
+ bool ShouldClipPaintingToBorderBox() const;
// Reflows the button's sole child frame, and computes the desired size
// of the button itself from the results.
@@ -104,7 +111,7 @@ class nsHTMLButtonControlFrame : public nsContainerFrame,
mozilla::WritingMode aWM,
BaselineSharingGroup aBaselineGroup) const override;
- nsButtonFrameRenderer mRenderer;
+ RefPtr<mozilla::ComputedStyle> mInnerFocusStyle;
};
#endif