[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

podivilov at chromium.org podivilov at chromium.org
Sun Feb 20 23:42:39 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 5d1abbf52ab200f3d3a4ca03fdb73eccb8e1e357
Author: podivilov at chromium.org <podivilov at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jan 24 13:55:59 2011 +0000

    2011-01-24  Pavel Podivilov  <podivilov at chromium.org>
    
            Reviewed by Yury Semikhatsky.
    
            Web Inspector: set breakpoints by line:column.
            https://bugs.webkit.org/show_bug.cgi?id=52615
    
            * CMakeLists.txt:
            * GNUmakefile.am:
            * WebCore.gypi:
            * WebCore.pro:
            * WebCore.vcproj/WebCore.vcproj:
            * WebCore.xcodeproj/project.pbxproj:
            * bindings/js/ScriptDebugServer.cpp:
            (WebCore::ScriptDebugServer::setBreakpoint):
            (WebCore::ScriptDebugServer::removeBreakpoint):
            (WebCore::ScriptDebugServer::hasBreakpoint):
            (WebCore::ScriptDebugServer::clearBreakpoints):
            * bindings/js/ScriptDebugServer.h:
            * bindings/v8/DebuggerScript.js:
            ():
            * bindings/v8/ScriptDebugServer.cpp:
            (WebCore::ScriptDebugServer::setBreakpoint):
            * bindings/v8/ScriptDebugServer.h:
            * inspector/Inspector.idl:
            * inspector/InspectorBrowserDebuggerAgent.cpp:
            (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
            * inspector/InspectorDebuggerAgent.cpp:
            (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
            (WebCore::InspectorDebuggerAgent::setBreakpoint):
            (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
            (WebCore::InspectorDebuggerAgent::didParseSource):
            * inspector/InspectorDebuggerAgent.h:
            * inspector/ScriptBreakpoint.cpp: Removed.
            * inspector/ScriptBreakpoint.h:
            (WebCore::ScriptBreakpoint::ScriptBreakpoint):
            * inspector/front-end/Breakpoint.js:
            (WebInspector.Breakpoint):
            (WebInspector.Breakpoint.prototype.get url):
            * inspector/front-end/BreakpointManager.js:
            (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
            * inspector/front-end/DebuggerModel.js:
            (WebInspector.DebuggerModel.prototype.continueToLine):
            (WebInspector.DebuggerModel.prototype.setBreakpoint):
            (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
            (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76509 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt
index 1128c2e..aa3d6ce 100644
--- a/Source/WebCore/CMakeLists.txt
+++ b/Source/WebCore/CMakeLists.txt
@@ -1179,7 +1179,6 @@ SET(WebCore_SOURCES
     inspector/InspectorTimelineAgent.cpp
     inspector/InspectorValues.cpp
     inspector/ScriptArguments.cpp
-    inspector/ScriptBreakpoint.cpp
     inspector/ScriptCallFrame.cpp
     inspector/ScriptCallStack.cpp
     inspector/TimelineRecordFactory.cpp
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index f9e3fcd..8795002 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,50 @@
+2011-01-24  Pavel Podivilov  <podivilov at chromium.org>
+
+        Reviewed by Yury Semikhatsky.
+
+        Web Inspector: set breakpoints by line:column.
+        https://bugs.webkit.org/show_bug.cgi?id=52615
+
+        * CMakeLists.txt:
+        * GNUmakefile.am:
+        * WebCore.gypi:
+        * WebCore.pro:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * bindings/js/ScriptDebugServer.cpp:
+        (WebCore::ScriptDebugServer::setBreakpoint):
+        (WebCore::ScriptDebugServer::removeBreakpoint):
+        (WebCore::ScriptDebugServer::hasBreakpoint):
+        (WebCore::ScriptDebugServer::clearBreakpoints):
+        * bindings/js/ScriptDebugServer.h:
+        * bindings/v8/DebuggerScript.js:
+        ():
+        * bindings/v8/ScriptDebugServer.cpp:
+        (WebCore::ScriptDebugServer::setBreakpoint):
+        * bindings/v8/ScriptDebugServer.h:
+        * inspector/Inspector.idl:
+        * inspector/InspectorBrowserDebuggerAgent.cpp:
+        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
+        * inspector/InspectorDebuggerAgent.cpp:
+        (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
+        (WebCore::InspectorDebuggerAgent::setBreakpoint):
+        (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
+        (WebCore::InspectorDebuggerAgent::didParseSource):
+        * inspector/InspectorDebuggerAgent.h:
+        * inspector/ScriptBreakpoint.cpp: Removed.
+        * inspector/ScriptBreakpoint.h:
+        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
+        * inspector/front-end/Breakpoint.js:
+        (WebInspector.Breakpoint):
+        (WebInspector.Breakpoint.prototype.get url):
+        * inspector/front-end/BreakpointManager.js:
+        (WebInspector.JavaScriptBreakpoint.prototype._serializeToJSON):
+        * inspector/front-end/DebuggerModel.js:
+        (WebInspector.DebuggerModel.prototype.continueToLine):
+        (WebInspector.DebuggerModel.prototype.setBreakpoint):
+        (WebInspector.DebuggerModel.prototype._breakpointSetOnBackend):
+        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
+
 2011-01-24  Peter Beverloo  <peter at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/Source/WebCore/GNUmakefile.am b/Source/WebCore/GNUmakefile.am
index 3bd9e97..7da56f0 100644
--- a/Source/WebCore/GNUmakefile.am
+++ b/Source/WebCore/GNUmakefile.am
@@ -2007,7 +2007,6 @@ webcore_sources += \
 	Source/WebCore/inspector/InspectorWorkerResource.h \
 	Source/WebCore/inspector/ScriptArguments.cpp \
 	Source/WebCore/inspector/ScriptArguments.h \
-	Source/WebCore/inspector/ScriptBreakpoint.cpp \
 	Source/WebCore/inspector/ScriptBreakpoint.h \
 	Source/WebCore/inspector/ScriptCallFrame.cpp \
 	Source/WebCore/inspector/ScriptCallFrame.h \
diff --git a/Source/WebCore/WebCore.gypi b/Source/WebCore/WebCore.gypi
index 35324b9..bc1254a 100644
--- a/Source/WebCore/WebCore.gypi
+++ b/Source/WebCore/WebCore.gypi
@@ -2058,7 +2058,6 @@
             'inspector/InspectorValues.cpp',
             'inspector/InspectorValues.h',
             'inspector/InspectorWorkerResource.h',
-            'inspector/ScriptBreakpoint.cpp',
             'inspector/ScriptBreakpoint.h',
             'inspector/ScriptArguments.cpp',
             'inspector/ScriptArguments.h',
diff --git a/Source/WebCore/WebCore.pro b/Source/WebCore/WebCore.pro
index b26ec4c..cb53f39 100644
--- a/Source/WebCore/WebCore.pro
+++ b/Source/WebCore/WebCore.pro
@@ -1068,7 +1068,6 @@ SOURCES += \
     inspector/InspectorTimelineAgent.cpp \
     inspector/InspectorValues.cpp \
     inspector/ScriptArguments.cpp \
-    inspector/ScriptBreakpoint.cpp \
     inspector/ScriptCallFrame.cpp \
     inspector/ScriptCallStack.cpp \
     inspector/TimelineRecordFactory.cpp \
diff --git a/Source/WebCore/WebCore.vcproj/WebCore.vcproj b/Source/WebCore/WebCore.vcproj/WebCore.vcproj
index f2d92bb..6f8a6a4 100755
--- a/Source/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/Source/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -65298,10 +65298,6 @@
 				>
 			</File>
 			<File
-				RelativePath="..\inspector\ScriptBreakpoint.cpp"
-				>
-			</File>
-			<File
 				RelativePath="..\inspector\ScriptBreakpoint.h"
 				>
 			</File>
diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
index dc423d1..921f1a9 100644
--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -647,7 +647,6 @@
 		1CF6BE140E9BB4670025E1CD /* ObjCNodeFilterCondition.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CF6BE120E9BB4670025E1CD /* ObjCNodeFilterCondition.mm */; };
 		1CF6BE150E9BB4670025E1CD /* ObjCNodeFilterCondition.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CF6BE130E9BB4670025E1CD /* ObjCNodeFilterCondition.h */; };
 		1CFAE3230A6D6A3F0032593D /* libobjc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 1CFAE3220A6D6A3F0032593D /* libobjc.dylib */; };
-		200B190911C277D900DCCD3A /* ScriptBreakpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 200B190811C277D900DCCD3A /* ScriptBreakpoint.cpp */; };
 		20D629261253690B00081543 /* InspectorInstrumentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 20D629241253690B00081543 /* InspectorInstrumentation.cpp */; };
 		20D629271253690B00081543 /* InspectorInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 20D629251253690B00081543 /* InspectorInstrumentation.h */; };
 		228C284510D82500009D0D0E /* ScriptWrappable.h in Headers */ = {isa = PBXBuildFile; fileRef = 228C284410D82500009D0D0E /* ScriptWrappable.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -6990,7 +6989,6 @@
 		1CF6BE120E9BB4670025E1CD /* ObjCNodeFilterCondition.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ObjCNodeFilterCondition.mm; sourceTree = "<group>"; };
 		1CF6BE130E9BB4670025E1CD /* ObjCNodeFilterCondition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjCNodeFilterCondition.h; sourceTree = "<group>"; };
 		1CFAE3220A6D6A3F0032593D /* libobjc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libobjc.dylib; path = /usr/lib/libobjc.dylib; sourceTree = "<absolute>"; };
-		200B190811C277D900DCCD3A /* ScriptBreakpoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptBreakpoint.cpp; sourceTree = "<group>"; };
 		20D629241253690B00081543 /* InspectorInstrumentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorInstrumentation.cpp; sourceTree = "<group>"; };
 		20D629251253690B00081543 /* InspectorInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorInstrumentation.h; sourceTree = "<group>"; };
 		228C284410D82500009D0D0E /* ScriptWrappable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptWrappable.h; sourceTree = "<group>"; };
@@ -13035,7 +13033,6 @@
 				BCC64F5F0DCFB84E0081EF3B /* localizedStrings.js */,
 				F39BE95912673BF400E0A674 /* ScriptArguments.cpp */,
 				F39BE95A12673BF400E0A674 /* ScriptArguments.h */,
-				200B190811C277D900DCCD3A /* ScriptBreakpoint.cpp */,
 				7AFD4A8A1131C2760035B883 /* ScriptBreakpoint.h */,
 				416E75CA0EDF90C700360E1D /* ScriptCallFrame.cpp */,
 				416E75C90EDF90C700360E1D /* ScriptCallFrame.h */,
@@ -24616,7 +24613,6 @@
 				BCEC01BD0C274DAC009F4EC9 /* Screen.cpp in Sources */,
 				A84D82C211D3474800972990 /* ScriptableDocumentParser.cpp in Sources */,
 				F39BE95B12673BF400E0A674 /* ScriptArguments.cpp in Sources */,
-				200B190911C277D900DCCD3A /* ScriptBreakpoint.cpp in Sources */,
 				41F1D2200EF35C2A00DA8753 /* ScriptCachedFrameData.cpp in Sources */,
 				416E75CC0EDF90C700360E1D /* ScriptCallFrame.cpp in Sources */,
 				416E75BF0EDF8FD700360E1D /* ScriptCallStack.cpp in Sources */,
diff --git a/Source/WebCore/bindings/js/ScriptDebugServer.cpp b/Source/WebCore/bindings/js/ScriptDebugServer.cpp
index b516f6d..c3a3fa8 100644
--- a/Source/WebCore/bindings/js/ScriptDebugServer.cpp
+++ b/Source/WebCore/bindings/js/ScriptDebugServer.cpp
@@ -138,19 +138,21 @@ bool ScriptDebugServer::hasListenersInterestedInPage(Page* page)
     return m_pageListenersMap.contains(page);
 }
 
-String ScriptDebugServer::setBreakpoint(const String& sourceID, unsigned lineNumber, const String& condition, bool enabled, unsigned* actualLineNumber)
+String ScriptDebugServer::setBreakpoint(const String& sourceID, const ScriptBreakpoint& scriptBreakpoint, long* actualLineNumber, long* actualColumnNumber)
 {
     intptr_t sourceIDValue = sourceID.toIntPtr();
     if (!sourceIDValue)
         return "";
-    BreakpointsMap::iterator it = m_breakpoints.find(sourceIDValue);
-    if (it == m_breakpoints.end())
-        it = m_breakpoints.set(sourceIDValue, SourceBreakpoints()).first;
-    if (it->second.contains(lineNumber))
+    SourceIdToBreakpointsMap::iterator it = m_sourceIdToBreakpoints.find(sourceIDValue);
+    if (it == m_sourceIdToBreakpoints.end())
+        it = m_sourceIdToBreakpoints.set(sourceIDValue, LineToBreakpointMap()).first;
+    if (it->second.contains(scriptBreakpoint.lineNumber))
         return "";
-    it->second.set(lineNumber, ScriptBreakpoint(enabled, condition));
-    *actualLineNumber = lineNumber;
-    return makeString(sourceID, ":", String::number(lineNumber));
+    it->second.set(scriptBreakpoint.lineNumber, scriptBreakpoint);
+    *actualLineNumber = scriptBreakpoint.lineNumber;
+    // FIXME(WK53003): implement setting breakpoints by line:column.
+    *actualColumnNumber = 1;
+    return makeString(sourceID, ":", String::number(scriptBreakpoint.lineNumber));
 }
 
 void ScriptDebugServer::removeBreakpoint(const String& breakpointId)
@@ -166,8 +168,8 @@ void ScriptDebugServer::removeBreakpoint(const String& breakpointId)
     unsigned lineNumber = tokens[1].toUInt(&success);
     if (!success)
         return;
-    BreakpointsMap::iterator it = m_breakpoints.find(sourceIDValue);
-    if (it != m_breakpoints.end())
+    SourceIdToBreakpointsMap::iterator it = m_sourceIdToBreakpoints.find(sourceIDValue);
+    if (it != m_sourceIdToBreakpoints.end())
         it->second.remove(lineNumber);
 }
 
@@ -176,10 +178,10 @@ bool ScriptDebugServer::hasBreakpoint(intptr_t sourceID, unsigned lineNumber) co
     if (!m_breakpointsActivated)
         return false;
 
-    BreakpointsMap::const_iterator it = m_breakpoints.find(sourceID);
-    if (it == m_breakpoints.end())
+    SourceIdToBreakpointsMap::const_iterator it = m_sourceIdToBreakpoints.find(sourceID);
+    if (it == m_sourceIdToBreakpoints.end())
         return false;
-    SourceBreakpoints::const_iterator breakIt = it->second.find(lineNumber);
+    LineToBreakpointMap::const_iterator breakIt = it->second.find(lineNumber);
     if (breakIt == it->second.end() || !breakIt->second.enabled)
         return false;
 
@@ -198,7 +200,7 @@ bool ScriptDebugServer::hasBreakpoint(intptr_t sourceID, unsigned lineNumber) co
 
 void ScriptDebugServer::clearBreakpoints()
 {
-    m_breakpoints.clear();
+    m_sourceIdToBreakpoints.clear();
 }
 
 void ScriptDebugServer::setBreakpointsActivated(bool activated)
diff --git a/Source/WebCore/bindings/js/ScriptDebugServer.h b/Source/WebCore/bindings/js/ScriptDebugServer.h
index bde4736..622d49b 100644
--- a/Source/WebCore/bindings/js/ScriptDebugServer.h
+++ b/Source/WebCore/bindings/js/ScriptDebugServer.h
@@ -64,7 +64,7 @@ public:
     void addListener(ScriptDebugListener*, Page*);
     void removeListener(ScriptDebugListener*, Page*);
 
-    String setBreakpoint(const String& sourceID, unsigned lineNumber, const String& condition, bool enabled, unsigned* actualLineNumber);
+    String setBreakpoint(const String& sourceID, const ScriptBreakpoint&, long* actualLineNumber, long* actualColumnNumber);
     void removeBreakpoint(const String& breakpointId);
     void clearBreakpoints();
     void setBreakpointsActivated(bool activated);
@@ -138,7 +138,8 @@ private:
     void didRemoveListener(Page*);
 
     typedef HashMap<Page*, ListenerSet*> PageListenersMap;
-    typedef HashMap<intptr_t, SourceBreakpoints> BreakpointsMap;
+    typedef HashMap<long, ScriptBreakpoint> LineToBreakpointMap;
+    typedef HashMap<intptr_t, LineToBreakpointMap> SourceIdToBreakpointsMap;
 
     PageListenersMap m_pageListenersMap;
     bool m_callingListeners;
@@ -150,7 +151,7 @@ private:
     bool m_breakpointsActivated;
     JavaScriptCallFrame* m_pauseOnCallFrame;
     RefPtr<JavaScriptCallFrame> m_currentCallFrame;
-    BreakpointsMap m_breakpoints;
+    SourceIdToBreakpointsMap m_sourceIdToScriptBreakpoints;
     Timer<ScriptDebugServer> m_recompileTimer;
 };
 
diff --git a/Source/WebCore/bindings/v8/DebuggerScript.js b/Source/WebCore/bindings/v8/DebuggerScript.js
index eb9de2f..346974a 100644
--- a/Source/WebCore/bindings/v8/DebuggerScript.js
+++ b/Source/WebCore/bindings/v8/DebuggerScript.js
@@ -91,8 +91,9 @@ DebuggerScript._formatScript = function(script)
 
 DebuggerScript.setBreakpoint = function(execState, args)
 {
-    args.lineNumber = DebuggerScript._webkitToV8LineNumber(args.lineNumber);
-    var breakId = Debug.setScriptBreakPointById(args.scriptId, args.lineNumber, 0 /* column */, args.condition);
+    var lineNumber = DebuggerScript._webkitToV8LineNumber(args.lineNumber);
+    var columnNumber = DebuggerScript._webkitToV8LineNumber(args.columnNumber);
+    var breakId = Debug.setScriptBreakPointById(args.scriptId, lineNumber, columnNumber, args.condition);
     if (!args.enabled)
         Debug.disableScriptBreakPoint(breakId);
 
@@ -100,6 +101,7 @@ DebuggerScript.setBreakpoint = function(execState, args)
     if (!locations.length)
         return undefined;
     args.lineNumber = DebuggerScript._v8ToWebkitLineNumber(locations[0].line);
+    args.columnNumber = DebuggerScript._v8ToWebkitLineNumber(locations[0].column);
     return breakId.toString();
 }
 
diff --git a/Source/WebCore/bindings/v8/ScriptDebugServer.cpp b/Source/WebCore/bindings/v8/ScriptDebugServer.cpp
index 1c70a0e..97c57f4 100644
--- a/Source/WebCore/bindings/v8/ScriptDebugServer.cpp
+++ b/Source/WebCore/bindings/v8/ScriptDebugServer.cpp
@@ -143,7 +143,7 @@ void ScriptDebugServer::removeListener(ScriptDebugListener* listener, Page* page
     // FIXME: Remove all breakpoints set by the agent.
 }
 
-String ScriptDebugServer::setBreakpoint(const String& sourceID, unsigned lineNumber, const String& condition, bool enabled, unsigned* actualLineNumber)
+String ScriptDebugServer::setBreakpoint(const String& sourceID, const ScriptBreakpoint& scriptBreakpoint, long* actualLineNumber, long* actualColumnNumber)
 {
     v8::HandleScope scope;
     v8::Local<v8::Context> debuggerContext = v8::Debug::GetDebugContext();
@@ -151,15 +151,17 @@ String ScriptDebugServer::setBreakpoint(const String& sourceID, unsigned lineNum
 
     v8::Local<v8::Object> args = v8::Object::New();
     args->Set(v8::String::New("scriptId"), v8String(sourceID));
-    args->Set(v8::String::New("lineNumber"), v8::Integer::New(lineNumber));
-    args->Set(v8::String::New("condition"), v8String(condition));
-    args->Set(v8::String::New("enabled"), v8::Boolean::New(enabled));
+    args->Set(v8::String::New("lineNumber"), v8::Integer::New(scriptBreakpoint.lineNumber));
+    args->Set(v8::String::New("columnNumber"), v8::Integer::New(scriptBreakpoint.columnNumber));
+    args->Set(v8::String::New("condition"), v8String(scriptBreakpoint.condition));
+    args->Set(v8::String::New("enabled"), v8::Boolean::New(scriptBreakpoint.enabled));
 
     v8::Handle<v8::Function> setBreakpointFunction = v8::Local<v8::Function>::Cast(m_debuggerScript.get()->Get(v8::String::New("setBreakpoint")));
     v8::Handle<v8::Value> breakpointId = v8::Debug::Call(setBreakpointFunction, args);
     if (!breakpointId->IsString())
         return "";
     *actualLineNumber = args->Get(v8::String::New("lineNumber"))->Int32Value();
+    *actualColumnNumber = args->Get(v8::String::New("columnNumber"))->Int32Value();
     return v8StringToWebCoreString(breakpointId->ToString());
 }
 
diff --git a/Source/WebCore/bindings/v8/ScriptDebugServer.h b/Source/WebCore/bindings/v8/ScriptDebugServer.h
index 8fa723f..953ddc3 100644
--- a/Source/WebCore/bindings/v8/ScriptDebugServer.h
+++ b/Source/WebCore/bindings/v8/ScriptDebugServer.h
@@ -56,7 +56,7 @@ public:
     void addListener(ScriptDebugListener*, Page*);
     void removeListener(ScriptDebugListener*, Page*);
 
-    String setBreakpoint(const String& sourceID, unsigned lineNumber, const String& condition, bool enabled, unsigned* actualLineNumber);
+    String setBreakpoint(const String& sourceID, const ScriptBreakpoint&, long* actualLineNumber, long* actualColumnNumber);
     void removeBreakpoint(const String& breakpointId);
     void clearBreakpoints();
     void setBreakpointsActivated(bool activated);
diff --git a/Source/WebCore/inspector/Inspector.idl b/Source/WebCore/inspector/Inspector.idl
index cf0885f..57f995b 100644
--- a/Source/WebCore/inspector/Inspector.idl
+++ b/Source/WebCore/inspector/Inspector.idl
@@ -253,7 +253,7 @@ module core {
         [domain=Debugger] void activateBreakpoints();
         [domain=Debugger] void deactivateBreakpoints();
 
-        [domain=Debugger] void setBreakpoint(in String sourceID, in unsigned int lineNumber, in String condition, in boolean enabled, out String breakpointId, out unsigned int actualLineNumber);
+        [domain=Debugger] void setBreakpoint(in Object breakpoint, out String breakpointId, out long actualLineNumber, out long actualColumnNumber);
         [domain=Debugger] void removeBreakpoint(in String breakpointId);
 
         [domain=BrowserDebugger] void setDOMBreakpoint(in long nodeId, in long type);
@@ -279,7 +279,7 @@ module core {
         [domain=Debugger] void evaluateOnCallFrame(in Object callFrameId, in String expression, in String objectGroup, out Value result);
         [domain=Debugger] void getCompletionsOnCallFrame(in Object callFrameId, in String expression, in boolean includeInspectorCommandLineAPI, out Value result);
 
-        [notify, domain=Debugger] void breakpointResolved(out String breakpointId, out String sourceID, out unsigned int lineNumber, out String condition, out boolean enabled, out unsigned int originalLineNumber);
+        [notify, domain=Debugger] void breakpointResolved(out String breakpointId, out Object breakpoint);
 
 #if defined(ENABLE_WORKERS) && ENABLE_WORKERS
         [notify, domain=Debugger] void didCreateWorker(out long id, out String url, out boolean isShared);
diff --git a/Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp b/Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp
index 7ee7e81..e39e5c3 100644
--- a/Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp
+++ b/Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp
@@ -119,10 +119,13 @@ void InspectorBrowserDebuggerAgent::restoreStickyBreakpoint(PassRefPtr<Inspector
         double lineNumber;
         if (!condition->getNumber("lineNumber", &lineNumber))
             return;
+        double columnNumber;
+        if (!condition->getNumber("columnNumber", &columnNumber))
+            return;
         String javaScriptCondition;
         if (!condition->getString("condition", &javaScriptCondition))
             return;
-        m_inspectorAgent->debuggerAgent()->setStickyBreakpoint(url, static_cast<unsigned>(lineNumber), javaScriptCondition, enabled);
+        m_inspectorAgent->debuggerAgent()->setStickyBreakpoint(url, ScriptBreakpoint(long(lineNumber), long(columnNumber), javaScriptCondition, enabled));
     } else if (type == xhrBreakpointType) {
         if (!enabled)
             return;
diff --git a/Source/WebCore/inspector/InspectorDebuggerAgent.cpp b/Source/WebCore/inspector/InspectorDebuggerAgent.cpp
index 2ffaa83..9fbf4e3 100644
--- a/Source/WebCore/inspector/InspectorDebuggerAgent.cpp
+++ b/Source/WebCore/inspector/InspectorDebuggerAgent.cpp
@@ -79,24 +79,40 @@ void InspectorDebuggerAgent::deactivateBreakpoints()
     ScriptDebugServer::shared().deactivateBreakpoints();
 }
 
-void InspectorDebuggerAgent::setStickyBreakpoint(const String& url, unsigned lineNumber, const String& condition, bool enabled)
+void InspectorDebuggerAgent::setStickyBreakpoint(const String& url, const ScriptBreakpoint& breakpoint)
 {
-    HashMap<String, ScriptBreakpoints>::iterator it = m_stickyBreakpoints.find(url);
+    InspectedURLToBreakpointsMap::iterator it = m_stickyBreakpoints.find(url);
     if (it == m_stickyBreakpoints.end())
-        it = m_stickyBreakpoints.set(url, ScriptBreakpoints()).first;
-    it->second.set(lineNumber, Breakpoint(condition, enabled));
+        it = m_stickyBreakpoints.set(url, LocationToBreakpointMap()).first;
+    it->second.set(Location(breakpoint.lineNumber, breakpoint.columnNumber), breakpoint);
 
     URLToSourceIDsMap::iterator urlToSourceIDsIterator = m_urlToSourceIDs.find(url);
     if (urlToSourceIDsIterator == m_urlToSourceIDs.end())
         return;
     const Vector<String>& sourceIDs = urlToSourceIDsIterator->second;
     for (size_t i = 0; i < sourceIDs.size(); ++i)
-        restoreBreakpoint(sourceIDs[i], lineNumber, condition, enabled);
+        restoreBreakpoint(sourceIDs[i], breakpoint);
 }
 
-void InspectorDebuggerAgent::setBreakpoint(const String& sourceID, unsigned lineNumber, const String& condition, bool enabled, String* breakpointId, unsigned int* actualLineNumber)
+void InspectorDebuggerAgent::setBreakpoint(PassRefPtr<InspectorObject> breakpoint, String* breakpointId, long* actualLineNumber, long* actualColumnNumber)
 {
-    *breakpointId = ScriptDebugServer::shared().setBreakpoint(sourceID, lineNumber, condition, enabled, actualLineNumber);
+    String sourceID;
+    if (!breakpoint->getString("sourceID", &sourceID))
+        return;
+    double lineNumber;
+    if (!breakpoint->getNumber("lineNumber", &lineNumber))
+        return;
+    double columnNumber;
+    if (!breakpoint->getNumber("columnNumber", &columnNumber))
+        return;
+    String condition;
+    if (!breakpoint->getString("condition", &condition))
+        return;
+    bool enabled;
+    if (!breakpoint->getBoolean("enabled", &enabled))
+        return;
+    ScriptBreakpoint scriptBreakpoint(lineNumber, columnNumber, condition, enabled);
+    *breakpointId = ScriptDebugServer::shared().setBreakpoint(sourceID, scriptBreakpoint, actualLineNumber, actualColumnNumber);
 }
 
 void InspectorDebuggerAgent::removeBreakpoint(const String& breakpointId)
@@ -104,12 +120,22 @@ void InspectorDebuggerAgent::removeBreakpoint(const String& breakpointId)
     ScriptDebugServer::shared().removeBreakpoint(breakpointId);
 }
 
-void InspectorDebuggerAgent::restoreBreakpoint(const String& sourceID, unsigned lineNumber, const String& condition, bool enabled)
+void InspectorDebuggerAgent::restoreBreakpoint(const String& sourceID, const ScriptBreakpoint& breakpoint)
 {
-    unsigned actualLineNumber = 0;
-    String breakpointId = ScriptDebugServer::shared().setBreakpoint(sourceID, lineNumber, condition, enabled, &actualLineNumber);
-    if (!breakpointId.isEmpty())
-        m_frontend->breakpointResolved(breakpointId, sourceID, actualLineNumber, condition, enabled, lineNumber);
+    long actualLineNumber = 0, actualColumnNumber = 0;
+    String breakpointId = ScriptDebugServer::shared().setBreakpoint(sourceID, breakpoint, &actualLineNumber, &actualColumnNumber);
+    if (breakpointId.isEmpty())
+        return;
+    RefPtr<InspectorObject> breakpointData = InspectorObject::create();
+    breakpointData->setString("id", breakpointId);
+    breakpointData->setString("sourceID", sourceID);
+    breakpointData->setNumber("lineNumber", actualLineNumber);
+    breakpointData->setNumber("columnNumber", actualColumnNumber);
+    breakpointData->setString("condition", breakpoint.condition);
+    breakpointData->setBoolean("enabled", breakpoint.enabled);
+    breakpointData->setNumber("originalLineNumber", breakpoint.lineNumber);
+    breakpointData->setNumber("originalColumnNumber", breakpoint.columnNumber);
+    m_frontend->breakpointResolved(breakpointId, breakpointData);
 }
 
 void InspectorDebuggerAgent::editScriptSource(const String& sourceID, const String& newContent, bool* success, String* result, RefPtr<InspectorValue>* newCallFrames)
@@ -223,15 +249,13 @@ void InspectorDebuggerAgent::didParseSource(const String& sourceID, const String
         urlToSourceIDsIterator = m_urlToSourceIDs.set(url, Vector<String>()).first;
     urlToSourceIDsIterator->second.append(sourceID);
 
-    HashMap<String, ScriptBreakpoints>::iterator stickyBreakpointsIterator = m_stickyBreakpoints.find(url);
+    InspectedURLToBreakpointsMap::iterator stickyBreakpointsIterator = m_stickyBreakpoints.find(url);
     if (stickyBreakpointsIterator == m_stickyBreakpoints.end())
         return;
 
-    const ScriptBreakpoints& breakpoints = stickyBreakpointsIterator->second;
-    for (ScriptBreakpoints::const_iterator it = breakpoints.begin(); it != breakpoints.end(); ++it) {
-        const Breakpoint& breakpoint = it->second;
-        restoreBreakpoint(sourceID, it->first, breakpoint.first, breakpoint.second);
-    }
+    const LocationToBreakpointMap& breakpoints = stickyBreakpointsIterator->second;
+    for (LocationToBreakpointMap::const_iterator it = breakpoints.begin(); it != breakpoints.end(); ++it)
+        restoreBreakpoint(sourceID, it->second);
 }
 
 void InspectorDebuggerAgent::failedToParseSource(const String& url, const String& data, int firstLine, int errorLine, const String& errorMessage)
diff --git a/Source/WebCore/inspector/InspectorDebuggerAgent.h b/Source/WebCore/inspector/InspectorDebuggerAgent.h
index c16b38f..b665cc4 100644
--- a/Source/WebCore/inspector/InspectorDebuggerAgent.h
+++ b/Source/WebCore/inspector/InspectorDebuggerAgent.h
@@ -32,6 +32,7 @@
 
 #if ENABLE(JAVASCRIPT_DEBUGGER) && ENABLE(INSPECTOR)
 #include "InjectedScript.h"
+#include "ScriptBreakpoint.h"
 #include "ScriptDebugListener.h"
 #include "ScriptState.h"
 #include <wtf/Forward.h>
@@ -64,8 +65,8 @@ public:
     // Part of the protocol.
     void activateBreakpoints();
     void deactivateBreakpoints();
-    void setStickyBreakpoint(const String& url, unsigned lineNumber, const String& condition, bool enabled);
-    void setBreakpoint(const String& sourceID, unsigned lineNumber, const String& condition, bool enabled, String* breakpointId, unsigned int* actualLineNumber);
+    void setStickyBreakpoint(const String& url, const WebCore::ScriptBreakpoint&);
+    void setBreakpoint(PassRefPtr<InspectorObject> breakpoint, String* breakpointId, long* actualLineNumber, long* actualColumnNumber);
     void removeBreakpoint(const String& breakpointId);
     void editScriptSource(const String& sourceID, const String& newContent, bool* success, String* result, RefPtr<InspectorValue>* newCallFrames);
     void getScriptSource(const String& sourceID, String* scriptSource);
@@ -93,17 +94,19 @@ private:
     virtual void didPause(ScriptState*);
     virtual void didContinue();
 
-    void restoreBreakpoint(const String& sourceID, unsigned lineNumber, const String& condition, bool enabled);
+    void restoreBreakpoint(const String& sourceID, const ScriptBreakpoint&);
+
+    typedef HashMap<String, Vector<String> > URLToSourceIDsMap;
+    typedef std::pair<long, long> Location;
+    typedef HashMap<Location, ScriptBreakpoint> LocationToBreakpointMap;
+    typedef HashMap<String, LocationToBreakpointMap> InspectedURLToBreakpointsMap;
 
     InspectorAgent* m_inspectorAgent;
     InspectorFrontend* m_frontend;
     ScriptState* m_pausedScriptState;
     HashMap<String, String> m_scriptIDToContent;
-    typedef HashMap<String, Vector<String> > URLToSourceIDsMap;
     URLToSourceIDsMap m_urlToSourceIDs;
-    typedef std::pair<String, bool> Breakpoint;
-    typedef HashMap<unsigned, Breakpoint> ScriptBreakpoints;
-    HashMap<String, ScriptBreakpoints> m_stickyBreakpoints;
+    InspectedURLToBreakpointsMap m_stickyBreakpoints;
     RefPtr<InspectorObject> m_breakProgramDetails;
     bool m_javaScriptPauseScheduled;
 };
diff --git a/Source/WebCore/inspector/ScriptBreakpoint.cpp b/Source/WebCore/inspector/ScriptBreakpoint.cpp
deleted file mode 100644
index b7205a7..0000000
--- a/Source/WebCore/inspector/ScriptBreakpoint.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "ScriptBreakpoint.h"
-
-#if ENABLE(INSPECTOR)
-
-#include "InspectorValues.h"
-
-namespace WebCore {
-
-void ScriptBreakpoint::sourceBreakpointsFromInspectorObject(PassRefPtr<InspectorObject> breakpoints, SourceBreakpoints* sourceBreakpoints)
-{
-    for (InspectorObject::iterator it = breakpoints->begin(); it != breakpoints->end(); ++it) {
-        bool ok;
-        int lineNumber = it->first.toInt(&ok);
-        if (!ok)
-            continue;
-        RefPtr<InspectorObject> breakpoint = it->second->asObject();
-        if (!breakpoint)
-            continue;
-        bool enabled;
-        RefPtr<InspectorValue> enabledValue = breakpoint->get("enabled");
-        if (!enabledValue || !enabledValue->asBoolean(&enabled))
-            continue;
-        String condition;
-        RefPtr<InspectorValue> conditionValue = breakpoint->get("condition");
-        if (!conditionValue || !conditionValue->asString(&condition))
-            continue;
-        sourceBreakpoints->set(lineNumber, ScriptBreakpoint(enabled, condition));
-    }
-}
-
-PassRefPtr<InspectorObject> ScriptBreakpoint::inspectorObjectFromSourceBreakpoints(const SourceBreakpoints& sourceBreakpoints)
-{
-    RefPtr<InspectorObject> breakpoints = InspectorObject::create();
-    for (SourceBreakpoints::const_iterator it = sourceBreakpoints.begin(); it != sourceBreakpoints.end(); ++it) {
-        RefPtr<InspectorObject> breakpoint = InspectorObject::create();
-        breakpoint->setBoolean("enabled", it->second.enabled);
-        breakpoint->setString("condition", it->second.condition);
-        breakpoints->setObject(String::number(it->first), breakpoint);
-    }
-    return breakpoints.release();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INSPECTOR)
diff --git a/Source/WebCore/inspector/ScriptBreakpoint.h b/Source/WebCore/inspector/ScriptBreakpoint.h
index d8ac762..9521ccd 100644
--- a/Source/WebCore/inspector/ScriptBreakpoint.h
+++ b/Source/WebCore/inspector/ScriptBreakpoint.h
@@ -31,19 +31,15 @@
 #define ScriptBreakpoint_h
 
 #include "PlatformString.h"
-#include <wtf/HashMap.h>
 
 namespace WebCore {
 
-class InspectorObject;
-struct ScriptBreakpoint;
-
-typedef HashMap<int, ScriptBreakpoint> SourceBreakpoints;
-
 struct ScriptBreakpoint {
-    ScriptBreakpoint(bool enabled, const String& condition)
-        : enabled(enabled)
+    ScriptBreakpoint(long lineNumber, long columnNumber, const String& condition, bool enabled)
+        : lineNumber(lineNumber)
+        , columnNumber(columnNumber)
         , condition(condition)
+        , enabled(enabled)
     {
     }
 
@@ -51,13 +47,10 @@ struct ScriptBreakpoint {
     {
     }
 
-    bool enabled;
+    long lineNumber;
+    long columnNumber;
     String condition;
-
-#if ENABLE(INSPECTOR)
-    static void sourceBreakpointsFromInspectorObject(PassRefPtr<InspectorObject>, SourceBreakpoints*);
-    static PassRefPtr<InspectorObject> inspectorObjectFromSourceBreakpoints(const SourceBreakpoints&);
-#endif
+    bool enabled;
 };
 
 } // namespace WebCore
diff --git a/Source/WebCore/inspector/front-end/Breakpoint.js b/Source/WebCore/inspector/front-end/Breakpoint.js
index aa600a7..b8decf0 100644
--- a/Source/WebCore/inspector/front-end/Breakpoint.js
+++ b/Source/WebCore/inspector/front-end/Breakpoint.js
@@ -29,14 +29,14 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-WebInspector.Breakpoint = function(debuggerModel, breakpointId, sourceID, url, line, enabled, condition)
+WebInspector.Breakpoint = function(debuggerModel, breakpointId, data)
 {
     this.id = breakpointId;
-    this.url = url;
-    this.line = line;
-    this.sourceID = sourceID;
-    this._enabled = enabled;
-    this._condition = condition || "";
+    this.sourceID = data.sourceID;
+    this.line = data.lineNumber;
+    this.column = data.columnNumber;
+    this._condition = data.condition;
+    this._enabled = data.enabled;
     this._debuggerModel = debuggerModel;
 }
 
@@ -59,6 +59,13 @@ WebInspector.Breakpoint.prototype = {
         return this._condition;
     },
 
+    get url()
+    {
+        if (!this._url)
+            this._url = this._debuggerModel.scriptForSourceID(this.sourceID).sourceURL;
+        return this._url;
+    },
+
     get data()
     {
         return { id: this.id, url: this.url, sourceID: this.sourceID, lineNumber: this.line, condition: this.condition };
diff --git a/Source/WebCore/inspector/front-end/BreakpointManager.js b/Source/WebCore/inspector/front-end/BreakpointManager.js
index d943d5b..dfd1dfc 100644
--- a/Source/WebCore/inspector/front-end/BreakpointManager.js
+++ b/Source/WebCore/inspector/front-end/BreakpointManager.js
@@ -408,7 +408,7 @@ WebInspector.JavaScriptBreakpoint.prototype = {
     _serializeToJSON: function()
     {
         var type = WebInspector.BreakpointManager.BreakpointTypes.JS;
-        return { type: type, condition: { url: this._url, lineNumber: this._lineNumber, condition: this._condition } };
+        return { type: type, condition: { url: this._url, lineNumber: this._lineNumber, columnNumber: 1, condition: this._condition } };
     }
 }
 
diff --git a/Source/WebCore/inspector/front-end/DebuggerModel.js b/Source/WebCore/inspector/front-end/DebuggerModel.js
index 717486c..2112fd1 100644
--- a/Source/WebCore/inspector/front-end/DebuggerModel.js
+++ b/Source/WebCore/inspector/front-end/DebuggerModel.js
@@ -64,19 +64,26 @@ WebInspector.DebuggerModel.prototype = {
                 InspectorBackend.removeBreakpoint(this._continueToLineBreakpointId);
             this._continueToLineBreakpointId = breakpointId;
         }
-        InspectorBackend.setBreakpoint(sourceID, lineNumber, "", true, didSetBreakpoint.bind(this));
+        var breakpoint = { sourceID: sourceID, lineNumber: lineNumber, columnNumber: 1, condition: "", enabled: true };
+        InspectorBackend.setBreakpoint(breakpoint, didSetBreakpoint.bind(this));
         if (this._paused)
             InspectorBackend.resume();
     },
 
     setBreakpoint: function(sourceID, lineNumber, enabled, condition)
     {
-        function didSetBreakpoint(breakpointId, actualLineNumber)
+        function didSetBreakpoint(breakpointId, actualLineNumber, actualColumnNumber)
         {
-            if (breakpointId)
-                this._breakpointSetOnBackend(breakpointId, sourceID, actualLineNumber, condition, enabled, lineNumber, false);
+            if (!breakpointId)
+                return;
+            breakpoint.originalLineNumber = breakpoint.lineNumber;
+            breakpoint.originalColumnumber = breakpoint.columnNumber;
+            breakpoint.lineNumber = actualLineNumber;
+            breakpoint.columnNumber = actualColumnNumber;
+            this._breakpointSetOnBackend(breakpointId, breakpoint, false);
         }
-        InspectorBackend.setBreakpoint(sourceID, lineNumber, condition, enabled, didSetBreakpoint.bind(this));
+        var breakpoint = { sourceID: sourceID, lineNumber: lineNumber, columnNumber: 1, condition: condition, enabled: enabled };
+        InspectorBackend.setBreakpoint(breakpoint, didSetBreakpoint.bind(this));
     },
 
     removeBreakpoint: function(breakpointId)
@@ -89,18 +96,17 @@ WebInspector.DebuggerModel.prototype = {
         breakpoint.dispatchEventToListeners("removed");
     },
 
-    _breakpointSetOnBackend: function(breakpointId, sourceID, lineNumber, condition, enabled, originalLineNumber, restored)
+    _breakpointSetOnBackend: function(breakpointId, breakpointData, restored)
     {
-        var sourceIDAndLine = this._encodeSourceIDAndLine(sourceID, lineNumber);
+        var sourceIDAndLine = this._encodeSourceIDAndLine(breakpointData.sourceID, breakpointData.lineNumber);
         if (sourceIDAndLine in this._sourceIDAndLineToBreakpointId) {
             InspectorBackend.removeBreakpoint(breakpointId);
             return;
         }
 
-        var url = this._scripts[sourceID].sourceURL;
-        var breakpoint = new WebInspector.Breakpoint(this, breakpointId, sourceID, url, lineNumber, enabled, condition);
+        var breakpoint = new WebInspector.Breakpoint(this, breakpointId, breakpointData);
         breakpoint.restored = restored;
-        breakpoint.originalLineNumber = originalLineNumber;
+        breakpoint.originalLineNumber = breakpointData.originalLineNumber;
         this._breakpoints[breakpointId] = breakpoint;
         this._sourceIDAndLineToBreakpointId[sourceIDAndLine] = breakpointId;
         this.dispatchEventToListeners(WebInspector.DebuggerModel.Events.BreakpointAdded, breakpoint);
@@ -295,9 +301,9 @@ WebInspector.DebuggerDispatcher.prototype = {
         this._debuggerModel._failedToParseScriptSource(sourceURL, source, startingLine, errorLine, errorMessage);
     },
 
-    breakpointResolved: function(breakpointId, sourceID, lineNumber, condition, enabled, originalLineNumber)
+    breakpointResolved: function(breakpointId, breakpoint)
     {
-        this._debuggerModel._breakpointSetOnBackend(breakpointId, sourceID, lineNumber, condition, enabled, originalLineNumber, true);
+        this._debuggerModel._breakpointSetOnBackend(breakpointId, breakpoint, true);
     },
 
     didCreateWorker: function()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list