aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElie Genard <elie@lepermislibre.fr>2019-09-11 17:30:26 +0200
committerElie Genard <elie@lepermislibre.fr>2019-09-11 17:30:26 +0200
commit9cbdfd69699a8e952f8306b621a4cd33ab6ece7d (patch)
tree767d5330cbc3be751e1fb1f2c499263e9254b5fb
parenta7459b78d4c7251d61cca51c3c0da42a847c9638 (diff)
downloadservo-9cbdfd69699a8e952f8306b621a4cd33ab6ece7d.tar.gz
servo-9cbdfd69699a8e952f8306b621a4cd33ab6ece7d.zip
Change control button image when fullscreen is active
-rw-r--r--resources/media-controls.css4
-rw-r--r--resources/media-controls.js14
2 files changed, 14 insertions, 4 deletions
diff --git a/resources/media-controls.css b/resources/media-controls.css
index ac5dec6ecd2..62c39164747 100644
--- a/resources/media-controls.css
+++ b/resources/media-controls.css
@@ -55,3 +55,7 @@ button {
.fullscreen {
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAa1JREFUSA3Vlj1Ow0AQhW1OAFUaKmoqOEAklCIlJQ3nyBFyBahc0IAEEnUUunQWVLiloqEKNzDfmJ2V7Z1JlpKRRrt+82bezq7/yrZtH4qiOMUt2wJelWX5aQXJnYDf4UdWHOyjgFTjlm0Bz53ECAsHF65lzUFkDiffXM5Y+esQTq8CZ0ZEchLzBF5gviVsBwgiz2aYvrwtuiFWmkkjEN7S2h+wpn8Gso/ViLhXBP64+COYnkkUiAdqJLgiHhdcD74TWAnQ79pL/AsniGxki+ReTswQmSuJ2BTvm9klhGPNMUcIur+LMYHYIiiYxcd895oiUy9IbI5n3WlejX+OS/uyDV4bxNzt83IiHorfMortOuRlTLImJCe3EpisXIsz7Syulis53L6ZIhAm8hxs8PigMbeKDwpkcuRpXolAg3evipxE3YVdXGL6qqhVAKwTeZJJzwYr1+I6wrO6rcD1ZTcQ6NXtpjuL7xHRWq5ApQVyRqpJJ+PuRaT2vmiXBOPBZ4icwbmweJ7AIeR1jkjgrOFLTmLSmvy2nCSRX0B+W6755n5ZcXLlGbrHvd+W9x/rQiZUwmH0RgAAAABJRU5ErkJggg==') no-repeat;
}
+
+.fullscreen.fullscreen-active {
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAbtJREFUSA3tlj0vBFEUhnd8hFhrE4mPbSREovIfdFQ6hcJ/EJVColP6GRoqhZbEFqKmET2xDSpWYjxncu915u6ZzWS20DjJ6577no/3zL1mqNWwNE1HwKb4g5rrdcjayHo54oxVbG8QAepl0FNphLVBQ6bflZ2ySiLU6+a+3bY/Hq/qA0EEog4m4ieDmwOzwrNazUOPwgQKpfkVWDAEVuHvQAsUDhjqSLKmeIQXKxKQ2Jv8UPY7eejuHJIsEantJ6B6l/glIXsKvOgq/DICT+Rld6IHH9IbEursz8GM5kv68+RdxiKJLibYYr+sOeffJknyqXlyZbhJzTn/g9yuwf9Tf3QC8SUPM8eoMUuXi/vWPJcsuSuac36H3I7BZ98UeQduQGwbcQEJ03ES+3vQ8y7kakkQkQegrYzAKwXyLuQs96K5yDrrYi6r3KZJ2jEicnS2EdwCX8Dbu3P6PcGzT3brCWuvCGTc/BpOPsVyJ0UC2ZkT3wfa8iJErObZZ4BYEyzFzww3DsKF4tsiBNaAPhaZ3PrGxBo9e0PkQP6ajYELIFa5uVejh3+SNn74z0JEjkClyX1zv9Jnxzf/AaCJ561FockLAAAAAElFTkSuQmCC') no-repeat;
+}
diff --git a/resources/media-controls.js b/resources/media-controls.js
index c55b341bcdc..b8f100c6f05 100644
--- a/resources/media-controls.js
+++ b/resources/media-controls.js
@@ -388,12 +388,18 @@
}
toggleFullscreen() {
- const fullscreenEnabled = document.fullscreenEnabled && document.fullscreenElement;
+ const { fullscreenEnabled, fullscreenElement } = document;
- if (fullscreenEnabled) {
- document.exitFullscreen();
+ const isElementFullscreen = fullscreenElement && fullscreenElement === this.media;
+
+ if (fullscreenEnabled && isElementFullscreen) {
+ document.exitFullscreen().then(() => {
+ this.elements.fullscreenSwitch.classList.remove("fullscreen-active");
+ });
} else {
- this.media.requestFullscreen();
+ this.media.requestFullscreen().then(() => {
+ this.elements.fullscreenSwitch.classList.add("fullscreen-active");
+ });
}
}