@@ -1744,7 +1744,7 @@ private Clip ProcessClip(Clip clip)
17441744 {
17451745 var x = Math . Round ( clip . X ) ;
17461746 var y = Math . Round ( clip . Y ) ;
1747-
1747+
17481748 return new Clip
17491749 {
17501750 X = x ,
@@ -1951,7 +1951,7 @@ private async Task OnAttachedToTarget(TargetAttachedToTargetResponse e)
19511951 return ;
19521952 }
19531953 var session = Client . CreateSession ( TargetType . Worker , sessionId ) ;
1954- var worker = new Worker ( session , targetInfo . Url , AddConsoleMessage , HandleException ) ;
1954+ var worker = new Worker ( session , targetInfo . Url , AddConsoleMessageAsync , HandleException ) ;
19551955 _workers [ sessionId ] = worker ;
19561956 WorkerCreated ? . Invoke ( this , new WorkerEventArgs ( worker ) ) ;
19571957 }
@@ -1967,7 +1967,15 @@ private async Task OnLogEntryAddedAsync(LogEntryAddedResponse e)
19671967 }
19681968 if ( e . Entry . Source != TargetType . Worker )
19691969 {
1970- Console ? . Invoke ( this , new ConsoleEventArgs ( new ConsoleMessage ( e . Entry . Level , e . Entry . Text ) ) ) ;
1970+ Console ? . Invoke ( this , new ConsoleEventArgs ( new ConsoleMessage (
1971+ e . Entry . Level ,
1972+ e . Entry . Text ,
1973+ null ,
1974+ new ConsoleMessageLocation
1975+ {
1976+ URL = e . Entry . URL ,
1977+ LineNumber = e . Entry . LineNumber
1978+ } ) ) ) ;
19711979 }
19721980 }
19731981
@@ -2039,10 +2047,11 @@ private Task OnConsoleAPI(PageConsoleResponse message)
20392047 }
20402048 var ctx = _frameManager . ExecutionContextById ( message . ExecutionContextId ) ;
20412049 var values = message . Args . Select ( ctx . CreateJSHandle ) . ToArray ( ) ;
2042- return AddConsoleMessage ( message . Type , values ) ;
2050+
2051+ return AddConsoleMessageAsync ( message . Type , values , message . StackTrace ) ;
20432052 }
20442053
2045- private async Task AddConsoleMessage ( ConsoleType type , JSHandle [ ] values )
2054+ private async Task AddConsoleMessageAsync ( ConsoleType type , JSHandle [ ] values , Messaging . StackTrace stackTrace )
20462055 {
20472056 if ( Console ? . GetInvocationList ( ) . Length == 0 )
20482057 {
@@ -2054,7 +2063,16 @@ private async Task AddConsoleMessage(ConsoleType type, JSHandle[] values)
20542063 ? i . ToString ( )
20552064 : RemoteObjectHelper . ValueFromRemoteObject < string > ( i . RemoteObject ) ) ;
20562065
2057- var consoleMessage = new ConsoleMessage ( type , string . Join ( " " , tokens ) , values ) ;
2066+ var location = new ConsoleMessageLocation ( ) ;
2067+ if ( stackTrace ? . CallFrames ? . Length > 0 )
2068+ {
2069+ var callFrame = stackTrace . CallFrames [ 0 ] ;
2070+ location . URL = callFrame . URL ;
2071+ location . LineNumber = callFrame . LineNumber ;
2072+ location . ColumnNumber = callFrame . ColumnNumber ;
2073+ }
2074+
2075+ var consoleMessage = new ConsoleMessage ( type , string . Join ( " " , tokens ) , values , location ) ;
20582076 Console ? . Invoke ( this , new ConsoleEventArgs ( consoleMessage ) ) ;
20592077 }
20602078
0 commit comments