Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Side by Side Diff: recipe_engine/third_party/requests/docs/_static/konami.js

Issue 2164713003: Vendor requests. (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/recipes-py@master
Patch Set: Fix deps.pyl Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Konami-JS ~
3 * :: Now with support for touch events and multiple instances for
4 * :: those situations that call for multiple easter eggs!
5 * Code: http://konami-js.googlecode.com/
6 * Examples: http://www.snaptortoise.com/konami-js
7 * Copyright (c) 2009 George Mandis (georgemandis.com, snaptortoise.com)
8 * Version: 1.4.2 (9/2/2013)
9 * Licensed under the MIT License (http://opensource.org/licenses/MIT)
10 * Tested in: Safari 4+, Google Chrome 4+, Firefox 3+, IE7+, Mobile Safari 2.2.1 and Dolphin Browser
11 */
12
13 var Konami = function (callback) {
14 var konami = {
15 addEvent: function (obj, type, fn, ref_obj) {
16 if (obj.addEventListener)
17 obj.addEventListener(type, fn, false);
18 else if (obj.attachEvent) {
19 // IE
20 obj["e" + type + fn] = fn;
21 obj[type + fn] = function () {
22 obj["e" + type + fn](window.event, ref_o bj);
23 };
24 obj.attachEvent("on" + type, obj[type + fn]);
25 }
26 },
27 input: "",
28 pattern: "38384040373937396665",
29 load: function (link) {
30 this.addEvent(document, "keydown", function (e, ref_obj) {
31 if (ref_obj) konami = ref_obj; // IE
32 konami.input += e ? e.keyCode : event.keyCode;
33 if (konami.input.length > konami.pattern.length)
34 konami.input = konami.input.substr((kona mi.input.length - konami.pattern.length));
35 if (konami.input == konami.pattern) {
36 konami.code(link);
37 konami.input = "";
38 e.preventDefault();
39 return false;
40 }
41 }, this);
42 this.iphone.load(link);
43 },
44 code: function (link) {
45 window.location = link
46 },
47 iphone: {
48 start_x: 0,
49 start_y: 0,
50 stop_x: 0,
51 stop_y: 0,
52 tapTolerance: 8,
53 capture: false,
54 orig_keys: "",
55 keys: ["UP", "UP", "DOWN", "DOWN", "LEFT", "RIGHT", "LEF T", "RIGHT", "TAP", "TAP"],
56 code: function (link) {
57 konami.code(link);
58 },
59 touchCapture: function(evt) {
60 konami.iphone.start_x = evt.changedTouches[0].pa geX;
61 konami.iphone.start_y = evt.changedTouches[0].pa geY;
62 konami.iphone.capture = true;
63 },
64 load: function (link) {
65 this.orig_keys = this.keys;
66 konami.addEvent(document, "touchmove", function (e) {
67 if (e.touches.length == 1 && konami.ipho ne.capture == true) {
68 var touch = e.touches[0];
69 konami.iphone.stop_x = touch.pag eX;
70 konami.iphone.stop_y = touch.pag eY;
71 konami.iphone.check_direction();
72 }
73 });
74 konami.addEvent(document, "touchend", function ( evt) {
75 konami.touchCapture(evt);
76 konami.iphone.check_direction(link);
77 }, false);
78 konami.addEvent(document, "touchstart", function (evt) {
79 konami.touchCapture(evt);
80 });
81 },
82 check_direction: function (link) {
83 var x_magnitude = Math.abs(this.start_x - this.s top_x);
84 var y_magnitude = Math.abs(this.start_y - this.s top_y);
85 var hasMoved = (x_magnitude > this.tapTolerance || y_magnitude > this.tapTolerance);
86 var result;
87 if (this.capture === true && hasMoved) {
88 this.capture = false;
89 var x = ((this.start_x - this.stop_x) < 0) ? "RIGHT" : "LEFT";
90 var y = ((this.start_y - this.stop_y) < 0) ? "DOWN" : "UP";
91 var result = (x_magnitude > y_magnitude) ? x : y;
92 }
93 else if (this.capture === false && !hasMoved) {
94 result = (this.tap == true) ? "TAP" : re sult;
95 result = "TAP";
96 }
97 if (result) {
98 if (result == this.keys[0]) this.keys = this.keys.slice(1, this.keys.length);
99 else this.keys = this.orig_keys;
100 }
101 if (this.keys.length == 0) {
102 this.keys = this.orig_keys;
103 this.code(link);
104 }
105 }
106 }
107 }
108
109 typeof callback === "string" && konami.load(callback);
110 if (typeof callback === "function") {
111 konami.code = callback;
112 konami.load();
113 }
114
115 return konami;
116 };
OLDNEW
« no previous file with comments | « recipe_engine/third_party/requests/docs/Makefile ('k') | recipe_engine/third_party/requests/docs/_static/requests-sidebar.png » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698