From d08583e2e6df3833ee33a885948c47318a429e97 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Sat, 22 Nov 2014 19:52:26 -0800 Subject: [PATCH] Exit gallery on fullscreen exit. --- src/General/lib/$.coffee | 6 ++++++ src/Images/Gallery.coffee | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/General/lib/$.coffee b/src/General/lib/$.coffee index 55624bbd7..dc71bff5c 100755 --- a/src/General/lib/$.coffee +++ b/src/General/lib/$.coffee @@ -197,6 +197,12 @@ $.off = (el, events, handler) -> el.removeEventListener event, handler, false return +$.one = (el, events, handler) -> + cb = (e) -> + $.off el, events, cb + handler.call @, e + $.on el, events, cb + $.event = (event, detail, root=d) -> <% if (type === 'userscript') { %> if detail? and typeof cloneInto is 'function' diff --git a/src/Images/Gallery.coffee b/src/Images/Gallery.coffee index 21bf07a28..0090643e2 100644 --- a/src/Images/Gallery.coffee +++ b/src/Images/Gallery.coffee @@ -79,6 +79,8 @@ Gallery = if Header.getTopOf(candidate) + candidate.getBoundingClientRect().height >= 0 image = candidate if Conf['Fullscreen Gallery'] + $.one d, 'fullscreenchange mozfullscreenchange webkitfullscreenchange', -> + $.on d, 'fullscreenchange mozfullscreenchange webkitfullscreenchange', cb.close doc.mozRequestFullScreen?() doc.webkitRequestFullScreen?(Element.ALLOW_KEYBOARD_INPUT) $.addClass doc, 'gallery-open' @@ -265,6 +267,7 @@ Gallery = $.rm Gallery.nodes.el $.rmClass doc, 'gallery-open' if Conf['Fullscreen Gallery'] + $.off d, 'fullscreenchange mozfullscreenchange webkitfullscreenchange', Gallery.cb.close d.mozCancelFullScreen?() d.webkitExitFullscreen?() delete Gallery.nodes