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

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

Issue 15096004: Passing hit breakpoint IDs to ScriptDebugServer. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 6 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) 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2011 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 489 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 this._removeFromDebugger(); 500 this._removeFromDebugger();
501 this._breakpointManager._removeBreakpoint(this, removeFromStorage); 501 this._breakpointManager._removeBreakpoint(this, removeFromStorage);
502 }, 502 },
503 503
504 _setInDebugger: function() 504 _setInDebugger: function()
505 { 505 {
506 console.assert(!this._debuggerId); 506 console.assert(!this._debuggerId);
507 var rawLocation = this._primaryUILocation.uiLocationToRawLocation(); 507 var rawLocation = this._primaryUILocation.uiLocationToRawLocation();
508 var debuggerModelLocation = /** @type {WebInspector.DebuggerModel.Locati on} */ (rawLocation); 508 var debuggerModelLocation = /** @type {WebInspector.DebuggerModel.Locati on} */ (rawLocation);
509 if (debuggerModelLocation) 509 if (debuggerModelLocation)
510 this._breakpointManager._debuggerModel.setBreakpointByScriptLocation (debuggerModelLocation, this._condition, didSetBreakpoint.bind(this)); 510 this._breakpointManager._debuggerModel.setBreakpointByScriptLocation (debuggerModelLocation, this._condition, this._didSetBreakpointInDebugger.bind(t his));
511 else 511 else
512 this._breakpointManager._debuggerModel.setBreakpointByURL(this._prim aryUILocation.uiSourceCode.url, this._primaryUILocation.lineNumber, 0, this._con dition, didSetBreakpoint.bind(this)); 512 this._breakpointManager._debuggerModel.setBreakpointByURL(this._prim aryUILocation.uiSourceCode.url, this._primaryUILocation.lineNumber, 0, this._con dition, this._didSetBreakpointInDebugger.bind(this));
513 },
513 514
514 /** 515 /**
515 * @this {WebInspector.BreakpointManager.Breakpoint} 516 * @this {WebInspector.BreakpointManager.Breakpoint}
516 * @param {?DebuggerAgent.BreakpointId} breakpointId 517 * @param {?DebuggerAgent.BreakpointId} breakpointId
517 * @param {Array.<WebInspector.DebuggerModel.Location>} locations 518 * @param {Array.<WebInspector.DebuggerModel.Location>} locations
518 */ 519 */
519 function didSetBreakpoint(breakpointId, locations) 520 _didSetBreakpointInDebugger: function(breakpointId, locations)
520 { 521 {
521 if (!breakpointId) { 522 if (!breakpointId) {
522 this._resetLocations(); 523 this._resetLocations();
523 this._breakpointManager._removeBreakpoint(this, false); 524 this._breakpointManager._removeBreakpoint(this, false);
525 return;
526 }
527
528 this._debuggerId = breakpointId;
529 this._breakpointManager._breakpointForDebuggerId[breakpointId] = this;
530
531 if (!locations.length) {
532 this._fakeBreakpointAtPrimaryLocation();
533 return;
534 }
535
536 this._resetLocations();
537 for (var i = 0; i < locations.length; ++i) {
538 var script = this._breakpointManager._debuggerModel.scriptForId(loca tions[i].scriptId);
539 var uiLocation = script.rawLocationToUILocation(locations[i].lineNum ber, locations[i].columnNumber);
540 if (this._breakpointManager.findBreakpoint(uiLocation.uiSourceCode, uiLocation.lineNumber)) {
541 // location clash
542 this.remove();
524 return; 543 return;
525 } 544 }
545 }
526 546
527 this._debuggerId = breakpointId; 547 for (var i = 0; i < locations.length; ++i)
528 this._breakpointManager._breakpointForDebuggerId[breakpointId] = thi s; 548 this._addResolvedLocation(locations[i]);
529
530 if (!locations.length) {
531 this._fakeBreakpointAtPrimaryLocation();
532 return;
533 }
534
535 this._resetLocations();
536 for (var i = 0; i < locations.length; ++i) {
537 var script = this._breakpointManager._debuggerModel.scriptForId( locations[i].scriptId);
538 var uiLocation = script.rawLocationToUILocation(locations[i].lin eNumber, locations[i].columnNumber);
539 if (this._breakpointManager.findBreakpoint(uiLocation.uiSourceCo de, uiLocation.lineNumber)) {
540 // location clash
541 this.remove();
542 return;
543 }
544 }
545
546 for (var i = 0; i < locations.length; ++i)
547 this._addResolvedLocation(locations[i]);
548 }
549 }, 549 },
550 550
551 _removeFromDebugger: function() 551 _removeFromDebugger: function()
552 { 552 {
553 if (this._debuggerId) { 553 if (this._debuggerId) {
554 this._breakpointManager._debuggerModel.removeBreakpoint(this._debugg erId); 554 this._breakpointManager._debuggerModel.removeBreakpoint(this._debugg erId);
555 delete this._breakpointManager._breakpointForDebuggerId[this._debugg erId]; 555 delete this._breakpointManager._breakpointForDebuggerId[this._debugg erId];
556 delete this._debuggerId; 556 delete this._debuggerId;
557 } 557 }
558 }, 558 },
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 { 660 {
661 var primaryUILocation = breakpoint.primaryUILocation(); 661 var primaryUILocation = breakpoint.primaryUILocation();
662 this.sourceFileId = breakpoint._sourceFileId; 662 this.sourceFileId = breakpoint._sourceFileId;
663 this.lineNumber = primaryUILocation.lineNumber; 663 this.lineNumber = primaryUILocation.lineNumber;
664 this.condition = breakpoint.condition(); 664 this.condition = breakpoint.condition();
665 this.enabled = breakpoint.enabled(); 665 this.enabled = breakpoint.enabled();
666 } 666 }
667 667
668 /** @type {WebInspector.BreakpointManager} */ 668 /** @type {WebInspector.BreakpointManager} */
669 WebInspector.breakpointManager = null; 669 WebInspector.breakpointManager = null;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698