summaryrefslogtreecommitdiff
path: root/js/ui
diff options
context:
space:
mode:
authorJules <jules@asdf.us>2018-04-14 14:10:31 -0400
committerJules <jules@asdf.us>2018-04-14 14:10:31 -0400
commite4c9ba0d01b4e28653d9802328a523e97a2208ab (patch)
treed4c646e64ca623b55203eaab71f7a8e815b92b12 /js/ui
parentcbb7c093e5f5f64d5e8b29da84cf470d6eb95024 (diff)
parent1a3cc59688251520d5e5c08f82ab2aa01c44e1a7 (diff)
Merge branch 'master' of asdf.us:ascii
Diffstat (limited to 'js/ui')
-rw-r--r--js/ui/keys.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/js/ui/keys.js b/js/ui/keys.js
index 77922c7..c157671 100644
--- a/js/ui/keys.js
+++ b/js/ui/keys.js
@@ -204,6 +204,33 @@ var keys = (function(){
}
}
+ function cancelZoom() {
+ var d = document,
+ viewport,
+ content,
+ maxScale = ',maximum-scale=',
+ maxScaleRegex = /,*maximum\-scale\=\d*\.*\d*/;
+
+ // this should be a focusable DOM Element
+ if (!this.addEventListener || !d.querySelector) {
+ return;
+ }
+
+ viewport = d.querySelector('meta[name="viewport"]');
+ content = viewport.content;
+
+ function changeViewport(event) {
+ // http://nerd.vasilis.nl/prevent-ios-from-zooming-onfocus/
+ viewport.content = content + (event.type == 'blur' ? (content.match(maxScaleRegex, '') ? '' : maxScale + 10) : maxScale + 1);
+ }
+
+ // We could use DOMFocusIn here, but it's deprecated.
+ this.addEventListener('focus', changeViewport, true);
+ this.addEventListener('blur', changeViewport, false);
+ }
+
+ cancelZoom.bind(cursor_input)();
+
return keys
})()