summaryrefslogtreecommitdiffstats
path: root/layout/svg/svg.css
diff options
context:
space:
mode:
Diffstat (limited to 'layout/svg/svg.css')
-rw-r--r--layout/svg/svg.css84
1 files changed, 84 insertions, 0 deletions
diff --git a/layout/svg/svg.css b/layout/svg/svg.css
new file mode 100644
index 0000000000..d3ef977409
--- /dev/null
+++ b/layout/svg/svg.css
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * 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 url(http://www.w3.org/2000/svg);
+@namespace xml url(http://www.w3.org/XML/1998/namespace);
+
+style, script {
+ display: none;
+}
+
+svg:not(:root), symbol, image, marker, pattern, foreignObject {
+ overflow: hidden;
+}
+
+@media all and (-moz-is-glyph) {
+ :root {
+ fill: context-fill;
+ fill-opacity: context-fill-opacity;
+ stroke: context-stroke;
+ stroke-opacity: context-stroke-opacity;
+ stroke-width: context-value;
+ stroke-dasharray: context-value;
+ stroke-dashoffset: context-value;
+ }
+}
+
+foreignObject {
+ appearance: none ! important;
+ margin: 0 ! important;
+ padding: 0 ! important;
+ border-width: 0 ! important;
+ white-space: normal;
+}
+
+@media all and (-moz-is-resource-document) {
+ foreignObject *|* {
+ appearance: none !important;
+ }
+}
+
+*|*::-moz-svg-foreign-content {
+ display: block !important;
+ /* We need to be an absolute and fixed container */
+ transform: translate(0) !important;
+ text-indent: 0;
+}
+
+/* Set |transform-origin:0 0;| for all SVG elements except outer-<svg>,
+ noting that 'svg' as a child of 'foreignObject' counts as outer-<svg>.
+*/
+*:not(svg),
+*:not(foreignObject) > svg {
+ transform-origin:0 0;
+}
+
+*|*::-moz-svg-text {
+ unicode-bidi: inherit;
+ vector-effect: inherit;
+}
+
+*[xml|space=preserve] {
+ white-space: -moz-pre-space;
+}
+
+*|*::-moz-svg-marker-anon-child {
+ clip-path: inherit;
+ filter: inherit;
+ mask: inherit;
+ opacity: inherit;
+}
+
+/* Make SVG shapes unselectable to avoid triggering AccessibleCaret on tap.
+ <mesh> will be supported in bug 1238882. */
+circle, ellipse, line, mesh, path, polygon, polyline, rect {
+ user-select: none;
+}
+
+a:any-link {
+ /* We don't want SVG link to be underlined */
+ text-decoration: none;
+}