/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ @namespace parsererror url(http://www.mozilla.org/newlayout/xml/parsererror.xml); @namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); /* magic -- some of these rules are important to keep pages from overriding them */ /* Tables */ *|*::-moz-table { display: table; box-sizing: border-box; /* XXX do we really want this? */ } *|*::-moz-inline-table { display: inline-table; box-sizing: border-box; /* XXX do we really want this? */ } *|*::-moz-table-wrapper { /* The inherited properties here need to be safe to have on both the * table and the table wrapper, generally because code ignores them * for the table. */ display: inherit; /* table or inline-table */ -moz-top-layer: inherit; margin: inherit; float: inherit; clear: inherit; position: inherit; top: inherit; right: inherit; bottom: inherit; left: inherit; z-index: inherit; page-break-before: inherit; page-break-after: inherit; page-break-inside: inherit; vertical-align: inherit; /* needed for inline-table */ line-height: inherit; /* needed for vertical-align on inline-table */ /* Bug 722777 */ transform: inherit; transform-origin: inherit; /* Bug 724750 */ backface-visibility: inherit; clip: inherit; /* Other transform-related properties */ /* transform-style: inherit; Bug 1560704 */ rotate: inherit; scale: inherit; translate: inherit; /* When the table wrapper is a Flex/Grid item we need these: */ flex-grow: inherit; flex-shrink: inherit; flex-basis: inherit; align-self: inherit; justify-self: inherit; grid-column-start: inherit; grid-column-end: inherit; grid-row-start: inherit; grid-row-end: inherit; order: inherit; outline: inherit; outline-offset: inherit; column-span: inherit; /* needed if has "column-span:all" */ contain: inherit; /* needed if table has 'contain:layout' or 'paint' */ scroll-margin: inherit; /* Bug 1633192 */ } *|*::-moz-table-row { display: table-row; } /* The ::-moz-table-column pseudo-element is for extra columns at the end of a table. */ *|*::-moz-table-column { display: table-column; /* Make sure anonymous columns don't interfere with hit testing. Basically, * they should pretend as much as possible to not exist (since in the spec * they do not exist). * * Please make sure to not reintroduce * https://bugzilla.mozilla.org/show_bug.cgi?id=1403293 if you change this * bit! */ visibility: hidden; } *|*::-moz-table-column-group { display: table-column-group; /* Make sure anonymous colgroups don't interfere with hit testing. Basically, * they should pretend as much as possible to not exist (since in the spec * they do not exist). * * Please make sure to not reintroduce * https://bugzilla.mozilla.org/show_bug.cgi?id=1403293 if you change this * bit! */ visibility: hidden; } *|*::-moz-table-row-group { display: table-row-group; } *|*::-moz-table-cell { display: table-cell; white-space: inherit; } /* Ruby */ *|*::-moz-ruby { display: ruby; unicode-bidi: isolate; } *|*::-moz-ruby-base { display: ruby-base; unicode-bidi: isolate; } *|*::-moz-ruby-text { display: ruby-text; unicode-bidi: isolate; } *|*::-moz-ruby-base-container { display: ruby-base-container; unicode-bidi: isolate; } *|*::-moz-ruby-text-container { display: ruby-text-container; unicode-bidi: isolate; } /* https://drafts.csswg.org/css-lists-3/#ua-stylesheet */ *|*::marker { text-align: end; text-transform: none; unicode-bidi: isolate; font-variant-numeric: tabular-nums; } /* SVG documents don't always load this file but they do have links. * If you change the link rules, consider carefully whether to make * the same changes to svg.css. */ /* Links */ *|*:any-link { cursor: pointer; } *|*:any-link:-moz-focusring { /* Don't specify the outline-color, we should always use initial value. */ outline: 1px dotted; } /* Inert subtrees */ *|*:-moz-inert { -moz-inert: inert; } /* Miscellaneous */ *|*::-moz-cell-content { display: block; unicode-bidi: inherit; text-overflow: inherit; overflow-clip-box: inherit; } *|*::-moz-block-inside-inline-wrapper { display: block; /* we currently inherit from the inline that is split */ position: inherit; /* static or relative or sticky */ outline: inherit; outline-offset: inherit; clip-path: inherit; filter: inherit; mask: inherit; opacity: inherit; text-decoration: inherit; -moz-box-ordinal-group: inherit; overflow-clip-box: inherit; unicode-bidi: inherit; text-overflow: inherit; /* The properties below here don't apply if our position is static, and we do want them to have an effect if it's not, so it's fine to always inherit them. */ top: inherit; left: inherit; bottom: inherit; right: inherit; z-index: inherit; } *|*::-moz-xul-anonymous-block { display: block; -moz-box-ordinal-group: inherit; text-overflow: inherit; overflow-clip-box: inherit; } *|*::-moz-scrolled-content, *|*::-moz-scrolled-canvas, *|*::-moz-scrolled-page-sequence { /* e.g., text inputs, select boxes */ padding: inherit; /* The display doesn't affect the kind of frame constructed here. This just affects auto-width sizing of the block we create. */ display: block; /* make unicode-bidi inherit, otherwise it has no effect on text inputs and blocks with overflow: scroll; */ unicode-bidi: inherit; text-overflow: inherit; /* Please keep the Multicol/Flex/Grid/Align sections below in sync with ::-moz-fieldset-content/::-moz-button-content in forms.css */ /* Multicol container */ column-count: inherit; column-width: inherit; column-gap: inherit; column-rule: inherit; column-fill: inherit; /* Flex container */ flex-direction: inherit; flex-wrap: inherit; /* -webkit-box container (aliased from -webkit versions to -moz versions) */ -moz-box-orient: inherit; -moz-box-direction: inherit; -moz-box-pack: inherit; -moz-box-align: inherit; -webkit-line-clamp: inherit; /* Grid container */ grid-auto-columns: inherit; grid-auto-rows: inherit; grid-auto-flow: inherit; grid-column-gap: inherit; grid-row-gap: inherit; grid-template-areas: inherit; grid-template-columns: inherit; grid-template-rows: inherit; /* CSS Align */ align-content: inherit; align-items: inherit; justify-content: inherit; justify-items: inherit; /* Do not change these. nsCSSFrameConstructor depends on them to create a good frame tree. */ overflow-clip-box: inherit; } *|*::-moz-viewport, *|*::-moz-viewport-scroll, *|*::-moz-canvas, *|*::-moz-scrolled-canvas { display: block; background-color: inherit; } *|*::-moz-viewport-scroll { overflow: auto; } *|*::-moz-column-set, *|*::-moz-column-content { /* the column boxes inside a column-flowed block */ /* make unicode-bidi inherit, otherwise it has no effect on column boxes */ unicode-bidi: inherit; text-overflow: inherit; /* Both -moz-column-set and -moz-column-content need to be blocks. */ display: block; } *|*::-moz-column-set { /* Inherit from ColumnSetWrapperFrame so that nsColumnSetFrame is aware of them.*/ columns: inherit; column-gap: inherit; column-rule: inherit; column-fill: inherit; } *|*::-moz-column-span-wrapper { /* As a result of the discussion in * https://github.com/w3c/csswg-drafts/issues/1072, most of the styles * currently applied to ::-moz-block-inside-inline-wrapper should not * apply here. */ display: block; column-span: all; } *|*::-moz-anonymous-flex-item, *|*::-moz-anonymous-grid-item { /* Anonymous blocks that wrap contiguous runs of text * inside of a flex or grid container. */ display: block; } *|*::-moz-page-sequence, *|*::-moz-scrolled-page-sequence { /* Collection of pages in print/print preview. Visual styles may only appear * in print preview. */ display: block; background: linear-gradient(#606060, #8a8a8a) fixed; height: 100%; } *|*::-moz-printed-sheet { /* Individual sheet of paper in print/print preview. Visual styles may only * appear in print preview. */ display: block; background: white; box-shadow: 5px 5px 8px #202020; box-decoration-break: clone; /* TODO: Remove margin if viewport is small or something? */ margin: 0.125in 0.25in; } @media (monochrome) and (-moz-print-preview) { *|*::-moz-page { filter: grayscale(1); } } *|*::-moz-pagecontent { display: block; margin: auto; } *|*::-moz-pagebreak { display: block; } /* Printing */ @media print { * { cursor: default !important; } } *|*:fullscreen:not(:root) { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; min-width: 0 !important; max-width: none !important; min-height: 0 !important; max-height: none !important; box-sizing: border-box !important; object-fit: contain; transform: none !important; } xul|*:fullscreen:not(:root, [hidden="true"]) { /* The position: fixed; property above used to force the computed display * value to block. It is no longer the case now, so we manually set it here to * maintain the old behaviour. We should probably not do this, but we don't * fullscreen XUL element that frequently either. */ display: block; } /* Selectors here should match the check in * nsViewportFrame.cpp:ShouldInTopLayerForFullscreen() */ *|*:fullscreen:not(:root, :-moz-browser-frame) { -moz-top-layer: top !important; } *|*::backdrop { -moz-top-layer: top !important; display: block; position: fixed; top: 0; left: 0; right: 0; bottom: 0; } *|*:-moz-full-screen:not(:root)::backdrop { background: black; } /* XML parse error reporting */ parsererror|parsererror { display: block; font-family: sans-serif; font-weight: bold; white-space: pre; margin: 1em; padding: 1em; border-width: thin; border-style: inset; border-color: red; font-size: 14pt; background-color: lightyellow; color: black; } parsererror|sourcetext { display: block; white-space: pre; font-family: -moz-fixed; margin-top: 2em; margin-bottom: 1em; color: red; font-weight: bold; font-size: 12pt; } div:-moz-native-anonymous.moz-accessiblecaret { /* Add transition effect to make caret size changing smoother. */ transition-property: width, height, margin-left; position: absolute; z-index: 2147483647; } div:-moz-native-anonymous.moz-accessiblecaret > :is(#text-overlay, #image) { width: 100%; /* Override this property in moz-custom-content-container to make dummy touch * listener work. */ pointer-events: auto; } div:-moz-native-anonymous.moz-accessiblecaret > #image { background-position: center top; background-size: 100%; background-repeat: no-repeat; background-origin: content-box; } div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("resource://gre-resources/accessiblecaret-normal@1x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > :is(#text-overlay, #image) { margin-left: -39%; } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("resource://gre-resources/accessiblecaret-tilt-left@1x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > :is(#text-overlay, #image) { margin-left: 41%; } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("resource://gre-resources/accessiblecaret-tilt-right@1x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.none { display: none; } div:-moz-native-anonymous.moz-accessiblecaret.hidden { visibility: hidden; } @media (min-resolution: 1.5dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("resource://gre-resources/accessiblecaret-normal@1.5x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("resource://gre-resources/accessiblecaret-tilt-left@1.5x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("resource://gre-resources/accessiblecaret-tilt-right@1.5x.png"); } } @media (min-resolution: 2dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("resource://gre-resources/accessiblecaret-normal@2x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("resource://gre-resources/accessiblecaret-tilt-left@2x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("resource://gre-resources/accessiblecaret-tilt-right@2x.png"); } } @media (min-resolution: 2.25dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("resource://gre-resources/accessiblecaret-normal@2.25x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("resource://gre-resources/accessiblecaret-tilt-left@2.25x.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("resource://gre-resources/accessiblecaret-tilt-right@2.25x.png"); } } %ifdef ANDROID div:-moz-native-anonymous.moz-accessiblecaret > :is(#text-overlay, #image) { /* border: 0.1px solid red; */ /* Uncomment border to see the touch target. */ padding-left: 59%; /* Enlarge the touch area. ((48-22)/2)px / 22px ~= 59% */ padding-right: 59%; /* Enlarge the touch area. */ margin-left: -59%; } div:-moz-native-anonymous.moz-accessiblecaret > #image { padding-bottom: 59%; /* Enlarge the touch area. */ } div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-normal-hdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > :is(#text-overlay, #image) { margin-left: -109%; } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-left-hdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > :is(#text-overlay, #image) { margin-left: -12%; } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-right-hdpi.png"); } @media (min-resolution: 1.5dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-normal-hdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-left-hdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-right-hdpi.png"); } } @media (min-resolution: 2dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-normal-xhdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-left-xhdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-right-xhdpi.png"); } } @media (min-resolution: 2.25dppx) { div:-moz-native-anonymous.moz-accessiblecaret.normal > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-normal-xxhdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.left > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-left-xxhdpi.png"); } div:-moz-native-anonymous.moz-accessiblecaret.right > #image { background-image: url("chrome://geckoview/skin/images/accessiblecaret-tilt-right-xxhdpi.png"); } } %endif /* Custom content container in the CanvasFrame, positioned on top of everything everything else, not reacting to pointer events. */ div:-moz-native-anonymous.moz-custom-content-container { pointer-events: none; -moz-top-layer: top; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }