Bug 123477 - implement HTML button in XBL. r=jkeiser, sr=hyatt. Not turned on yet.

This commit is contained in:
bryner%netscape.com 2002-02-13 10:47:18 +00:00
parent 26f4bf7fc5
commit a911745886
17 changed files with 80 additions and 125 deletions

View File

@ -1443,6 +1443,8 @@ nsCSSFrameConstructor::CreateInputFrame(nsIPresShell *aPresShell,
if (val.EqualsIgnoreCase("submit") ||
val.EqualsIgnoreCase("reset") ||
val.EqualsIgnoreCase("button")) {
if (UseXBLForms())
return NS_OK;
return ConstructButtonControlFrame(aPresShell, aPresContext, aFrame);
}
else if (val.EqualsIgnoreCase("checkbox")) {

View File

@ -92,6 +92,32 @@ input[type="checkbox"] {
-moz-box-sizing: border-box;
}
button {
-moz-binding: url("chrome://forms/content/button.xml#button");
-moz-box-sizing: border-box;
}
input[type="button"],input[type="submit"],input[type="reset"] {
cursor: default;
-moz-box-sizing: border-box;
}
input[type="button"] {
-moz-binding: url("chrome://forms/content/button.xml#inputButton");
}
input[type="submit"] {
-moz-binding: url("chrome://forms/content/button.xml#submitButton");
}
input[type="reset"] {
-moz-binding: url("chrome://forms/content/button.xml#resetButton");
}
input[type="file"] > input[type="button"] {
-moz-binding: url("chrome://forms/content/button.xml#fileButton");
}
/*
* The following rules are copied from forms.css, for widgets that aren't yet
* defined in XBL.
@ -267,68 +293,6 @@ input[type="radio"]:hover:active {
-moz-border-radius: 3px;
}
/* buttons */
button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
border: 2px outset ButtonFace;
background-color: ButtonFace;
color: ButtonText;
padding: 2px 0 2px 0;
font: button;
cursor: default;
white-space: pre;
-moz-box-sizing: border-box;
-moz-user-select: none;
-moz-user-focus: normal;
-moz-binding: none;
}
*|*:button-content {
display: block;
text-align: center;
}
button:active:hover,
input[type="reset"]:active:hover,
input[type="button"]:active:hover,
input[type="submit"]:active:hover {
border-style: inset;
padding: 3px 0 1px 0;
}
button:-moz-focus-inner,
input[type="reset"]:-moz-focus-inner,
input[type="button"]:-moz-focus-inner,
input[type="submit"]:-moz-focus-inner {
padding: 1px 2px 1px 2px;
border: 1px dotted transparent;
}
button:focus:-moz-focus-inner,
input[type="reset"]:focus:-moz-focus-inner,
input[type="button"]:focus:-moz-focus-inner,
input[type="submit"]:focus:-moz-focus-inner {
border-color: ButtonText;
}
button[disabled]:active, button[disabled],
input[type="reset"][disabled]:active,
input[type="reset"][disabled],
input[type="button"][disabled]:active,
input[type="button"][disabled],
input[type="file"][disabled] > input[type="button"],
input[type="file"][disabled] > input[type="button"]:active,
select[disabled] > input[type="button"],
select[disabled] > input[type="button"]:active,
input[type="submit"][disabled]:active,
input[type="submit"][disabled] {
border: 1px outset ButtonShadow;
padding: 3px 1px 3px 1px;
color: GrayText;
}
@media print {
input, textarea, select, button {
-moz-user-focus: none !important;

View File

@ -3,3 +3,8 @@ forms.jar:
content/forms/xbl-forms.css (content/xbl-forms.css)
content/forms/select.xml (content/select.xml)
content/forms/checkbox.xml (content/checkbox.xml)
content/forms/button.xml (content/button.xml)
en-US.jar:
locale/en-US/forms/contents.rdf (locale/en-US/contents.rdf)
locale/en-US/forms/htmlforms.dtd (locale/en-US/htmlforms.dtd)

View File

@ -43,3 +43,5 @@
@import url("chrome://forms/skin/select.css");
@import url("chrome://forms/skin/select-dropdown.css");
@import url("chrome://forms/skin/checkbox.css");
@import url("chrome://forms/skin/button.css");

View File

@ -46,3 +46,4 @@ include $(topsrcdir)/config/rules.mk
libs::
@$(REGCHROME) content forms forms.jar
@$(REGCHROME) locale en-US/forms en-US.jar

View File

@ -92,6 +92,32 @@ input[type="checkbox"] {
-moz-box-sizing: border-box;
}
button {
-moz-binding: url("chrome://forms/content/button.xml#button");
-moz-box-sizing: border-box;
}
input[type="button"],input[type="submit"],input[type="reset"] {
cursor: default;
-moz-box-sizing: border-box;
}
input[type="button"] {
-moz-binding: url("chrome://forms/content/button.xml#inputButton");
}
input[type="submit"] {
-moz-binding: url("chrome://forms/content/button.xml#submitButton");
}
input[type="reset"] {
-moz-binding: url("chrome://forms/content/button.xml#resetButton");
}
input[type="file"] > input[type="button"] {
-moz-binding: url("chrome://forms/content/button.xml#fileButton");
}
/*
* The following rules are copied from forms.css, for widgets that aren't yet
* defined in XBL.
@ -267,68 +293,6 @@ input[type="radio"]:hover:active {
-moz-border-radius: 3px;
}
/* buttons */
button,
input[type="reset"],
input[type="button"],
input[type="submit"] {
border: 2px outset ButtonFace;
background-color: ButtonFace;
color: ButtonText;
padding: 2px 0 2px 0;
font: button;
cursor: default;
white-space: pre;
-moz-box-sizing: border-box;
-moz-user-select: none;
-moz-user-focus: normal;
-moz-binding: none;
}
*|*:button-content {
display: block;
text-align: center;
}
button:active:hover,
input[type="reset"]:active:hover,
input[type="button"]:active:hover,
input[type="submit"]:active:hover {
border-style: inset;
padding: 3px 0 1px 0;
}
button:-moz-focus-inner,
input[type="reset"]:-moz-focus-inner,
input[type="button"]:-moz-focus-inner,
input[type="submit"]:-moz-focus-inner {
padding: 1px 2px 1px 2px;
border: 1px dotted transparent;
}
button:focus:-moz-focus-inner,
input[type="reset"]:focus:-moz-focus-inner,
input[type="button"]:focus:-moz-focus-inner,
input[type="submit"]:focus:-moz-focus-inner {
border-color: ButtonText;
}
button[disabled]:active, button[disabled],
input[type="reset"][disabled]:active,
input[type="reset"][disabled],
input[type="button"][disabled]:active,
input[type="button"][disabled],
input[type="file"][disabled] > input[type="button"],
input[type="file"][disabled] > input[type="button"]:active,
select[disabled] > input[type="button"],
select[disabled] > input[type="button"]:active,
input[type="submit"][disabled]:active,
input[type="submit"][disabled] {
border: 1px outset ButtonShadow;
padding: 3px 1px 3px 1px;
color: GrayText;
}
@media print {
input, textarea, select, button {
-moz-user-focus: none !important;

View File

@ -3,3 +3,8 @@ forms.jar:
content/forms/xbl-forms.css (content/xbl-forms.css)
content/forms/select.xml (content/select.xml)
content/forms/checkbox.xml (content/checkbox.xml)
content/forms/button.xml (content/button.xml)
en-US.jar:
locale/en-US/forms/contents.rdf (locale/en-US/contents.rdf)
locale/en-US/forms/htmlforms.dtd (locale/en-US/htmlforms.dtd)

View File

@ -41,3 +41,4 @@ include <$(DEPTH)\config\rules.mak>
chrome::
$(REGCHROME) content forms forms.jar
$(REGCHROME) locale en-US/forms en-US.jar

View File

@ -43,3 +43,5 @@
@import url("chrome://forms/skin/select.css");
@import url("chrome://forms/skin/select-dropdown.css");
@import url("chrome://forms/skin/checkbox.css");
@import url("chrome://forms/skin/button.css");

View File

@ -1443,6 +1443,8 @@ nsCSSFrameConstructor::CreateInputFrame(nsIPresShell *aPresShell,
if (val.EqualsIgnoreCase("submit") ||
val.EqualsIgnoreCase("reset") ||
val.EqualsIgnoreCase("button")) {
if (UseXBLForms())
return NS_OK;
return ConstructButtonControlFrame(aPresShell, aPresContext, aFrame);
}
else if (val.EqualsIgnoreCase("checkbox")) {

View File

@ -43,3 +43,5 @@
@import url("chrome://forms/skin/select.css");
@import url("chrome://forms/skin/select-dropdown.css");
@import url("chrome://forms/skin/checkbox.css");
@import url("chrome://forms/skin/button.css");

View File

@ -281,3 +281,4 @@ classic.jar:
skin/classic/forms/select.css (forms/select.css)
skin/classic/forms/select-dropdown.css (forms/select-dropdown.css)
skin/classic/forms/checkbox.css (forms/checkbox.css)
skin/classic/forms/button.css (forms/button.css)

View File

@ -43,7 +43,7 @@
@import url("chrome://forms/skin/select.css");
@import url("chrome://forms/skin/select-dropdown.css");
@import url("chrome://forms/skin/checkbox.css");
/*
@import url("chrome://forms/skin/button.css");
/*
@import url("chrome://forms/skin/radio.css");
*/

View File

@ -393,3 +393,4 @@ modern.jar:
skin/modern/forms/select.css (forms/select.css)
skin/modern/forms/select-dropdown.css (forms/select-dropdown.css)
skin/modern/forms/checkbox.css (forms/checkbox.css)
skin/modern/forms/button.css (forms/button.css)

View File

@ -68,6 +68,7 @@ if (verifyDiskSpace(fProgram, srDest))
registerChrome(chromeType, cf, localeName + "help/");
registerChrome(chromeType, cf, localeName + "pippki/");
registerChrome(chromeType, cf, localeName + "pipnss/");
registerChrome(chromeType, cf, localeName + "forms/");
registerChrome(chromeType, pf, localeName + "global-platform/");
registerChrome(chromeType, pf, localeName + "communicator-platform/");

View File

@ -71,6 +71,7 @@ if (verifyDiskSpace(fProgram, srDest))
registerChrome(chromeType, cf, localeName + "net2phone/");
registerChrome(chromeType, cf, localeName + "pipnss/");
registerChrome(chromeType, cf, localeName + "pippki/");
registerChrome(chromeType, cf, localeName + "forms/");
registerChrome(chromeType, pf, localeName + "global-platform/");
registerChrome(chromeType, pf, localeName + "communicator-platform/");

View File

@ -69,6 +69,7 @@ if(verifyDiskSpace(fProgram, srDest))
registerChrome(chromeType, cf, localeName + "help/");
registerChrome(chromeType, cf, localeName + "pippki/");
registerChrome(chromeType, cf, localeName + "pipnss/");
registerChrome(chromeType, cf, localeName + "forms/");
registerChrome(chromeType, pf, localeName + "global-platform/");
registerChrome(chromeType, pf, localeName + "communicator-platform/");