Page MenuHomePhabricator

D11622.diff
No OneTemporary

D11622.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -201,7 +201,7 @@
'rsrc/externals/javelin/lib/Resource.js' => '44959b73',
'rsrc/externals/javelin/lib/Routable.js' => 'b3e7d692',
'rsrc/externals/javelin/lib/Router.js' => '29274e2b',
- 'rsrc/externals/javelin/lib/Scrollbar.js' => '5b2f5a08',
+ 'rsrc/externals/javelin/lib/Scrollbar.js' => 'cf33202d',
'rsrc/externals/javelin/lib/URI.js' => '6eff08aa',
'rsrc/externals/javelin/lib/Vector.js' => '2caa8fb8',
'rsrc/externals/javelin/lib/WebSocket.js' => '3f840822',
@@ -674,7 +674,7 @@
'javelin-resource' => '44959b73',
'javelin-routable' => 'b3e7d692',
'javelin-router' => '29274e2b',
- 'javelin-scrollbar' => '5b2f5a08',
+ 'javelin-scrollbar' => 'cf33202d',
'javelin-stratcom' => '6c53634d',
'javelin-tokenizer' => '7644823e',
'javelin-typeahead' => '70baed2f',
@@ -1179,12 +1179,6 @@
'javelin-vector',
'javelin-dom',
),
- '5b2f5a08' => array(
- 'javelin-install',
- 'javelin-dom',
- 'javelin-stratcom',
- 'javelin-vector',
- ),
'5bc2cb21' => array(
'javelin-behavior',
'javelin-stratcom',
@@ -1737,6 +1731,12 @@
'javelin-stratcom',
'phabricator-phtize',
),
+ 'cf33202d' => array(
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ ),
'd19198c8' => array(
'javelin-install',
'javelin-dom',
diff --git a/webroot/rsrc/externals/javelin/lib/Scrollbar.js b/webroot/rsrc/externals/javelin/lib/Scrollbar.js
--- a/webroot/rsrc/externals/javelin/lib/Scrollbar.js
+++ b/webroot/rsrc/externals/javelin/lib/Scrollbar.js
@@ -131,6 +131,7 @@
_handle: null,
_timeout: null,
+ _drawTimeout: null,
_dragOrigin: null,
_scrollOrigin: null,
@@ -340,6 +341,17 @@
* Show the scrollbar for the next second.
*/
_showBar: function() {
+ // Don't update on every scroll event, because the browser may fire them
+ // faster than it can redraw the scrollbar. Instead, we update 25ms after
+ // a scroll event and ignore events we receive in the meantime.
+ if (!this._drawTimeout) {
+ this._drawTimeout = setTimeout(JX.bind(this, this._drawBar), 25);
+ }
+ },
+
+ _drawBar: function() {
+ this._drawTimeout = null;
+
this._resizeBar();
JX.DOM.alterClass(this._handle, 'jx-scrollbar-visible', true);
@@ -348,7 +360,6 @@
this._timeout = setTimeout(JX.bind(this, this._hideBar), 1000);
},
-
/**
* Hide the scrollbar.
*/

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 9, 7:06 PM (20 h, 43 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6749037
Default Alt Text
D11622.diff (2 KB)

Event Timeline