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

Side by Side Diff: Source/devtools/front_end/ScriptSnippetModel.js

Issue 228863002: DevTools: remove setScriptFile from UISourceCode. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
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 26 matching lines...) Expand all
37 { 37 {
38 this._workspace = workspace; 38 this._workspace = workspace;
39 /** @type {!Object.<string, !WebInspector.UISourceCode>} */ 39 /** @type {!Object.<string, !WebInspector.UISourceCode>} */
40 this._uiSourceCodeForScriptId = {}; 40 this._uiSourceCodeForScriptId = {};
41 /** @type {!Map.<!WebInspector.UISourceCode, !WebInspector.Script>} */ 41 /** @type {!Map.<!WebInspector.UISourceCode, !WebInspector.Script>} */
42 this._scriptForUISourceCode = new Map(); 42 this._scriptForUISourceCode = new Map();
43 /** @type {!Object.<string, !WebInspector.UISourceCode>} */ 43 /** @type {!Object.<string, !WebInspector.UISourceCode>} */
44 this._uiSourceCodeForSnippetId = {}; 44 this._uiSourceCodeForSnippetId = {};
45 /** @type {!Map.<!WebInspector.UISourceCode, string>} */ 45 /** @type {!Map.<!WebInspector.UISourceCode, string>} */
46 this._snippetIdForUISourceCode = new Map(); 46 this._snippetIdForUISourceCode = new Map();
47 47 /** @type {!Map.<!WebInspector.UISourceCode, !WebInspector.SnippetScriptFile >} */
48 this._scriptFiles = new Map();
49
48 this._snippetStorage = new WebInspector.SnippetStorage("script", "Script sni ppet #"); 50 this._snippetStorage = new WebInspector.SnippetStorage("script", "Script sni ppet #");
49 this._lastSnippetEvaluationIndexSetting = WebInspector.settings.createSettin g("lastSnippetEvaluationIndex", 0); 51 this._lastSnippetEvaluationIndexSetting = WebInspector.settings.createSettin g("lastSnippetEvaluationIndex", 0);
50 this._snippetScriptMapping = new WebInspector.SnippetScriptMapping(this); 52 this._snippetScriptMapping = new WebInspector.SnippetScriptMapping(this);
51 this._projectDelegate = new WebInspector.SnippetsProjectDelegate(this); 53 this._projectDelegate = new WebInspector.SnippetsProjectDelegate(this);
52 this._project = this._workspace.addProject(this._projectDelegate); 54 this._project = this._workspace.addProject(this._projectDelegate);
53 this.reset(); 55 this.reset();
54 WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.Event s.GlobalObjectCleared, this._debuggerReset, this); 56 WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.Event s.GlobalObjectCleared, this._debuggerReset, this);
55 } 57 }
56 58
57 WebInspector.ScriptSnippetModel.prototype = { 59 WebInspector.ScriptSnippetModel.prototype = {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 * @return {string} 96 * @return {string}
95 */ 97 */
96 _addScriptSnippet: function(snippet) 98 _addScriptSnippet: function(snippet)
97 { 99 {
98 var path = this._projectDelegate.addSnippet(snippet.name, new WebInspect or.SnippetContentProvider(snippet)); 100 var path = this._projectDelegate.addSnippet(snippet.name, new WebInspect or.SnippetContentProvider(snippet));
99 var uiSourceCode = this._workspace.uiSourceCode(this._projectDelegate.id (), path); 101 var uiSourceCode = this._workspace.uiSourceCode(this._projectDelegate.id (), path);
100 if (!uiSourceCode) { 102 if (!uiSourceCode) {
101 console.assert(uiSourceCode); 103 console.assert(uiSourceCode);
102 return ""; 104 return "";
103 } 105 }
104 var scriptFile = new WebInspector.SnippetScriptFile(this, uiSourceCode); 106 this._scriptFiles.put(uiSourceCode, new WebInspector.SnippetScriptFile(t his, uiSourceCode));
105 uiSourceCode.setScriptFile(scriptFile);
106 this._snippetIdForUISourceCode.put(uiSourceCode, snippet.id); 107 this._snippetIdForUISourceCode.put(uiSourceCode, snippet.id);
107 uiSourceCode.setSourceMapping(this._snippetScriptMapping); 108 uiSourceCode.setSourceMapping(this._snippetScriptMapping);
108 this._uiSourceCodeForSnippetId[snippet.id] = uiSourceCode; 109 this._uiSourceCodeForSnippetId[snippet.id] = uiSourceCode;
109 return path; 110 return path;
110 }, 111 },
111 112
112 /** 113 /**
113 * @param {string} path 114 * @param {string} path
114 */ 115 */
115 deleteScriptSnippet: function(path) 116 deleteScriptSnippet: function(path)
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 if (!snippetId) 322 if (!snippetId)
322 return; 323 return;
323 var uiSourceCode = this._uiSourceCodeForSnippetId[snippetId]; 324 var uiSourceCode = this._uiSourceCodeForSnippetId[snippetId];
324 325
325 if (!uiSourceCode || this._evaluationSourceURL(uiSourceCode) !== script. sourceURL) 326 if (!uiSourceCode || this._evaluationSourceURL(uiSourceCode) !== script. sourceURL)
326 return; 327 return;
327 328
328 console.assert(!this._scriptForUISourceCode.get(uiSourceCode)); 329 console.assert(!this._scriptForUISourceCode.get(uiSourceCode));
329 this._uiSourceCodeForScriptId[script.scriptId] = uiSourceCode; 330 this._uiSourceCodeForScriptId[script.scriptId] = uiSourceCode;
330 this._scriptForUISourceCode.put(uiSourceCode, script); 331 this._scriptForUISourceCode.put(uiSourceCode, script);
331 uiSourceCode.scriptFile().setHasDivergedFromVM(false); 332 var scriptFile = /** @type {?WebInspector.SnippetScriptFile} */ (this._s criptFiles.get(uiSourceCode));
333 scriptFile.setHasDivergedFromVM(false);
332 script.pushSourceMapping(this._snippetScriptMapping); 334 script.pushSourceMapping(this._snippetScriptMapping);
333 }, 335 },
334 336
335 /** 337 /**
336 * @param {!WebInspector.UISourceCode} uiSourceCode 338 * @param {!WebInspector.UISourceCode} uiSourceCode
337 * @return {!Array.<!Object>} 339 * @return {!Array.<!Object>}
338 */ 340 */
339 _removeBreakpoints: function(uiSourceCode) 341 _removeBreakpoints: function(uiSourceCode)
340 { 342 {
341 var breakpointLocations = WebInspector.breakpointManager.breakpointLocat ionsForUISourceCode(uiSourceCode); 343 var breakpointLocations = WebInspector.breakpointManager.breakpointLocat ionsForUISourceCode(uiSourceCode);
(...skipping 16 matching lines...) Expand all
358 }, 360 },
359 361
360 /** 362 /**
361 * @param {!WebInspector.UISourceCode} uiSourceCode 363 * @param {!WebInspector.UISourceCode} uiSourceCode
362 */ 364 */
363 _releaseSnippetScript: function(uiSourceCode) 365 _releaseSnippetScript: function(uiSourceCode)
364 { 366 {
365 var script = this._scriptForUISourceCode.get(uiSourceCode); 367 var script = this._scriptForUISourceCode.get(uiSourceCode);
366 if (!script) 368 if (!script)
367 return null; 369 return null;
368 370 var scriptFile = /** @type {?WebInspector.SnippetScriptFile} */ (this._s criptFiles.get(uiSourceCode));
vsevik 2014/04/09 10:39:42 No need to cast, since you don't store anything el
369 uiSourceCode.scriptFile().setIsDivergingFromVM(true); 371 scriptFile.setIsDivergingFromVM(true);
370 uiSourceCode.scriptFile().setHasDivergedFromVM(true); 372 scriptFile.setHasDivergedFromVM(true);
371 delete this._uiSourceCodeForScriptId[script.scriptId]; 373 delete this._uiSourceCodeForScriptId[script.scriptId];
372 this._scriptForUISourceCode.remove(uiSourceCode); 374 this._scriptForUISourceCode.remove(uiSourceCode);
373 delete uiSourceCode._evaluationIndex; 375 delete uiSourceCode._evaluationIndex;
374 uiSourceCode.scriptFile().setIsDivergingFromVM(false); 376 scriptFile.setIsDivergingFromVM(false);
375 }, 377 },
376 378
377 _debuggerReset: function() 379 _debuggerReset: function()
378 { 380 {
379 for (var snippetId in this._uiSourceCodeForSnippetId) { 381 for (var snippetId in this._uiSourceCodeForSnippetId) {
380 var uiSourceCode = this._uiSourceCodeForSnippetId[snippetId]; 382 var uiSourceCode = this._uiSourceCodeForSnippetId[snippetId];
381 this._releaseSnippetScript(uiSourceCode); 383 this._releaseSnippetScript(uiSourceCode);
382 } 384 }
383 }, 385 },
384 386
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 _workingCopyChanged: function() 488 _workingCopyChanged: function()
487 { 489 {
488 this._scriptSnippetModel._scriptSnippetEdited(this._uiSourceCode); 490 this._scriptSnippetModel._scriptSnippetEdited(this._uiSourceCode);
489 }, 491 },
490 492
491 __proto__: WebInspector.Object.prototype 493 __proto__: WebInspector.Object.prototype
492 } 494 }
493 495
494 /** 496 /**
495 * @constructor 497 * @constructor
496 * @implements {WebInspector.ScriptSourceMapping} 498 * @extends {WebInspector.SourceMappingWithScriptFile}
499 * @implements {WebInspector.SourceMapping}
497 * @param {!WebInspector.ScriptSnippetModel} scriptSnippetModel 500 * @param {!WebInspector.ScriptSnippetModel} scriptSnippetModel
498 */ 501 */
499 WebInspector.SnippetScriptMapping = function(scriptSnippetModel) 502 WebInspector.SnippetScriptMapping = function(scriptSnippetModel)
500 { 503 {
504 WebInspector.SourceMappingWithScriptFile.call(this);
501 this._scriptSnippetModel = scriptSnippetModel; 505 this._scriptSnippetModel = scriptSnippetModel;
502 } 506 }
503 507
504 WebInspector.SnippetScriptMapping.prototype = { 508 WebInspector.SnippetScriptMapping.prototype = {
505 /** 509 /**
506 * @param {!WebInspector.RawLocation} rawLocation 510 * @param {!WebInspector.RawLocation} rawLocation
507 * @return {?WebInspector.UILocation} 511 * @return {?WebInspector.UILocation}
508 */ 512 */
509 rawLocationToUILocation: function(rawLocation) 513 rawLocationToUILocation: function(rawLocation)
510 { 514 {
(...skipping 29 matching lines...) Expand all
540 this._scriptSnippetModel._addScript(script); 544 this._scriptSnippetModel._addScript(script);
541 }, 545 },
542 546
543 /** 547 /**
544 * @return {boolean} 548 * @return {boolean}
545 */ 549 */
546 isIdentity: function() 550 isIdentity: function()
547 { 551 {
548 return false; 552 return false;
549 }, 553 },
554
555 /**
556 * @param {!WebInspector.UISourceCode} uiSourceCode
557 * @return {?WebInspector.SnippetScriptFile}
558 */
559 scriptFile: function(uiSourceCode)
560 {
561 return this._scriptSnippetModel._scriptFiles.get(uiSourceCode) || null;
562 },
563
564 __proto__: WebInspector.SourceMappingWithScriptFile.prototype
550 } 565 }
551 566
552 /** 567 /**
553 * @constructor 568 * @constructor
554 * @implements {WebInspector.ContentProvider} 569 * @implements {WebInspector.ContentProvider}
555 * @param {!WebInspector.Snippet} snippet 570 * @param {!WebInspector.Snippet} snippet
556 */ 571 */
557 WebInspector.SnippetContentProvider = function(snippet) 572 WebInspector.SnippetContentProvider = function(snippet)
558 { 573 {
559 this._snippet = snippet; 574 this._snippet = snippet;
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 this._model.deleteScriptSnippet(path); 708 this._model.deleteScriptSnippet(path);
694 }, 709 },
695 710
696 __proto__: WebInspector.ContentProviderBasedProjectDelegate.prototype 711 __proto__: WebInspector.ContentProviderBasedProjectDelegate.prototype
697 } 712 }
698 713
699 /** 714 /**
700 * @type {!WebInspector.ScriptSnippetModel} 715 * @type {!WebInspector.ScriptSnippetModel}
701 */ 716 */
702 WebInspector.scriptSnippetModel; 717 WebInspector.scriptSnippetModel;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698