Cherry pick of WebKit revision r54138 (http://trac.webkit.org/changeset/54138) to add source and line number information to ScriptCallFrames when the caller is unknown.

BUG=2376873

Change-Id: I91346705b9c24cf7862070685bf3830d2a18f12e
diff --git a/WebCore/bindings/js/ScriptCallStack.cpp b/WebCore/bindings/js/ScriptCallStack.cpp
index 824a07b..a435588 100644
--- a/WebCore/bindings/js/ScriptCallStack.cpp
+++ b/WebCore/bindings/js/ScriptCallStack.cpp
@@ -54,14 +54,15 @@
 
     exec->interpreter()->retrieveLastCaller(exec, signedLineNumber, sourceID, urlString, function);
 
+    unsigned lineNumber = signedLineNumber >= 0 ? signedLineNumber : 0;
+
     if (function) {
         m_caller = asInternalFunction(function);
-        unsigned lineNumber = signedLineNumber >= 0 ? signedLineNumber : 0;
         m_frames.append(ScriptCallFrame(m_caller->name(m_exec), urlString, lineNumber, args, skipArgumentCount));
     } else {
         // Caller is unknown, but we should still add the frame, because
         // something called us, and gave us arguments.
-        m_frames.append(ScriptCallFrame(UString(), UString(), 0, args, skipArgumentCount));
+        m_frames.append(ScriptCallFrame(UString(), urlString, lineNumber, args, skipArgumentCount));
     }
 }