1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-18 12:52:42 +01:00

Remove Konami code easter egg

Summary:
This is cool in theory, but has broken like 5 times and is broken now too. The CSS magic just isn't robust enough to keep up with CSS changes.

Just strip it out for now; if we come up with some more durable replacement we can put that back in its place.

Test Plan: Typed konami code, page didn't break horribly.

Reviewers: chad, btrahan

Reviewed By: btrahan

Subscribers: epriestley

Differential Revision: https://secure.phabricator.com/D12039
This commit is contained in:
epriestley 2015-03-10 18:46:28 -07:00
parent 88b46063b4
commit a1820ecf6e
4 changed files with 13 additions and 122 deletions

View file

@ -44,7 +44,7 @@ return array(
'rsrc/css/application/config/config-welcome.css' => '6abd79be',
'rsrc/css/application/config/setup-issue.css' => '22270af2',
'rsrc/css/application/config/unhandled-exception.css' => '37d4f9a2',
'rsrc/css/application/conpherence/durable-column.css' => '7abcc3f2',
'rsrc/css/application/conpherence/durable-column.css' => '9207426d',
'rsrc/css/application/conpherence/menu.css' => 'c6ac5299',
'rsrc/css/application/conpherence/message-pane.css' => '5930260a',
'rsrc/css/application/conpherence/notification.css' => '04a6e10a',
@ -353,7 +353,7 @@ return array(
'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18',
'rsrc/js/application/config/behavior-reorder-fields.js' => '14a827de',
'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => 'efef202b',
'rsrc/js/application/conpherence/behavior-durable-column.js' => 'aa3b6c22',
'rsrc/js/application/conpherence/behavior-durable-column.js' => '1eef9f26',
'rsrc/js/application/conpherence/behavior-menu.js' => 'e476c952',
'rsrc/js/application/conpherence/behavior-pontificate.js' => '21ba5861',
'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3',
@ -470,7 +470,6 @@ return array(
'rsrc/js/core/behavior-hovercard.js' => 'f36e01af',
'rsrc/js/core/behavior-keyboard-pager.js' => 'a8da01f0',
'rsrc/js/core/behavior-keyboard-shortcuts.js' => 'd75709e6',
'rsrc/js/core/behavior-konami.js' => '5bc2cb21',
'rsrc/js/core/behavior-lightbox-attachments.js' => 'f8ba29d7',
'rsrc/js/core/behavior-line-linker.js' => '1499a8cb',
'rsrc/js/core/behavior-more.js' => 'a80d0378',
@ -515,7 +514,7 @@ return array(
'changeset-view-manager' => '88be0133',
'config-options-css' => '7fedf08b',
'config-welcome-css' => '6abd79be',
'conpherence-durable-column-view' => '7abcc3f2',
'conpherence-durable-column-view' => '9207426d',
'conpherence-menu-css' => 'c6ac5299',
'conpherence-message-pane-css' => '5930260a',
'conpherence-notification-css' => '04a6e10a',
@ -586,7 +585,7 @@ return array(
'javelin-behavior-diffusion-locate-file' => '6d3e1947',
'javelin-behavior-diffusion-pull-lastmodified' => '2b228192',
'javelin-behavior-doorkeeper-tag' => 'e5822781',
'javelin-behavior-durable-column' => 'aa3b6c22',
'javelin-behavior-durable-column' => '1eef9f26',
'javelin-behavior-error-log' => '6882e80a',
'javelin-behavior-fancy-datepicker' => 'c51ae228',
'javelin-behavior-global-drag-and-drop' => '07f199d8',
@ -594,7 +593,6 @@ return array(
'javelin-behavior-high-security-warning' => '8fc1c918',
'javelin-behavior-history-install' => '7ee2b591',
'javelin-behavior-icon-composer' => '8ef9ab58',
'javelin-behavior-konami' => '5bc2cb21',
'javelin-behavior-launch-icon-composer' => '48086888',
'javelin-behavior-lightbox-attachments' => 'f8ba29d7',
'javelin-behavior-line-chart' => '88f0c5b3',
@ -956,6 +954,15 @@ return array(
'javelin-dom',
'javelin-reactor-dom',
),
'1eef9f26' => array(
'javelin-behavior',
'javelin-dom',
'javelin-stratcom',
'javelin-scrollbar',
'javelin-quicksand',
'phabricator-keyboard-shortcut',
'conpherence-thread-manager',
),
'1feea462' => array(
'javelin-install',
'javelin-dom',
@ -1657,15 +1664,6 @@ return array(
'javelin-util',
'phabricator-prefab',
),
'aa3b6c22' => array(
'javelin-behavior',
'javelin-dom',
'javelin-stratcom',
'javelin-scrollbar',
'javelin-quicksand',
'phabricator-keyboard-shortcut',
'conpherence-thread-manager',
),
'b1f0ccee' => array(
'javelin-install',
'javelin-dom',
@ -2128,7 +2126,6 @@ return array(
'phabricator-notification',
'javelin-behavior-aphlict-listen',
'javelin-behavior-phabricator-search-typeahead',
'javelin-behavior-konami',
'javelin-behavior-aphlict-dropdown',
'javelin-behavior-history-install',
'javelin-behavior-phabricator-gesture',

View file

@ -49,7 +49,6 @@ return array(
'phabricator-notification',
'javelin-behavior-aphlict-listen',
'javelin-behavior-phabricator-search-typeahead',
'javelin-behavior-konami',
'javelin-behavior-aphlict-dropdown',
'javelin-behavior-history-install',
'javelin-behavior-phabricator-gesture',

View file

@ -197,7 +197,6 @@ final class PhabricatorStandardPageView extends PhabricatorBarePageView {
Javelin::initBehavior('aphront-form-disable-on-submit');
Javelin::initBehavior('toggle-class', array());
Javelin::initBehavior('konami', array());
Javelin::initBehavior('history-install');
Javelin::initBehavior('phabricator-gesture');

View file

@ -1,104 +0,0 @@
/**
* @provides javelin-behavior-konami
* @requires javelin-behavior
* javelin-stratcom
*/
JX.behavior('konami', function() {
var sequence = [ 38, 38, 40, 40, 37, 39, 37, 39, 66, 65, 13 ];
var seen = [];
JX.Stratcom.listen('keyup', null, function(e) {
if (!sequence) {
return;
}
seen.push(e.getRawEvent().keyCode);
while (seen.length) {
var mismatch = false;
for (var i = 0; i < seen.length; ++i) {
if (seen[i] != sequence[i]) {
mismatch = true;
break;
}
}
if (!mismatch) {
break;
}
seen.shift();
}
if (seen.length == sequence.length) {
sequence = seen = null;
activate();
}
});
var prefixes = { '-webkit-': 1, '-moz-': 1, '-o-': 1, '-ms-': 1, '': 1 };
function generateCSS(selector, props) {
var ret = selector + '{';
for (var key in props) {
ret += key + ':' + props[key] + ';';
}
return ret + '}';
}
function generateAllCSS(selector, props) {
var more_props = {};
for (var key in props) {
for (var prefix in prefixes) {
more_props[prefix + key] = props[key];
}
}
return generateCSS(selector, more_props);
}
function modifyCSS(rule, key, value) {
rule.setProperty(key, value, '');
}
function modifyAllCSS(rule, key, value) {
for (var prefix in prefixes) {
modifyCSS(rule, prefix + key, value);
}
}
var top_rule;
function activate() {
var matrix = document.createElement('style');
matrix.textContent = [
generateAllCSS('html', {
background: '#000'
}),
generateAllCSS('body', {
perspective: '2048px',
background: 'transparent'
}),
generateAllCSS('*', {
'transform-style': 'preserve-3d'
}),
generateAllCSS('body > *', {
})
].join('\n');
document.head.appendChild(matrix);
top_rule = matrix.sheet.cssRules[3].style;
var first_event = null;
document.body.addEventListener('mousemove', function(e) {
if (!first_event) {
first_event = {x: e.screenX, y: e.screenY};
}
var dx = (e.screenX - first_event.x);
var dy = (e.screenY - first_event.y);
var x = -(dx / window.innerWidth) * (Math.PI / 2);
var y = (dy / window.innerHeight) * (Math.PI / 2);
var body_rotate = 'rotateY(' + x + 'rad) rotateX(' + y + 'rad)';
modifyAllCSS(top_rule, 'transform', body_rotate);
}, false);
}
});