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

Side by Side Diff: chrome/browser/resources/file_manager/js/image_editor/standalone_test.js

Issue 8727028: Eliminate use of assignments to innerHTML in File Browser (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Deleted another redundant file Created 9 years 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 function load(source) {
6 var editorWindow =
7 document.getElementsByClassName('editor-frame')[0].contentWindow;
8
9 // ImageEditor makes extensive use of Function.prototype.bind.
10 // Add it if it does not exist (as in Safari 5).
11 if (!editorWindow.Function.prototype.bind) {
12 editorWindow.Function.prototype.bind = bindToObject;
13 }
14
15 editorWindow.ImageUtil.trace.bindToDOM(
16 document.getElementsByClassName('debug-output')[0]);
17
18 editorWindow.ImageEditor.open(save, close, source);
19 }
20
21 function save(blob) {
22 console.log('Saving ' + blob.size + ' bytes');
23 }
24
25 function close() {
26 document.body.innerHTML = 'Editor closed, hit reload';
27 }
28
29 function getUrlField() {
30 return document.getElementsByClassName('image-url')[0];
31 }
32
33 function createTestGrid() {
34 var canvas = document.createElement('canvas');
35 canvas.width = 1000;
36 canvas.height = 1000;
37
38 var context = canvas.getContext('2d');
39
40 var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
41 fillGradient(imageData);
42 context.putImageData(imageData, 0, 0);
43
44 drawTestGrid(context);
45
46 return canvas;
47 }
48
49 function fillGradient(imageData) {
50 var data = imageData.data;
51 var width = imageData.width;
52 var height = imageData.height;
53
54 var maxX = width - 1;
55 var maxY = height - 1;
56 var maxDist = maxX + maxY;
57 var values = [];
58 for (var i = 0; i <= maxDist; i++) {
59 values.push(Math.max(0, Math.min(0xFF, Math.round(i/maxDist*255))));
60 }
61
62 var index = 0;
63 for (var y = 0; y != height; y++)
64 for (var x = 0; x != width; x++) {
65 data[index++] = values[maxX - x + maxY - y];
66 data[index++] = values[x + maxY - y];
67 data[index++] = values[maxX - x + y];
68 data[index++] = 0xFF;
69 }
70 }
71
72 function drawTestGrid(context) {
73 var width = context.canvas.width;
74 var height = context.canvas.height;
75
76 context.textBaseline = 'top';
77
78 const STEP = 100;
79 for (var y = 0; y < height; y+= STEP) {
80 for (var x = 0; x < width; x+= STEP) {
81 context.strokeRect(x + 0.5, y + 0.5, STEP, STEP);
82 context.strokeText(x + ',' + y, x + 2, y);
83 }
84 }
85 }
86
87 function bindToObject(thisObject) {
88 var func = this;
89 var args = Array.prototype.slice.call(arguments, 1);
90 function bound() {
91 return func.apply(
92 thisObject, args.concat(Array.prototype.slice.call(arguments, 0)));
93 }
94 bound.toString = function() { return "bound: " + func; };
95 return bound;
96 };
97
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698