about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2020-01-29 09:34:47 +0900
committerGitHub <noreply@github.com>2020-01-29 09:34:47 +0900
commit85f324004e2936fde4d409d9d7f9451d829cb20d (patch)
tree935af68d408f1a985a52d66c5fc194b66770806b
parentaf0c280be6744ec62a5eccd721de61837fa75345 (diff)
parent85079f8b1fa8291593735b9b577e8e0dc22ad3b6 (diff)
downloadrust-85f324004e2936fde4d409d9d7f9451d829cb20d.tar.gz
rust-85f324004e2936fde4d409d9d7f9451d829cb20d.zip
Rollup merge of #68553 - GuillaumeGomez:fix-run-button-scroll-pos, r=kinnison
Fix run button positionning in case of scrolling

Fixes #68337.

r? @kinnison
-rw-r--r--src/librustdoc/html/highlight.rs11
-rw-r--r--src/librustdoc/html/static/rustdoc.css4
2 files changed, 7 insertions, 8 deletions
diff --git a/src/librustdoc/html/highlight.rs b/src/librustdoc/html/highlight.rs
index 5bea1b56141..2a603d9900f 100644
--- a/src/librustdoc/html/highlight.rs
+++ b/src/librustdoc/html/highlight.rs
@@ -22,7 +22,7 @@ use syntax::token::{self, Token};
 pub fn render_with_highlighting(
     src: &str,
     class: Option<&str>,
-    extension: Option<&str>,
+    playground_button: Option<&str>,
     tooltip: Option<(&str, &str)>,
 ) -> String {
     debug!("highlighting: ================\n{}\n==============", src);
@@ -58,10 +58,7 @@ pub fn render_with_highlighting(
         Ok(highlighted_source) => {
             write_header(class, &mut out).unwrap();
             write!(out, "{}", highlighted_source).unwrap();
-            if let Some(extension) = extension {
-                write!(out, "{}", extension).unwrap();
-            }
-            write_footer(&mut out).unwrap();
+            write_footer(&mut out, playground_button).unwrap();
         }
         Err(()) => {
             // If errors are encountered while trying to highlight, just emit
@@ -433,6 +430,6 @@ fn write_header(class: Option<&str>, out: &mut dyn Write) -> io::Result<()> {
     write!(out, "<div class=\"example-wrap\"><pre class=\"rust {}\">\n", class.unwrap_or(""))
 }
 
-fn write_footer(out: &mut dyn Write) -> io::Result<()> {
-    write!(out, "</pre></div>\n")
+fn write_footer(out: &mut dyn Write, playground_button: Option<&str>) -> io::Result<()> {
+    write!(out, "</pre>{}</div>\n", if let Some(button) = playground_button { button } else { "" })
 }
diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css
index a91fdb7a10e..0dfe82c5014 100644
--- a/src/librustdoc/html/static/rustdoc.css
+++ b/src/librustdoc/html/static/rustdoc.css
@@ -136,7 +136,7 @@ summary {
 	outline: none;
 }
 
-code, pre {
+code, pre, a.test-arrow {
 	font-family: "Source Code Pro", monospace;
 }
 .docblock code, .docblock-short code {
@@ -305,6 +305,7 @@ nav.sub {
 .rustdoc:not(.source) .example-wrap {
 	display: inline-flex;
 	margin-bottom: 10px;
+	position: relative;
 }
 
 .example-wrap {
@@ -878,6 +879,7 @@ a.test-arrow {
 	font-size: 130%;
 	top: 5px;
 	right: 5px;
+	z-index: 1;
 }
 a.test-arrow:hover{
 	text-decoration: none;