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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sources/RevisionHistoryView.js

Issue 1609973002: DevTools: promisify ContentProvider.requestContent and all its clients. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebaseline Created 4 years, 11 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 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 { 202 {
203 TreeElement.call(this, revision.timestamp.toLocaleTimeString(), true); 203 TreeElement.call(this, revision.timestamp.toLocaleTimeString(), true);
204 this.selectable = false; 204 this.selectable = false;
205 205
206 this._revision = revision; 206 this._revision = revision;
207 this._baseRevision = baseRevision; 207 this._baseRevision = baseRevision;
208 208
209 this._revertElement = createElement("span"); 209 this._revertElement = createElement("span");
210 this._revertElement.className = "revision-history-link"; 210 this._revertElement.className = "revision-history-link";
211 this._revertElement.textContent = WebInspector.UIString("apply revision cont ent"); 211 this._revertElement.textContent = WebInspector.UIString("apply revision cont ent");
212 this._revertElement.addEventListener("click", this._revision.revertToThis.bi nd(this._revision), false); 212 this._revertElement.addEventListener("click", event => {this._revision.rever tToThis();}, false);
213 if (!allowRevert) 213 if (!allowRevert)
214 this._revertElement.classList.add("hidden"); 214 this._revertElement.classList.add("hidden");
215 } 215 }
216 216
217 WebInspector.RevisionHistoryTreeElement.prototype = { 217 WebInspector.RevisionHistoryTreeElement.prototype = {
218 onattach: function() 218 onattach: function()
219 { 219 {
220 this.listItemElement.classList.add("revision-history-revision"); 220 this.listItemElement.classList.add("revision-history-revision");
221 }, 221 },
222 222
223 onpopulate: function() 223 onpopulate: function()
224 { 224 {
225 this.listItemElement.appendChild(this._revertElement); 225 this.listItemElement.appendChild(this._revertElement);
226 226
227 this.childrenListElement.classList.add("source-code"); 227 this.childrenListElement.classList.add("source-code");
228 if (this._baseRevision) 228 var promises = [];
229 this._baseRevision.requestContent(step1.bind(this)); 229 if (this._baseRevision) {
230 else 230 promises = [
231 this._revision.uiSourceCode.requestOriginalContent(step1.bind(this)) ; 231 this._baseRevision.requestContent(),
232 232 this._revision.requestContent()
pfeldman 2016/01/20 19:23:51 merge this below via push, use ternary operator fo
lushnikov 2016/01/20 23:35:58 Done.
233 /** 233 ]
234 * @param {?string} baseContent 234 } else {
235 * @this {WebInspector.RevisionHistoryTreeElement} 235 promises = [
236 */ 236 this._revision.uiSourceCode.requestOriginalContent(),
237 function step1(baseContent) 237 this._revision.requestContent()
238 { 238 ]
239 this._revision.requestContent(step2.bind(this, baseContent));
240 } 239 }
240 Promise.all(promises).spread(diff.bind(this));
241 241
242 /** 242 /**
243 * @param {?string} baseContent 243 * @param {?string} baseContent
244 * @param {?string} newContent 244 * @param {?string} newContent
245 * @this {WebInspector.RevisionHistoryTreeElement} 245 * @this {WebInspector.RevisionHistoryTreeElement}
246 */ 246 */
247 function step2(baseContent, newContent) 247 function diff(baseContent, newContent)
248 { 248 {
249 var baseLines = baseContent.split("\n"); 249 var baseLines = baseContent.split("\n");
250 var newLines = newContent.split("\n"); 250 var newLines = newContent.split("\n");
251 var opcodes = WebInspector.Diff.lineDiff(baseLines, newLines); 251 var opcodes = WebInspector.Diff.lineDiff(baseLines, newLines);
252 var lastWasSeparator = false; 252 var lastWasSeparator = false;
253 253
254 var baseLineNumber = 0; 254 var baseLineNumber = 0;
255 var newLineNumber = 0; 255 var newLineNumber = 0;
256 for (var idx = 0; idx < opcodes.length; idx++) { 256 for (var idx = 0; idx < opcodes.length; idx++) {
257 var code = opcodes[idx][0]; 257 var code = opcodes[idx][0];
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 contentSpan.classList.add("revision-history-line-" + changeType); 313 contentSpan.classList.add("revision-history-line-" + changeType);
314 }, 314 },
315 315
316 allowRevert: function() 316 allowRevert: function()
317 { 317 {
318 this._revertElement.classList.remove("hidden"); 318 this._revertElement.classList.remove("hidden");
319 }, 319 },
320 320
321 __proto__: TreeElement.prototype 321 __proto__: TreeElement.prototype
322 } 322 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698