diff --git a/app/assets/javascripts/discourse/initializers/sniff-capabilities.js.es6 b/app/assets/javascripts/discourse/initializers/sniff-capabilities.js.es6 index 7b5c9be093e..2ca464f2b6f 100644 --- a/app/assets/javascripts/discourse/initializers/sniff-capabilities.js.es6 +++ b/app/assets/javascripts/discourse/initializers/sniff-capabilities.js.es6 @@ -6,10 +6,10 @@ **/ export default { name: "sniff-capabilities", - initialize: function() { + initialize: function(container, application) { var $html = $('html'), touch = $html.hasClass('touch') || (Modernizr.prefixed("MaxTouchPoints", navigator) > 1), - caps = Discourse.Capabilities.current(); + caps = Ember.Object.create(); // Store the touch ability in our capabilities object caps.set('touch', touch); @@ -24,5 +24,9 @@ export default { // We consider high res a device with 1280 horizontal pixels. High DPI tablets like // iPads should report as 1024. caps.set('highRes', window.screen.width >= 1280); + + // Inject it + application.register('capabilities:main', caps, { instantiate: false }); + application.inject('view', 'capabilities', 'capabilities:main'); } }; diff --git a/app/assets/javascripts/discourse/lib/capabilities.js b/app/assets/javascripts/discourse/lib/capabilities.js deleted file mode 100644 index a93604f7178..00000000000 --- a/app/assets/javascripts/discourse/lib/capabilities.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - Singleton to store the application's capabilities - - @class Capabilities - @namespace Discourse - @module Discourse -**/ -Discourse.Capabilities = Ember.Object.extend({}); - -Discourse.Capabilities.reopenClass(Discourse.Singleton); diff --git a/app/assets/javascripts/discourse/views/topic-progress.js.es6 b/app/assets/javascripts/discourse/views/topic-progress.js.es6 index 4e912eae832..f69e61df195 100644 --- a/app/assets/javascripts/discourse/views/topic-progress.js.es6 +++ b/app/assets/javascripts/discourse/views/topic-progress.js.es6 @@ -77,8 +77,11 @@ export default Ember.View.extend({ }, _focusWhenOpened: function() { - // Don't focus on mobile - if (Discourse.Mobile.mobileView) { return; } + + // Don't focus on mobile or touch + if (Discourse.Mobile.mobileView || this.capabilities.get('touch')) { + return; + } if (this.get('controller.expanded')) { var self = this;