Page MenuHomePhabricator

D11480.diff
No OneTemporary

D11480.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -7,7 +7,7 @@
*/
return array(
'names' => array(
- 'core.pkg.css' => '0ca60f7b',
+ 'core.pkg.css' => '7a40db47',
'core.pkg.js' => '2d9bfc06',
'darkconsole.pkg.js' => '8ab24e01',
'differential.pkg.css' => '8af45893',
@@ -39,7 +39,7 @@
'rsrc/css/application/base/main-menu-view.css' => '3cf893a9',
'rsrc/css/application/base/notification-menu.css' => '6aa0a74b',
'rsrc/css/application/base/phabricator-application-launch-view.css' => '5d71008f',
- 'rsrc/css/application/base/standard-page-view.css' => '98cc4c75',
+ 'rsrc/css/application/base/standard-page-view.css' => '53882a33',
'rsrc/css/application/chatlog/chatlog.css' => '852140ff',
'rsrc/css/application/config/config-options.css' => '7fedf08b',
'rsrc/css/application/config/config-template.css' => '25d446d6',
@@ -107,7 +107,7 @@
'rsrc/css/core/core.css' => 'd7f6ec35',
'rsrc/css/core/remarkup.css' => '0ee3d256',
'rsrc/css/core/syntax.css' => '56c1ba38',
- 'rsrc/css/core/z-index.css' => '9c4313eb',
+ 'rsrc/css/core/z-index.css' => '07df2e53',
'rsrc/css/diviner/diviner-shared.css' => '38813222',
'rsrc/css/font/font-awesome.css' => '0c10d96b',
'rsrc/css/font/font-source-sans-pro.css' => '91d53463',
@@ -199,7 +199,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' => 'b403b668',
+ 'rsrc/externals/javelin/lib/Scrollbar.js' => 'e8e4c640',
'rsrc/externals/javelin/lib/URI.js' => '6eff08aa',
'rsrc/externals/javelin/lib/Vector.js' => 'cc1bd0b0',
'rsrc/externals/javelin/lib/WebSocket.js' => '3f840822',
@@ -673,7 +673,7 @@
'javelin-resource' => '44959b73',
'javelin-routable' => 'b3e7d692',
'javelin-router' => '29274e2b',
- 'javelin-scrollbar' => 'b403b668',
+ 'javelin-scrollbar' => 'e8e4c640',
'javelin-stratcom' => '8b0ad945',
'javelin-tokenizer' => '7644823e',
'javelin-typeahead' => '70baed2f',
@@ -738,7 +738,7 @@
'phabricator-side-menu-view-css' => '7e8c6341',
'phabricator-slowvote-css' => '266df6a1',
'phabricator-source-code-view-css' => '7d346aa4',
- 'phabricator-standard-page-view' => '98cc4c75',
+ 'phabricator-standard-page-view' => '53882a33',
'phabricator-textareautils' => '5c93c52c',
'phabricator-title' => '5c1c758c',
'phabricator-tooltip' => '1d298e3a',
@@ -754,7 +754,7 @@
'phabricator-uiexample-reactor-select' => 'a155550f',
'phabricator-uiexample-reactor-sendclass' => '1def2711',
'phabricator-uiexample-reactor-sendproperties' => 'b1f0ccee',
- 'phabricator-zindex-css' => '9c4313eb',
+ 'phabricator-zindex-css' => '07df2e53',
'phame-css' => '19ecc703',
'pholio-css' => '95174bdd',
'pholio-edit-css' => '3ad9d1ee',
@@ -1611,12 +1611,6 @@
'b3e7d692' => array(
'javelin-install',
),
- 'b403b668' => array(
- 'javelin-install',
- 'javelin-dom',
- 'javelin-stratcom',
- 'javelin-vector',
- ),
'b42eddc7' => array(
'javelin-install',
'javelin-dom',
@@ -1851,6 +1845,12 @@
'javelin-behavior-device',
'phabricator-keyboard-shortcut',
),
+ 'e8e4c640' => array(
+ 'javelin-install',
+ 'javelin-dom',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ ),
'e9581f08' => array(
'javelin-behavior',
'javelin-stratcom',
diff --git a/webroot/rsrc/css/application/base/standard-page-view.css b/webroot/rsrc/css/application/base/standard-page-view.css
--- a/webroot/rsrc/css/application/base/standard-page-view.css
+++ b/webroot/rsrc/css/application/base/standard-page-view.css
@@ -122,6 +122,16 @@
overflow: hidden;
}
+.phabricator-standard-page {
+ /* If we don't activate JX.Scrollbar because the default scrollbars are
+ satisfactory, make sure the page still has sensible behavior. These
+ settings will be overwritten by .jx-scrollbar-frame if JX.Scrollbar
+ activates. */
+ position: relative;
+ height: 100%;
+ overflow-y: scroll;
+}
+
.jx-scrollbar-frame {
position: relative;
height: 100%;
diff --git a/webroot/rsrc/css/core/z-index.css b/webroot/rsrc/css/core/z-index.css
--- a/webroot/rsrc/css/core/z-index.css
+++ b/webroot/rsrc/css/core/z-index.css
@@ -129,7 +129,7 @@
z-index: 17;
}
-.jx-scrollbar {
+.jx-scrollbar-bar {
z-index: 18;
}
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
@@ -25,6 +25,14 @@
JX.install('Scrollbar', {
construct: function(frame) {
+ // Before doing anything, check if the scrollbar control has a measurable
+ // width. If it doesn't, we're already in an environment with an aesthetic
+ // scrollbar (like Safari on OSX with no mouse connected, or an iPhone)
+ // and we don't need to do anything.
+ if (JX.Scrollbar._getScrollbarControlWidth() === 0) {
+ return;
+ }
+
// Wrap the frame content in a bunch of nodes. The frame itself stays on
// the outside so that any positioning information the node had isn't
// disrupted.

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 22, 1:28 AM (19 h, 18 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6913763
Default Alt Text
D11480.diff (5 KB)

Event Timeline