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

Side by Side Diff: experimental/webtry/res/js/webtry.js

Issue 286913005: Add polyfill for pointer events, change code to handle both mouse and pointer events equalls. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 years, 7 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
1 /** 1 /**
2 * Common JS that talks XHR back to the server and runs the code and receives 2 * Common JS that talks XHR back to the server and runs the code and receives
3 * the results. 3 * the results.
4 */ 4 */
5 5
6 /** 6 /**
7 * A polyfill for HTML Templates. 7 * A polyfill for HTML Templates.
8 * 8 *
9 * This just adds in the content attribute, it doesn't stop scripts 9 * This just adds in the content attribute, it doesn't stop scripts
10 * from running nor does it stop other side-effects. 10 * from running nor does it stop other side-effects.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 // Copy the image over to a canvas so we can read RGBA values for each point . 66 // Copy the image over to a canvas so we can read RGBA values for each point .
67 if (hex) { 67 if (hex) {
68 canvasCopy = document.createElement('canvas'); 68 canvasCopy = document.createElement('canvas');
69 canvasCopy.width = currentImage.width; 69 canvasCopy.width = currentImage.width;
70 canvasCopy.height = currentImage.height; 70 canvasCopy.height = currentImage.height;
71 canvasCopy.id = 'zoomCopy'; 71 canvasCopy.id = 'zoomCopy';
72 canvasCopy.getContext('2d').drawImage(currentImage, 0, 0, currentImage.wid th, currentImage.height); 72 canvasCopy.getContext('2d').drawImage(currentImage, 0, 0, currentImage.wid th, currentImage.height);
73 this.parentNode.insertBefore(canvasCopy, this); 73 this.parentNode.insertBefore(canvasCopy, this);
74 } 74 }
75 75
76 document.body.addEventListener('mousemove', zoomMove, true); 76 document.body.addEventListener('pointermove', zoomMove, true);
77 document.body.addEventListener('mouseup', zoomFinished); 77 document.body.addEventListener('pointerup', zoomFinished);
78 document.body.addEventListener('mouseleave', zoomFinished); 78 document.body.addEventListener('pointerleave', zoomFinished);
79 79
80 // Kick off the drawing. 80 // Kick off the drawing.
81 setTimeout(drawZoom, 1); 81 setTimeout(drawZoom, 1);
82 } 82 }
83 83
84 function hexify(i) { 84 function hexify(i) {
85 var s = i.toString(16).toUpperCase(); 85 var s = i.toString(16).toUpperCase();
86 // Pad out to two hex digits if necessary. 86 // Pad out to two hex digits if necessary.
87 if (s.length < 2) { 87 if (s.length < 2) {
88 s = '0' + s; 88 s = '0' + s;
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 } 134 }
135 135
136 function zoomFinished() { 136 function zoomFinished() {
137 currentImage = null; 137 currentImage = null;
138 if (hex) { 138 if (hex) {
139 hex.textContent = ''; 139 hex.textContent = '';
140 } 140 }
141 document.body.style.cursor = 'default'; 141 document.body.style.cursor = 'default';
142 ctx.canvas.parentNode.removeChild(ctx.canvas); 142 ctx.canvas.parentNode.removeChild(ctx.canvas);
143 canvasCopy.parentNode.removeChild(canvasCopy); 143 canvasCopy.parentNode.removeChild(canvasCopy);
144 document.body.removeEventListener('mousemove', zoomMove, true); 144 document.body.removeEventListener('pointermove', zoomMove, true);
145 document.body.removeEventListener('mouseup', zoomFinished); 145 document.body.removeEventListener('pointerup', zoomFinished);
146 document.body.removeEventListener('mouseleave', zoomFinished); 146 document.body.removeEventListener('pointerleave', zoomFinished);
147 } 147 }
148 148
149 this.addEventListener('DOMContentLoaded', function() { 149 this.addEventListener('DOMContentLoaded', function() {
150 var zoomables = document.body.querySelectorAll('.zoom'); 150 var zoomables = document.body.querySelectorAll('.zoom');
151 for (var i=0; i<zoomables.length; i++) { 151 for (var i=0; i<zoomables.length; i++) {
152 zoomables[i].addEventListener('mousedown', zoomMouseDown); 152 zoomables[i].addEventListener('pointerdown', zoomMouseDown);
153 } 153 }
154 }); 154 });
155 })(); 155 })();
156 156
157 157
158 /** 158 /**
159 * All the functionality is wrapped up in this anonymous closure, but we need 159 * All the functionality is wrapped up in this anonymous closure, but we need
160 * to be told if we are on the workspace page or a normal try page, so the 160 * to be told if we are on the workspace page or a normal try page, so the
161 * workspaceName is passed into the closure, it must be set in the global 161 * workspaceName is passed into the closure, it must be set in the global
162 * namespace. If workspaceName is the empty string then we know we aren't 162 * namespace. If workspaceName is the empty string then we know we aren't
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 337
338 338
339 // Add the images to the history if we are on a workspace page. 339 // Add the images to the history if we are on a workspace page.
340 if (tryHistory && history) { 340 if (tryHistory && history) {
341 for (var i=0; i<history.length; i++) { 341 for (var i=0; i<history.length; i++) {
342 addToHistory(history[i].hash, '/i/'+history[i].hash+'.png'); 342 addToHistory(history[i].hash, '/i/'+history[i].hash+'.png');
343 } 343 }
344 } 344 }
345 345
346 })(workspaceName); 346 })(workspaceName);
OLDNEW
« no previous file with comments | « experimental/webtry/res/js/pointerevents.min.js ('k') | experimental/webtry/templates/content.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698