diff options
author | Ben Murdoch <benm@google.com> | 2010-05-11 18:35:50 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2010-05-14 10:23:05 +0100 |
commit | 21939df44de1705786c545cd1bf519d47250322d (patch) | |
tree | ef56c310f5c0cdc379c2abb2e212308a3281ce20 /WebKit/chromium/src/js | |
parent | 4ff1d8891d520763f17675827154340c7c740f90 (diff) | |
download | external_webkit-21939df44de1705786c545cd1bf519d47250322d.zip external_webkit-21939df44de1705786c545cd1bf519d47250322d.tar.gz external_webkit-21939df44de1705786c545cd1bf519d47250322d.tar.bz2 |
Merge Webkit at r58956: Initial merge by Git.
Change-Id: I1d9fb60ea2c3f2ddc04c17a871acdb39353be228
Diffstat (limited to 'WebKit/chromium/src/js')
15 files changed, 135 insertions, 113 deletions
diff --git a/WebKit/chromium/src/js/DebuggerAgent.js b/WebKit/chromium/src/js/DebuggerAgent.js index 8230616..67e54aa 100644 --- a/WebKit/chromium/src/js/DebuggerAgent.js +++ b/WebKit/chromium/src/js/DebuggerAgent.js @@ -182,6 +182,7 @@ devtools.DebuggerAgent.prototype.initUI = function() for (var scriptId in this.parsedScripts_) { var script = this.parsedScripts_[scriptId]; WebInspector.parsedScriptSource(scriptId, script.getUrl(), undefined /* script source */, script.getLineOffset() + 1); + this.restoreBreakpoints_(scriptId, script.getUrl()); } return; } @@ -245,7 +246,7 @@ devtools.DebuggerAgent.prototype.pauseExecution = function() * @param {number} line Number of the line for the breakpoint. * @param {?string} condition The breakpoint condition. */ -devtools.DebuggerAgent.prototype.addBreakpoint = function(sourceId, line, condition) +devtools.DebuggerAgent.prototype.addBreakpoint = function(sourceId, line, enabled, condition) { var script = this.parsedScripts_[sourceId]; if (!script) @@ -263,7 +264,7 @@ devtools.DebuggerAgent.prototype.addBreakpoint = function(sourceId, line, condit this.urlToBreakpoints_[script.getUrl()] = breakpoints; } - var breakpointInfo = new devtools.BreakpointInfo(line); + var breakpointInfo = new devtools.BreakpointInfo(line, enabled, condition); breakpoints[line] = breakpointInfo; commandArguments = { @@ -278,7 +279,7 @@ devtools.DebuggerAgent.prototype.addBreakpoint = function(sourceId, line, condit if (breakpointInfo) return; - breakpointInfo = new devtools.BreakpointInfo(line); + breakpointInfo = new devtools.BreakpointInfo(line, enabled, condition); script.addBreakpointInfo(breakpointInfo); commandArguments = { @@ -290,6 +291,9 @@ devtools.DebuggerAgent.prototype.addBreakpoint = function(sourceId, line, condit }; } + if (!enabled) + return; + var cmd = new devtools.DebugCommand("setbreakpoint", commandArguments); this.requestNumberToBreakpointInfo_[cmd.getSequenceNumber()] = breakpointInfo; @@ -305,18 +309,11 @@ devtools.DebuggerAgent.prototype.addBreakpoint = function(sourceId, line, condit /** * Changes given line of the script. */ -devtools.DebuggerAgent.prototype.editScriptLine = function(sourceId, line, newContent, callback) +devtools.DebuggerAgent.prototype.editScriptSource = function(sourceId, newContent, callback) { - var script = this.parsedScripts_[sourceId]; - if (!script || !script.source) - return; - - var lines = script.source.split("\n"); - lines[line] = newContent; - var commandArguments = { "script_id": sourceId, - "new_source": lines.join("\n") + "new_source": newContent }; var cmd = new devtools.DebugCommand("changelive", commandArguments); @@ -962,6 +959,7 @@ devtools.DebuggerAgent.prototype.addScriptInfo_ = function(script, msg) if (this.scriptsPanelInitialized_) { // Only report script as parsed after scripts panel has been shown. WebInspector.parsedScriptSource(script.id, script.name, script.source, script.lineOffset + 1); + this.restoreBreakpoints_(script.id, script.name); } }; @@ -1085,6 +1083,23 @@ devtools.DebuggerAgent.prototype.formatCallFrame_ = function(stackFrame) /** + * Restores breakpoints associated with the URL of a newly parsed script. + * @param {number} sourceID The id of the script. + * @param {string} scriptUrl URL of the script. + */ +devtools.DebuggerAgent.prototype.restoreBreakpoints_ = function(sourceID, scriptUrl) +{ + var breakpoints = this.urlToBreakpoints_[scriptUrl]; + for (var line in breakpoints) { + if (parseInt(line) == line) { + var v8Line = devtools.DebuggerAgent.v8ToWwebkitLineNumber_(parseInt(line)); + WebInspector.restoredBreakpoint(sourceID, scriptUrl, v8Line, breakpoints[line].enabled(), breakpoints[line].condition()); + } + } +}; + + +/** * Collects properties for an object from the debugger response. * @param {Object} object An object from the debugger protocol response. * @param {Array.<WebInspector.ObjectPropertyProxy>} result An array to put the @@ -1279,9 +1294,11 @@ devtools.ScriptInfo.prototype.removeBreakpointInfo = function(breakpoint) * @param {number} line Breakpoint 0-based line number in the containing script. * @constructor */ -devtools.BreakpointInfo = function(line) +devtools.BreakpointInfo = function(line, enabled, condition) { this.line_ = line; + this.enabled_ = enabled; + this.condition_ = condition; this.v8id_ = -1; this.removed_ = false; }; @@ -1316,7 +1333,7 @@ devtools.BreakpointInfo.prototype.setV8Id = function(id) /** - * Marks this breakpoint as removed from the front-end. + * Marks this breakpoint as removed from the front-end. */ devtools.BreakpointInfo.prototype.markAsRemoved = function() { @@ -1335,6 +1352,24 @@ devtools.BreakpointInfo.prototype.isRemoved = function() /** + * @return {boolean} Whether this breakpoint is enabled. + */ +devtools.BreakpointInfo.prototype.enabled = function() +{ + return this.enabled_; +}; + + +/** + * @return {?string} Breakpoint condition. + */ +devtools.BreakpointInfo.prototype.condition = function() +{ + return this.condition_; +}; + + +/** * Call stack frame data. * @param {string} id CallFrame id. * @param {string} type CallFrame type. diff --git a/WebKit/chromium/src/js/DebuggerScript.js b/WebKit/chromium/src/js/DebuggerScript.js index 75c5467..7c4d126 100644 --- a/WebKit/chromium/src/js/DebuggerScript.js +++ b/WebKit/chromium/src/js/DebuggerScript.js @@ -33,18 +33,29 @@ function debuggerScriptConstructor() { var DebuggerScript = {}; DebuggerScript._breakpoints = {}; +DebuggerScript.PauseOnExceptionsState = { + DontPauseOnExceptions : 0, + PauseOnAllExceptions : 1, + PauseOnUncaughtExceptions: 2 +}; + +DebuggerScript._pauseOnExceptionsState = DebuggerScript.PauseOnExceptionsState.DontPauseOnExceptions; +Debug.clearBreakOnException(); +Debug.clearBreakOnUncaughtException(); DebuggerScript.getAfterCompileScript = function(execState, args) { return DebuggerScript._formatScript(args.eventData.script_.script_); } -DebuggerScript.getScripts = function(execState, args) +DebuggerScript.getScripts = function(contextData) { var scripts = Debug.scripts(); var result = []; for (var i = 0; i < scripts.length; ++i) { - result.push(DebuggerScript._formatScript(scripts[i])); + var script = scripts[i]; + if (contextData === script.context_data) + result.push(DebuggerScript._formatScript(script)); } return result; } @@ -92,6 +103,26 @@ DebuggerScript.removeBreakpoint = function(execState, args) delete DebuggerScript._breakpoints[key]; } +DebuggerScript.pauseOnExceptionsState = function() +{ + return DebuggerScript._pauseOnExceptionsState; +} + +DebuggerScript.setPauseOnExceptionsState = function(newState) +{ + DebuggerScript._pauseOnExceptionsState = newState; + + if (DebuggerScript.PauseOnExceptionsState.PauseOnAllExceptions === newState) + Debug.setBreakOnException(); + else + Debug.clearBreakOnException(); + + if (DebuggerScript.PauseOnExceptionsState.PauseOnUncaughtExceptions === newState) + Debug.setBreakOnUncaughtException(); + else + Debug.clearBreakOnUncaughtException(); +} + DebuggerScript.currentCallFrame = function(execState, args) { var frameCount = execState.frameCount(); @@ -160,7 +191,7 @@ DebuggerScript._frameMirrorToJSCallFrame = function(frameMirror, callerFrame) var sourceID = script && script.id(); // Get line number. - var line = DebuggerScript._v8ToWwebkitLineNumber(frameMirror.sourceLine()); + var line = DebuggerScript._v8ToWebkitLineNumber(frameMirror.sourceLine()); // Get this object. var thisObject = frameMirror.details_.receiver(); @@ -201,7 +232,7 @@ DebuggerScript._webkitToV8LineNumber = function(line) return line - 1; }; -DebuggerScript._v8ToWwebkitLineNumber = function(line) +DebuggerScript._v8ToWebkitLineNumber = function(line) { return line + 1; }; diff --git a/WebKit/chromium/src/js/DevTools.js b/WebKit/chromium/src/js/DevTools.js index a530fe5..59b88db 100644 --- a/WebKit/chromium/src/js/DevTools.js +++ b/WebKit/chromium/src/js/DevTools.js @@ -190,6 +190,23 @@ WebInspector.loaded = function() InspectorFrontendHost.loaded(); }; +devtools.domContentLoaded = function() +{ + var queryParams = window.location.search; + if (queryParams) { + var params = queryParams.substring(1).split("&"); + var paramsObject = {}; + for (var i = 0; i < params.length; ++i) { + var pair = params[i].split("="); + paramsObject[pair[0]] = pair[1]; + } + WebInspector.setAttachedWindow(paramsObject.docked); + if (paramsObject.toolbar_color && paramsObject.text_color) + WebInspector.setToolbarColors(paramsObject.toolbar_color, paramsObject.text_color); + } +} +document.addEventListener("DOMContentLoaded", devtools.domContentLoaded, false); + if (!window.v8ScriptDebugServerEnabled) { @@ -415,78 +432,14 @@ WebInspector.setToolbarColors = function(backgroundColor, color) document.head.appendChild(WebInspector._themeStyleElement); } WebInspector._themeStyleElement.textContent = - "body #toolbar, body.inactive #toolbar {\ + "#toolbar {\ background-image: none !important;\ background-color: " + backgroundColor + " !important;\ }\ \ - body .status-bar {\ - background-image: url(Images/statusbarBackgroundChromium2.png) !important;\ - background-color: " + backgroundColor + " !important;\ - }\ - \ - body button.status-bar-item {\ - background-image: none !important;\ - }\ - \ - button.status-bar-item {\ - background-image: none;\ - border-right: 1px solid " + backgroundColor + ";\ - }\ - \ - .status-bar {\ - background-image: none;\ - color: " + color + ";\ - }\ - \ - body #drawer {\ - background-image: none !important;\ - }\ - \ - #drawer-status-bar {\ - background-image: url(Images/statusbarBackgroundChromium2.png);\ - background-color: " + backgroundColor + ";\ - }\ - \ - \ - body.drawer-visible #main-status-bar {\ - background-image: url(Images/statusbarBackgroundChromium2.png) !important;\ - }\ - \ - body .crumbs .crumb, body .crumbs .crumb.end {\ - -webkit-border-image: url(Images/segmentChromium2.png) 0 12 0 2 !important;\ - background-color: " + backgroundColor + " !important;\ - }\ - \ - body .crumbs .crumb:hover, body .crumbs .crumb.dimmed:hover {\ - -webkit-border-image: url(Images/segmentHoverChromium2.png) 0 12 0 2 !important;\ - }\ - \ - body .crumbs .crumb.end {\ - -webkit-border-image: url(Images/segmentChromium2.png) 0 12 0 2 !important;\ - }\ - \ - body .crumbs .crumb.selected:hover, body .crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover {\ - -webkit-border-image: url(Images/segmentSelectedChromium2.png) 0 12 0 2 !important;\ - }\ - \ - body select.status-bar-item {\ - -webkit-border-image: url(Images/statusbarMenuButtonChromium2.png) 0 17 0 2 !important;\ - background-color: " + backgroundColor + " !important;\ - text-shadow: none !important;\ - }\ - \ - .glyph {\ - background-color: " + color + ";\ - }\ - \ - button.status-bar-item .glyph.shadow {\ - display: none;\ - }\ - \ - .crumbs, .crumbs .crumb:hover, #drawer .scope-bar:not(.console-filter-top) li, .toolbar-label, select.status-bar-item {\ + .toolbar-label {\ + color: " + color + " !important;\ text-shadow: none;\ - color: " + color + ";\ }"; } diff --git a/WebKit/chromium/src/js/Images/segmentChromium.png b/WebKit/chromium/src/js/Images/segmentChromium.png Binary files differindex 607559b..f4248e1 100755 --- a/WebKit/chromium/src/js/Images/segmentChromium.png +++ b/WebKit/chromium/src/js/Images/segmentChromium.png diff --git a/WebKit/chromium/src/js/Images/segmentChromium2.png b/WebKit/chromium/src/js/Images/segmentChromium2.png Binary files differdeleted file mode 100755 index e94f570..0000000 --- a/WebKit/chromium/src/js/Images/segmentChromium2.png +++ /dev/null diff --git a/WebKit/chromium/src/js/Images/segmentHoverChromium2.png b/WebKit/chromium/src/js/Images/segmentHoverChromium2.png Binary files differdeleted file mode 100755 index 4d4a211..0000000 --- a/WebKit/chromium/src/js/Images/segmentHoverChromium2.png +++ /dev/null diff --git a/WebKit/chromium/src/js/Images/segmentSelectedChromium2.png b/WebKit/chromium/src/js/Images/segmentSelectedChromium2.png Binary files differdeleted file mode 100755 index f2b695b..0000000 --- a/WebKit/chromium/src/js/Images/segmentSelectedChromium2.png +++ /dev/null diff --git a/WebKit/chromium/src/js/Images/statusbarBackgroundChromium.png b/WebKit/chromium/src/js/Images/statusbarBackgroundChromium.png Binary files differindex 9d326ac..7a760c1 100755 --- a/WebKit/chromium/src/js/Images/statusbarBackgroundChromium.png +++ b/WebKit/chromium/src/js/Images/statusbarBackgroundChromium.png diff --git a/WebKit/chromium/src/js/Images/statusbarBackgroundChromium2.png b/WebKit/chromium/src/js/Images/statusbarBackgroundChromium2.png Binary files differdeleted file mode 100755 index 12d62b1..0000000 --- a/WebKit/chromium/src/js/Images/statusbarBackgroundChromium2.png +++ /dev/null diff --git a/WebKit/chromium/src/js/Images/statusbarBottomBackgroundChromium.png b/WebKit/chromium/src/js/Images/statusbarBottomBackgroundChromium.png Binary files differindex 7c7db0a..e3bc944 100755 --- a/WebKit/chromium/src/js/Images/statusbarBottomBackgroundChromium.png +++ b/WebKit/chromium/src/js/Images/statusbarBottomBackgroundChromium.png diff --git a/WebKit/chromium/src/js/Images/statusbarButtonsChromium.png b/WebKit/chromium/src/js/Images/statusbarButtonsChromium.png Binary files differindex 0c6635d..136d5a8 100755 --- a/WebKit/chromium/src/js/Images/statusbarButtonsChromium.png +++ b/WebKit/chromium/src/js/Images/statusbarButtonsChromium.png diff --git a/WebKit/chromium/src/js/Images/statusbarMenuButtonChromium.png b/WebKit/chromium/src/js/Images/statusbarMenuButtonChromium.png Binary files differindex bf26684..5ff61d9 100755 --- a/WebKit/chromium/src/js/Images/statusbarMenuButtonChromium.png +++ b/WebKit/chromium/src/js/Images/statusbarMenuButtonChromium.png diff --git a/WebKit/chromium/src/js/Images/statusbarMenuButtonChromium2.png b/WebKit/chromium/src/js/Images/statusbarMenuButtonChromium2.png Binary files differdeleted file mode 100755 index 9527ac8..0000000 --- a/WebKit/chromium/src/js/Images/statusbarMenuButtonChromium2.png +++ /dev/null diff --git a/WebKit/chromium/src/js/InspectorControllerImpl.js b/WebKit/chromium/src/js/InspectorControllerImpl.js index becc076..5c3e8bd 100644 --- a/WebKit/chromium/src/js/InspectorControllerImpl.js +++ b/WebKit/chromium/src/js/InspectorControllerImpl.js @@ -128,8 +128,7 @@ if (!window.v8ScriptDebugServerEnabled) { devtools.InspectorBackendImpl.prototype.setBreakpoint = function(sourceID, line, enabled, condition) { this.removeBreakpoint(sourceID, line); - if (enabled) - devtools.tools.getDebuggerAgent().addBreakpoint(sourceID, line, condition); + devtools.tools.getDebuggerAgent().addBreakpoint(sourceID, line, enabled, condition); }; @@ -139,10 +138,10 @@ devtools.InspectorBackendImpl.prototype.removeBreakpoint = function(sourceID, li }; -devtools.InspectorBackendImpl.prototype.editScriptLine = function(callID, sourceID, line, newContent) +devtools.InspectorBackendImpl.prototype.editScriptSource = function(callID, sourceID, newContent) { - devtools.tools.getDebuggerAgent().editScriptLine(sourceID, line, newContent, function(newFullBody) { - WebInspector.didEditScriptLine(callID, newFullBody); + devtools.tools.getDebuggerAgent().editScriptSource(sourceID, newContent, function(newFullBody) { + WebInspector.didEditScriptSource(callID, newFullBody); }); }; diff --git a/WebKit/chromium/src/js/devTools.css b/WebKit/chromium/src/js/devTools.css index bb33f72..6b4b3e5 100755 --- a/WebKit/chromium/src/js/devTools.css +++ b/WebKit/chromium/src/js/devTools.css @@ -15,12 +15,8 @@ body.attached #toolbar { /* Chrome theme overrides */ -body.platform-windows #toolbar { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(242, 247, 253)), to(rgb(223, 234, 248))); -} - -body.platform-windows.inactive #toolbar { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(248, 248, 248)), to(rgb(237, 237, 237))); +body.platform-windows #toolbar, body.platform-windows.inactive #toolbar { + background-image: none; } body.detached.platform-mac-leopard #toolbar { @@ -39,6 +35,12 @@ body.detached.platform-mac-snowleopard.inactive #toolbar { background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(215, 215, 215)), to(rgb(207, 207, 207))) !important; } +body.platform-linux #scripts-files { + font-size: 11px; + font-weight: normal; + line-height: 12px; +} + /* Heap Profiler Styles */ .heap-snapshot-status-bar-item .glyph { @@ -151,77 +153,79 @@ body.detached.platform-mac-snowleopard.inactive #toolbar { left: 25%; } -body.platform-windows .section > .header { +.section > .header { border: 1px solid rgb(92, 116, 157); background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(105, 133, 180)), to(rgb(92, 116, 157))); } -body.platform-windows .console-group-messages .section > .header { +.console-group-messages .section > .header { padding: 0 8px 0 0; background-image: none; border: none; min-height: 0; } -body.platform-windows #resources-filter { +#resources-filter { background: -webkit-gradient(linear, left top, left bottom, from(rgb(233, 233, 233)), to(rgb(233, 233, 233))); } -body.platform-windows .crumbs .crumb { +.crumbs .crumb { -webkit-border-image: url(Images/segmentChromium.png) 0 12 0 2; + margin-right: -3px; + padding-left: 6px; } -body.platform-windows .crumbs .crumb.end { +.crumbs .crumb.end { -webkit-border-image: url(Images/segmentEndChromium.png) 0 2 0 2; } -body.platform-windows .crumbs .crumb.selected { +.crumbs .crumb.selected { -webkit-border-image: url(Images/segmentSelectedChromium.png) 0 12 0 2; color: white; text-shadow: rgba(255, 255, 255, 0.5) 0 0px 0; } -body.platform-windows .crumbs .crumb.selected:hover { +.crumbs .crumb.selected:hover { -webkit-border-image: url(Images/segmentSelectedChromium.png) 0 12 0 2; } -body.platform-windows .crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover { +.crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover { -webkit-border-image: url(Images/segmentSelectedEndChromium.png) 0 2 0 2; } -body.platform-windows .crumbs .crumb:hover { +.crumbs .crumb:hover { -webkit-border-image: url(Images/segmentHoverChromium.png) 0 12 0 2; } -body.platform-windows .crumbs .crumb.dimmed:hover { +.crumbs .crumb.dimmed:hover { -webkit-border-image: url(Images/segmentHoverChromium.png) 0 12 0 2; } -body.platform-windows .crumbs .crumb.end:hover { +.crumbs .crumb.end:hover { -webkit-border-image: url(Images/segmentHoverEndChromium.png) 0 2 0 2; } -body.platform-windows body.drawer-visible #main-status-bar { +body.drawer-visible #main-status-bar { background-image: url(Images/statusbarResizerVertical.png), url(Images/statusbarBackgroundChromium.png); } -body.platform-windows .status-bar { +.status-bar { background-image: url(Images/statusbarBackgroundChromium.png); } -body.platform-windows button.status-bar-item { +button.status-bar-item { background-image: url(Images/statusbarButtonsChromium.png); } -body.platform-windows select.status-bar-item:active { +select.status-bar-item:active { -webkit-border-image: url(Images/statusbarMenuButtonSelectedChromium.png) 0 17 0 2; } -body.platform-windows #drawer { +#drawer { background-image: url(Images/statusbarBottomBackgroundChromium.png); } -body.platform-windows select.status-bar-item { +select.status-bar-item { -webkit-border-image: url(Images/statusbarMenuButtonChromium.png) 0 17 0 2; } |