Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F18750548
D16734.id40298.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Referenced Files
None
Subscribers
None
D16734.id40298.diff
View Options
diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -10,7 +10,7 @@
'conpherence.pkg.css' => 'cea72e09',
'conpherence.pkg.js' => '6249a1cf',
'core.pkg.css' => '46d588e4',
- 'core.pkg.js' => '2d9fc958',
+ 'core.pkg.js' => '87990e62',
'darkconsole.pkg.js' => 'e7393ebb',
'differential.pkg.css' => 'e1d704ce',
'differential.pkg.js' => '634399e9',
@@ -425,7 +425,7 @@
'rsrc/image/texture/table_header_hover.png' => '038ec3b9',
'rsrc/image/texture/table_header_tall.png' => 'd56b434f',
'rsrc/js/application/aphlict/Aphlict.js' => '5359e785',
- 'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => '49e20786',
+ 'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => '40d4343f',
'rsrc/js/application/aphlict/behavior-aphlict-listen.js' => 'fb20ac8d',
'rsrc/js/application/aphlict/behavior-aphlict-status.js' => '5e2634b9',
'rsrc/js/application/aphlict/behavior-desktop-notifications-control.js' => 'edd1ba66',
@@ -530,6 +530,7 @@
'rsrc/js/core/Busy.js' => '59a7976a',
'rsrc/js/core/DragAndDropFileUpload.js' => '58dea2fa',
'rsrc/js/core/DraggableList.js' => '5a13c79f',
+ 'rsrc/js/core/Favicon.js' => '1fe2510c',
'rsrc/js/core/FileUpload.js' => '680ea2c8',
'rsrc/js/core/Hovercard.js' => '1bd28176',
'rsrc/js/core/KeyboardShortcut.js' => '1ae869f2',
@@ -539,7 +540,7 @@
'rsrc/js/core/Prefab.js' => 'cfd23f37',
'rsrc/js/core/ShapedRequest.js' => '7cbe244b',
'rsrc/js/core/TextAreaUtils.js' => '320810c8',
- 'rsrc/js/core/Title.js' => 'df5e11d2',
+ 'rsrc/js/core/Title.js' => '485aaa6c',
'rsrc/js/core/ToolTip.js' => '6323f942',
'rsrc/js/core/behavior-active-nav.js' => 'e379b58e',
'rsrc/js/core/behavior-audio-source.js' => '59b251eb',
@@ -648,7 +649,7 @@
'inline-comment-summary-css' => '51efda3a',
'javelin-aphlict' => '5359e785',
'javelin-behavior' => '61cbc29a',
- 'javelin-behavior-aphlict-dropdown' => '49e20786',
+ 'javelin-behavior-aphlict-dropdown' => '40d4343f',
'javelin-behavior-aphlict-listen' => 'fb20ac8d',
'javelin-behavior-aphlict-status' => '5e2634b9',
'javelin-behavior-aphront-basic-tokenizer' => 'b3a4b884',
@@ -846,6 +847,7 @@
'phabricator-drag-and-drop-file-upload' => '58dea2fa',
'phabricator-draggable-list' => '5a13c79f',
'phabricator-fatal-config-template-css' => '8f18fa41',
+ 'phabricator-favicon' => '1fe2510c',
'phabricator-feed-css' => 'ecd4ec57',
'phabricator-file-upload' => '680ea2c8',
'phabricator-filetree-view-css' => 'fccf9f82',
@@ -867,7 +869,7 @@
'phabricator-source-code-view-css' => 'cbeef983',
'phabricator-standard-page-view' => '79176f5a',
'phabricator-textareautils' => '320810c8',
- 'phabricator-title' => 'df5e11d2',
+ 'phabricator-title' => '485aaa6c',
'phabricator-tooltip' => '6323f942',
'phabricator-ui-example-css' => '528b19de',
'phabricator-uiexample-javelin-view' => 'd4a14807',
@@ -1139,6 +1141,10 @@
'javelin-uri',
'javelin-routable',
),
+ '1fe2510c' => array(
+ 'javelin-install',
+ 'javelin-dom',
+ ),
'21df4ff5' => array(
'javelin-install',
'javelin-workboard-card',
@@ -1230,6 +1236,17 @@
'javelin-dom',
'javelin-reactor-dom',
),
+ '40d4343f' => array(
+ 'javelin-behavior',
+ 'javelin-request',
+ 'javelin-stratcom',
+ 'javelin-vector',
+ 'javelin-dom',
+ 'javelin-uri',
+ 'javelin-behavior-device',
+ 'phabricator-title',
+ 'phabricator-favicon',
+ ),
42126667 => array(
'javelin-behavior',
'javelin-dom',
@@ -1277,6 +1294,9 @@
'phabricator-drag-and-drop-file-upload',
'phabricator-textareautils',
),
+ '485aaa6c' => array(
+ 'javelin-install',
+ ),
'491416b3' => array(
'javelin-behavior',
'javelin-uri',
@@ -1287,16 +1307,6 @@
'javelin-dom',
'javelin-stratcom',
),
- '49e20786' => array(
- 'javelin-behavior',
- 'javelin-request',
- 'javelin-stratcom',
- 'javelin-vector',
- 'javelin-dom',
- 'javelin-uri',
- 'javelin-behavior-device',
- 'phabricator-title',
- ),
'4a021c10' => array(
'javelin-install',
'javelin-util',
@@ -2092,9 +2102,6 @@
'javelin-typeahead-ondemand-source',
'javelin-dom',
),
- 'df5e11d2' => array(
- 'javelin-install',
- ),
'e0ec7f2f' => array(
'javelin-behavior',
'javelin-dom',
diff --git a/src/view/page/PhabricatorBarePageView.php b/src/view/page/PhabricatorBarePageView.php
--- a/src/view/page/PhabricatorBarePageView.php
+++ b/src/view/page/PhabricatorBarePageView.php
@@ -111,11 +111,12 @@
'/rsrc/favicons/apple-touch-icon-152x152.png'),
));
- $apple_tag = phutil_tag(
- 'meta',
+ $favicon_tag = phutil_tag(
+ 'link',
array(
- 'name' => 'apple-mobile-web-app-status-bar-style',
- 'content' => 'black-translucent',
+ 'id' => 'favicon',
+ 'rel' => 'shortcut icon',
+ 'href' => '/favicon.ico', // celerity doesn't work on ico ?
));
$referrer_tag = phutil_tag(
@@ -146,7 +147,7 @@
$icon_tag_76,
$icon_tag_120,
$icon_tag_152,
- $apple_tag,
+ $favicon_tag,
$referrer_tag,
CelerityStaticResourceResponse::renderInlineScript(
$framebust.jsprintf('window.__DEV__=%d;', ($developer ? 1 : 0))),
diff --git a/webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js b/webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js
--- a/webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js
+++ b/webroot/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js
@@ -8,6 +8,7 @@
* javelin-uri
* javelin-behavior-device
* phabricator-title
+ * phabricator-favicon
*/
JX.behavior('aphlict-dropdown', function(config, statics) {
@@ -17,6 +18,7 @@
var dropdown = JX.$(config.dropdownID);
var bubble = JX.$(config.bubbleID);
var icon = JX.DOM.scry(bubble, 'span', 'menu-icon')[0];
+ var favicon = '/favicon.ico';
var count;
if (config.countID) {
@@ -33,6 +35,10 @@
function _updateCount(number) {
if (config.countType) {
JX.Title.setCount(config.countType, number);
+ if ((config.countType == 'messages') && (number)) {
+ favicon = '/rsrc/favicons/red/favicon.ico';
+ }
+ JX.Favicon.setFavicon(favicon);
} else {
return;
}
diff --git a/webroot/rsrc/js/core/Favicon.js b/webroot/rsrc/js/core/Favicon.js
new file mode 100644
--- /dev/null
+++ b/webroot/rsrc/js/core/Favicon.js
@@ -0,0 +1,35 @@
+/**
+ * @provides phabricator-favicon
+ * @requires javelin-install
+ * javelin-dom
+ */
+JX.install('Favicon', {
+ statics: {
+ _favicon: null,
+
+ setFavicon: function(favicon) {
+ var self = JX.Favicon;
+ self._favicon = favicon;
+ self._update();
+ },
+
+ _update: function() {
+ var self = JX.Favicon;
+ var cur_favicon = JX.$('favicon');
+
+ if (self._favicon === null) {
+ self._favicon = cur_favicon.href;
+ }
+
+ var new_favicon = JX.$N(
+ 'link',
+ {href: self._favicon,
+ id: 'favicon',
+ rel: 'shortcut icon',
+ });
+
+ JX.DOM.replace(cur_favicon, new_favicon);
+
+ }
+ }
+});
diff --git a/webroot/rsrc/js/core/Title.js b/webroot/rsrc/js/core/Title.js
--- a/webroot/rsrc/js/core/Title.js
+++ b/webroot/rsrc/js/core/Title.js
@@ -1,7 +1,6 @@
/**
- * @requires javelin-install
* @provides phabricator-title
- * @javelin
+ * @requires javelin-install
*/
/**
@@ -44,6 +43,7 @@
}
document.title = title;
+
}
}
});
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Oct 5, 8:12 AM (22 h, 9 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
9121252
Default Alt Text
D16734.id40298.diff (7 KB)
Attached To
Mode
D16734: JX.Favicon for Conpherence
Attached
Detach File
Event Timeline
Log In to Comment