Diff
Modified: trunk/LayoutTests/ChangeLog (98939 => 98940)
--- trunk/LayoutTests/ChangeLog 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/LayoutTests/ChangeLog 2011-11-01 07:24:13 UTC (rev 98940)
@@ -1,3 +1,17 @@
+2011-11-01 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r98847.
+ http://trac.webkit.org/changeset/98847
+ https://bugs.webkit.org/show_bug.cgi?id=71268
+
+ "Debugger test failures on multiple platforms" (Requested by
+ yurys on #webkit).
+
+ * inspector/debugger/bind-script-to-resource-expected.txt: Removed.
+ * inspector/debugger/bind-script-to-resource.html: Removed.
+ * inspector/debugger/linkifier-expected.txt:
+ * inspector/debugger/linkifier.html:
+
2011-11-01 Yury Semikhatsky <[email protected]>
Unreviewed. Rebaseline test started failing because syntax errors in inline handlers
Deleted: trunk/LayoutTests/inspector/debugger/bind-script-to-resource-expected.txt (98939 => 98940)
--- trunk/LayoutTests/inspector/debugger/bind-script-to-resource-expected.txt 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/LayoutTests/inspector/debugger/bind-script-to-resource-expected.txt 2011-11-01 07:24:13 UTC (rev 98940)
@@ -1,19 +0,0 @@
-Tests that only inline scripts are bound to the resource, while the ones generated with document.write are not. Bug 71099
-
-Debugger was enabled.
-There should be 4 scripts:
-script1: bind-script-to-resource.html
-script2: bind-script-to-resource.html
-script3: debugger-test.js
-script4: inspector-test.js
-
-There should be 3 resources, each resource should have 1 script:
-url1 : debugger-test.js
- script: debugger-test.js
-url2 : inspector-test.js
- script: inspector-test.js
-url3 : bind-script-to-resource.html
- script: bind-script-to-resource.html
-document url:bind-script-to-resource.html
-Debugger was disabled.
-
Deleted: trunk/LayoutTests/inspector/debugger/bind-script-to-resource.html (98939 => 98940)
--- trunk/LayoutTests/inspector/debugger/bind-script-to-resource.html 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/LayoutTests/inspector/debugger/bind-script-to-resource.html 2011-11-01 07:24:13 UTC (rev 98940)
@@ -1,66 +0,0 @@
-<html>
-<head>
-<script src=""
-<script src=""
-
-<script>
-
-document.write("<scrip" + "t>function foo() { }</sc" + "ript>");
-
-var test = function()
-{
- var scripts = [];
- InspectorTest.startDebuggerTest(step1);
-
- function step1()
- {
- var model = WebInspector.debuggerPresentationModel;
-
- var scriptURLs = [];
- for (var scriptId in model._rawSourceCodeForScriptId) {
- var script = WebInspector.debuggerModel.scripts[scriptId];
- scriptURLs.push(WebInspector.displayNameForURL(script.sourceURL));
- }
- scriptURLs.sort();
- InspectorTest.assertEquals(4, scriptURLs.length);
- InspectorTest.addResult("There should be 4 scripts:");
- for (var i = 0; i < scriptURLs.length; ++i)
- InspectorTest.addResult("script" + (i+1) + ": " + scriptURLs[i]);
-
- var urls = Object.keys(model._rawSourceCodeForURL);
- urls.sort();
-
- InspectorTest.addResult("\nThere should be 3 resources, each resource should have 1 script:");
- InspectorTest.assertEquals(3, urls.length);
- for (var i = 0; i < urls.length; ++i) {
- var url = ""
- var displayName = WebInspector.displayNameForURL(url);
- InspectorTest.addResult("url" + (i+1) + " : " + displayName);
- var rawSourceCode = model._rawSourceCodeForURL[url];
- InspectorTest.assertEquals(1, rawSourceCode._scripts.length);
- for (var j = 0; j < rawSourceCode._scripts.length; ++j) {
- var script = rawSourceCode._scripts[j];
- InspectorTest.addResult(" script: " + WebInspector.displayNameForURL(script.sourceURL));
- }
- }
-
- urls = Object.keys(model._rawSourceCodeForDocumentURL);
- urls.sort();
- for (var i = 0; i < urls.length; ++i)
- InspectorTest.addResult("document url:" + WebInspector.displayNameForURL(urls[i]));
-
- InspectorTest.completeDebuggerTest();
- }
-}
-</script>
-</head>
-
-<body _onload_="runTest()">
-
-<p>
-Tests that only inline scripts are bound to the resource, while the ones generated with document.write are not. Bug 71099</a>
-</p>
-
-</body>
-
-</html>
Modified: trunk/LayoutTests/inspector/debugger/linkifier-expected.txt (98939 => 98940)
--- trunk/LayoutTests/inspector/debugger/linkifier-expected.txt 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/LayoutTests/inspector/debugger/linkifier-expected.txt 2011-11-01 07:24:13 UTC (rev 98940)
@@ -3,10 +3,26 @@
Two addEventListener calls expected. The first for 'fakeUrl-1' the second for 'fakeUrl-2'.
Two removeEventListener calls expected. The first for 'fakeUrl-1' the second for 'fakeUrl-2'.
Debugger was enabled.
-listeners added on raw source code: 1
-original location: linkifier.html:21
-pretty printed location: linkifier.html:24
-reverted location: linkifier.html:21
-listeners removed from raw source code: 1
-Debugger was disabled.
+--- linkify fakeURL-1 first time ---
+DummyPresentationModel._rawSourceCodeForScriptWithURL was called with arguments = ['fakeUrl-1']
+DummyRawSourceCode.addEventListener was called for source with URL = '' with arguments = ['source-mapping-updated', function, object]
+--- linkify fakeURL-2 first time ---
+DummyPresentationModel._rawSourceCodeForScriptWithURL was called with arguments = ['fakeUrl-2']
+DummyRawSourceCode.addEventListener was called for source with URL = '' with arguments = ['source-mapping-updated', function, object]
+
+--- linkify fakeURL-1 second time ---
+DummyPresentationModel._rawSourceCodeForScriptWithURL was called with arguments = ['fakeUrl-1']
+
+--- linkify fakeURL-2 second time ---
+DummyPresentationModel._rawSourceCodeForScriptWithURL was called with arguments = ['fakeUrl-2']
+
+--- reset ---
+DummyRawSourceCode.removeEventListener was called for source with id = 'fakeUrl-1' with arguments = ['source-mapping-updated', function, object]
+DummyRawSourceCode.removeEventListener was called for source with id = 'fakeUrl-2' with arguments = ['source-mapping-updated', function, object]
+
+--- location update ---
+original location: linkifier.html:93
+pretty printed location: linkifier.html:98
+reverted location: linkifier.html:93
+
Modified: trunk/LayoutTests/inspector/debugger/linkifier.html (98939 => 98940)
--- trunk/LayoutTests/inspector/debugger/linkifier.html 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/LayoutTests/inspector/debugger/linkifier.html 2011-11-01 07:24:13 UTC (rev 98940)
@@ -8,54 +8,99 @@
{
InspectorTest.startDebuggerTest(debuggerTest);
- var linkifier;
- var link;
- var rawSourceCode;
-
function debuggerTest()
{
- linkifier = WebInspector.debuggerPresentationModel.createLinkifier();
- rawSourceCode = WebInspector.debuggerPresentationModel._rawSourceCodeForURL[WebInspector.mainResource._documentURL];
+ if (!WebInspector.debuggerPresentationModel._rawSourceCode[WebInspector.mainResource._documentURL]) {
+ InspectorTest.addSniffer(WebInspector.debuggerPresentationModel, "_addScript", debuggerTest);
+ return;
+ }
- var count1 = listenersCount(rawSourceCode);
- link = linkifier.linkifyLocation(WebInspector.mainResource._documentURL, 20, 0, "dummy-class");
- var count2 = listenersCount(rawSourceCode);
- InspectorTest.addResult("listeners added on raw source code: " + (count2 - count1));
+ var fakeURL1 = "fakeUrl-1";
+ var fakeURL2 = "fakeUrl-2";
- InspectorTest.addResult("original location: " + link.textContent);
+ DummyRawSourceCode = function(url)
+ {
+ this.url = ""
+ this.id = url;
+ }
- InspectorTest.addSniffer(linkifier, "_updateAnchor", linkUpdated);
- WebInspector.debuggerPresentationModel.setFormatSource(true);
- }
+ DummyRawSourceCode.prototype = {
+ addEventListener: function(eventName, callback, object)
+ {
+ InspectorTest.addResult("DummyRawSourceCode.addEventListener was called for source with URL = '' with arguments = ['" + eventName + "', " + (typeof callback) + ", " + (typeof object) + "]");
+ },
- function linkUpdated()
- {
- InspectorTest.addResult("pretty printed location: " + link.textContent);
- InspectorTest.addSniffer(linkifier, "_updateAnchor", linkReverted);
- WebInspector.debuggerPresentationModel.setFormatSource(false);
- }
+ removeEventListener: function(eventName, callback, object)
+ {
+ InspectorTest.addResult("DummyRawSourceCode.removeEventListener was called for source with id = '" + this.url + "' with arguments = ['" + eventName + "', " + (typeof callback) + ", " + (typeof object) + "]");
+ }
+ }
- function linkReverted()
- {
- InspectorTest.addResult("reverted location: " + link.textContent);
+ DummyPresentationModel = function()
+ {
+ this._rawSourceCode = [];
+ }
- var count1 = listenersCount(rawSourceCode);
+ DummyPresentationModel.prototype = {
+ _rawSourceCodeForScriptWithURL: function(sourceURL)
+ {
+ InspectorTest.addResult("DummyPresentationModel._rawSourceCodeForScriptWithURL was called with arguments = ['" + sourceURL + "']");
+ var rawSourceCode = this._rawSourceCode[sourceURL];
+ if (rawSourceCode)
+ return rawSourceCode;
+ rawSourceCode = new DummyRawSourceCode(sourceURL);
+ this._rawSourceCode[sourceURL] = rawSourceCode;
+ return rawSourceCode;
+ }
+ }
+
+ var dummyPresentationModel = new DummyPresentationModel();
+
+ var linkifier = new WebInspector.DebuggerPresentationModel.Linkifier(dummyPresentationModel);
+
+ InspectorTest.addResult("--- linkify fakeURL-1 first time ---");
+ linkifier.linkifyLocation(fakeURL1, 42, 26, "fake-class-name");
+ InspectorTest.addResult("");
+
+ InspectorTest.addResult("--- linkify fakeURL-2 first time ---");
+ linkifier.linkifyLocation(fakeURL2, 42, 26, "fake-class-name");
+ InspectorTest.addResult("");
+
+ InspectorTest.addResult("--- linkify fakeURL-1 second time ---");
+ linkifier.linkifyLocation(fakeURL1, 97, 23, "fake-class-name");
+ InspectorTest.addResult("");
+
+ InspectorTest.addResult("--- linkify fakeURL-2 second time ---");
+ linkifier.linkifyLocation(fakeURL2, 4, 2, "fake-class-name");
+ InspectorTest.addResult("");
+
+ InspectorTest.addResult("--- reset ---");
linkifier.reset();
- var count2 = listenersCount(rawSourceCode);
- InspectorTest.addResult("listeners removed from raw source code: " + (count1 - count2));
+ InspectorTest.addResult("");
- InspectorTest.completeDebuggerTest();
- }
+ InspectorTest.addResult("--- location update ---");
- function listenersCount(object)
- {
- var listeners = object._listeners;
- var count = 0;
- for (var eventTypes in listeners) {
- var listenersArray = listeners[eventTypes];
- count += listenersArray.length;
+ function dummyFunctionToBePrettyPrinted() { InspectorTest.addResult(""); console.error(""); }
+
+ linkifier = WebInspector.debuggerPresentationModel.createLinkifier();
+ var link = linkifier.linkifyLocation(WebInspector.mainResource._documentURL, 92, 0, "dummy-class");
+ InspectorTest.addResult("original location: " + link.textContent);
+
+ InspectorTest.addSniffer(linkifier, "_updateAnchor", linkUpdated);
+ WebInspector.debuggerPresentationModel.setFormatSource(true);
+
+ function linkUpdated()
+ {
+ InspectorTest.addResult("pretty printed location: " + link.textContent);
+ InspectorTest.addSniffer(linkifier, "_updateAnchor", linkReverted);
+ WebInspector.debuggerPresentationModel.setFormatSource(false);
}
- return count;
+
+ function linkReverted()
+ {
+ InspectorTest.addResult("reverted location: " + link.textContent);
+ InspectorTest.completeTest();
+ }
}
}
Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (98939 => 98940)
--- trunk/LayoutTests/platform/chromium/test_expectations.txt 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt 2011-11-01 07:24:13 UTC (rev 98940)
@@ -3944,5 +3944,3 @@
BUGWK71226 : fast/backgrounds/size/contain-and-cover-zoomed.html = IMAGE+TEXT
BUGWK71226 : fast/backgrounds/animated-svg-as-mask.html = IMAGE+TEXT IMAGE
-BUGWK71233 : inspector/debugger/bind-script-to-resource.html = TEXT TIMEOUT
-
Modified: trunk/Source/WebCore/ChangeLog (98939 => 98940)
--- trunk/Source/WebCore/ChangeLog 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/Source/WebCore/ChangeLog 2011-11-01 07:24:13 UTC (rev 98940)
@@ -1,3 +1,31 @@
+2011-11-01 Sheriff Bot <[email protected]>
+
+ Unreviewed, rolling out r98847.
+ http://trac.webkit.org/changeset/98847
+ https://bugs.webkit.org/show_bug.cgi?id=71268
+
+ "Debugger test failures on multiple platforms" (Requested by
+ yurys on #webkit).
+
+ * inspector/front-end/DebuggerPresentationModel.js:
+ (WebInspector.DebuggerPresentationModel):
+ (WebInspector.DebuggerPresentationModel.prototype._addScript):
+ (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
+ (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
+ (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
+ (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
+ (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
+ (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
+ (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
+ (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
+ (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
+ * inspector/front-end/RawSourceCode.js:
+ (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
+ (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
+ (WebInspector.RawSourceCode.prototype._createSourceMapping):
+ * inspector/front-end/Script.js:
+ (WebInspector.Script.prototype.editSource):
+
2011-10-30 Filip Pizlo <[email protected]>
The GC should be parallel
Modified: trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js (98939 => 98940)
--- trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js 2011-11-01 07:24:13 UTC (rev 98940)
@@ -36,9 +36,7 @@
{
// FIXME: apply formatter from outside as a generic mapping.
this._formatter = new WebInspector.ScriptFormatter();
- this._rawSourceCodeForScriptId = {};
- this._rawSourceCodeForURL = {};
- this._rawSourceCodeForDocumentURL = {};
+ this._rawSourceCode = {};
this._presentationCallFrames = [];
this._breakpointManager = new WebInspector.BreakpointManager(WebInspector.settings.breakpoints, this._breakpointAdded.bind(this), this._breakpointRemoved.bind(this), WebInspector.debuggerModel);
@@ -111,43 +109,24 @@
*/
_addScript: function(script)
{
- var resource;
- var isInlineScript = false;
- if (script.isInlineScript()) {
- resource = WebInspector.networkManager.inflightResourceForURL(script.sourceURL) || WebInspector.resourceForURL(script.sourceURL);
- if (resource && resource.type === WebInspector.Resource.Type.Document) {
- isInlineScript = true;
- var rawSourceCode = this._rawSourceCodeForDocumentURL[script.sourceURL];
- if (rawSourceCode) {
- rawSourceCode.addScript(script);
- this._bindScriptToRawSourceCode(script, rawSourceCode);
- return;
- }
- }
+ var rawSourceCodeId = this._createRawSourceCodeId(script);
+ var rawSourceCode = this._rawSourceCode[rawSourceCodeId];
+ if (rawSourceCode) {
+ rawSourceCode.addScript(script);
+ return;
}
- rawSourceCode = new WebInspector.RawSourceCode(script.scriptId, script, resource, this._formatter, this._formatSource);
- this._bindScriptToRawSourceCode(script, rawSourceCode);
-
- if (isInlineScript)
- this._rawSourceCodeForDocumentURL[script.sourceURL] = rawSourceCode;
-
+ var resource;
+ if (script.sourceURL)
+ resource = WebInspector.networkManager.inflightResourceForURL(script.sourceURL) || WebInspector.resourceForURL(script.sourceURL);
+ rawSourceCode = new WebInspector.RawSourceCode(rawSourceCodeId, script, resource, this._formatter, this._formatSource);
+ this._rawSourceCode[rawSourceCodeId] = rawSourceCode;
if (rawSourceCode.sourceMapping)
this._updateSourceMapping(rawSourceCode, null);
rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.SourceMappingUpdated, this._sourceMappingUpdated, this);
},
/**
- * @param {WebInspector.Script} script
- * @param {WebInspector.RawSourceCode} rawSourceCode
- */
- _bindScriptToRawSourceCode: function(script, rawSourceCode)
- {
- this._rawSourceCodeForScriptId[script.scriptId] = rawSourceCode;
- this._rawSourceCodeForURL[script.sourceURL] = rawSourceCode;
- },
-
- /**
* @param {WebInspector.Event} event
*/
_sourceMappingUpdated: function(event)
@@ -163,8 +142,8 @@
uiSourceCodes: function()
{
var result = [];
- for (var id in this._rawSourceCodeForScriptId) {
- var uiSourceCodeList = this._rawSourceCodeForScriptId[id].sourceMapping.uiSourceCodeList();
+ for (var id in this._rawSourceCode) {
+ var uiSourceCodeList = this._rawSourceCode[id].sourceMapping.uiSourceCodeList();
for (var i = 0; i < uiSourceCodeList.length; ++i)
result.push(uiSourceCodeList[i]);
}
@@ -318,8 +297,8 @@
this._formatSource = formatSource;
this._breakpointManager.reset();
- for (var id in this._rawSourceCodeForScriptId)
- this._rawSourceCodeForScriptId[id].setFormatted(this._formatSource);
+ for (var id in this._rawSourceCode)
+ this._rawSourceCode[id].setFormatted(this._formatSource);
},
/**
@@ -359,8 +338,8 @@
_consoleCleared: function()
{
- for (var id in this._rawSourceCodeForScriptId)
- this._rawSourceCodeForScriptId[id].messages = [];
+ for (var id in this._rawSourceCode)
+ this._rawSourceCode[id].messages = [];
this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Events.ConsoleMessagesCleared);
},
@@ -601,7 +580,7 @@
*/
_rawSourceCodeForScriptWithURL: function(sourceURL)
{
- return this._rawSourceCodeForURL[sourceURL];
+ return this._rawSourceCode[sourceURL];
},
/**
@@ -609,7 +588,7 @@
*/
_rawSourceCodeForScript: function(script)
{
- return this._rawSourceCodeForScriptId[script.scriptId];
+ return this._rawSourceCode[this._createRawSourceCodeId(script)];
},
/**
@@ -624,15 +603,23 @@
*/
function filter(script)
{
- return script.scriptId === rawSourceCode.id;
+ return this._createRawSourceCodeId(script) === rawSourceCode.id;
}
return WebInspector.debuggerModel.queryScripts(filter.bind(this))[0];
},
+ /**
+ * @param {WebInspector.Script} script
+ */
+ _createRawSourceCodeId: function(script)
+ {
+ return script.sourceURL || script.scriptId;
+ },
+
_debuggerReset: function()
{
- for (var id in this._rawSourceCodeForScriptId) {
- var rawSourceCode = this._rawSourceCodeForScriptId[id];
+ for (var id in this._rawSourceCode) {
+ var rawSourceCode = this._rawSourceCode[id];
if (rawSourceCode.sourceMapping) {
var uiSourceCodeList = rawSourceCode.sourceMapping.uiSourceCodeList();
for (var i = 0; i < uiSourceCodeList.length; ++i)
@@ -640,9 +627,7 @@
}
rawSourceCode.removeAllListeners();
}
- this._rawSourceCodeForScriptId = {};
- this._rawSourceCodeForURL = {};
- this._rawSourceCodeForDocumentURL = {};
+ this._rawSourceCode = {};
this._presentationCallFrames = [];
this._selectedCallFrame = null;
this._breakpointManager.debuggerReset();
@@ -975,8 +960,8 @@
reset: function()
{
for (var id in this._anchorsForRawSourceCode) {
- if (this._model._rawSourceCodeForScriptId[id]) // In case of navigation the list of rawSourceCodes is empty.
- this._model._rawSourceCodeForScriptId[id].removeEventListener(WebInspector.RawSourceCode.Events.SourceMappingUpdated, this._updateSourceAnchors, this);
+ if (this._model._rawSourceCode[id]) // In case of navigation the list of rawSourceCodes is empty.
+ this._model._rawSourceCode[id].removeEventListener(WebInspector.RawSourceCode.Events.SourceMappingUpdated, this._updateSourceAnchors, this);
}
this._anchorsForRawSourceCode = {};
},
Modified: trunk/Source/WebCore/inspector/front-end/RawSourceCode.js (98939 => 98940)
--- trunk/Source/WebCore/inspector/front-end/RawSourceCode.js 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/Source/WebCore/inspector/front-end/RawSourceCode.js 2011-11-01 07:24:13 UTC (rev 98940)
@@ -211,7 +211,7 @@
var originalContentProvider = this._createContentProvider();
if (!this._formatted) {
- var uiSourceCode = new WebInspector.UISourceCode(this.url, this.url, this.isContentScript, this, originalContentProvider);
+ var uiSourceCode = new WebInspector.UISourceCode(this.id, this.url, this.isContentScript, this, originalContentProvider);
var sourceMapping = new WebInspector.RawSourceCode.PlainSourceMapping(this, uiSourceCode);
callback(sourceMapping);
return;
@@ -232,7 +232,7 @@
function didFormatContent(formattedContent, mapping)
{
var contentProvider = new WebInspector.StaticContentProvider(mimeType, formattedContent)
- var uiSourceCode = new WebInspector.UISourceCode("deobfuscated:" + this.url, this.url, this.isContentScript, this, contentProvider);
+ var uiSourceCode = new WebInspector.UISourceCode("deobfuscated:" + this.id, this.url, this.isContentScript, this, contentProvider);
var sourceMapping = new WebInspector.RawSourceCode.FormattedSourceMapping(this, uiSourceCode, mapping);
callback(sourceMapping);
}
Modified: trunk/Source/WebCore/inspector/front-end/Script.js (98939 => 98940)
--- trunk/Source/WebCore/inspector/front-end/Script.js 2011-11-01 07:11:40 UTC (rev 98939)
+++ trunk/Source/WebCore/inspector/front-end/Script.js 2011-11-01 07:24:13 UTC (rev 98940)
@@ -126,10 +126,5 @@
DebuggerAgent.setScriptSource(this.scriptId, newSource, undefined, didEditScriptSource.bind(this));
} else
callback("Script failed to parse");
- },
-
- isInlineScript: function()
- {
- return this.sourceURL && this.lineOffset !== 0 && this.columnOffset !== 0;
}
}