WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
114929
Web Inspector: ConsoleMessage should include line and column number where possible
https://bugs.webkit.org/show_bug.cgi?id=114929
Summary
Web Inspector: ConsoleMessage should include line and column number where pos...
Joseph Pecoraro
Reported
2013-04-21 18:04:59 PDT
Currently ConsoleMessage only includes line number information. However, if the original source code is reformatted in the frontend (e.g. pretty printed), then having just the original line number is not enough information to know where the original source code moved too. To know that the frontend would need to know both the line and column number in the original source. ConsoleMessages should have a column number.
Attachments
[PATCH] Add column number alongside line number
(95.91 KB, patch)
2013-04-21 18:22 PDT
,
Joseph Pecoraro
oliver
: review-
joepeck
: commit-queue-
Details
Formatted Diff
Diff
[PATCH] Column Numbers and Stack Traces in Console API messages
(99.72 KB, patch)
2013-04-22 15:45 PDT
,
Joseph Pecoraro
timothy
: review+
buildbot
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from webkit-ews-04 for mac-mountainlion
(639.39 KB, application/zip)
2013-04-22 20:47 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2
(580.39 KB, application/zip)
2013-04-22 23:34 PDT
,
Build Bot
no flags
Details
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Joseph Pecoraro
Comment 1
2013-04-21 18:22:07 PDT
Created
attachment 198979
[details]
[PATCH] Add column number alongside line number This patch: - adds column number (almost) everywhere where line number is available. (Follow up will come for exceptions) - exposes column to ChromeClient alongside line number - adds column to ConsoleMessages in the Inspector Protocol. - provides a column for console.* function calls (log, error, etc.) Lets see how the bot does on other ports.
WebKit Commit Bot
Comment 2
2013-04-21 18:23:22 PDT
Attachment 198979
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/inspector/console/console-url-and-line-expected.txt', u'LayoutTests/inspector/console/console-url-and-line.html', u'LayoutTests/inspector/console/console-url-line-column-expected.txt', u'LayoutTests/inspector/console/console-url-line-column.html', u'Source/WebCore/ChangeLog', u'Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp', u'Source/WebCore/css/CSSParser.cpp', u'Source/WebCore/dom/Document.cpp', u'Source/WebCore/dom/Document.h', u'Source/WebCore/dom/ScriptExecutionContext.cpp', u'Source/WebCore/dom/ScriptExecutionContext.h', u'Source/WebCore/inspector/ConsoleMessage.cpp', u'Source/WebCore/inspector/ConsoleMessage.h', u'Source/WebCore/inspector/Inspector.json', u'Source/WebCore/inspector/InspectorConsoleAgent.cpp', u'Source/WebCore/inspector/InspectorConsoleAgent.h', u'Source/WebCore/inspector/InspectorConsoleInstrumentation.h', u'Source/WebCore/inspector/InspectorInstrumentation.cpp', u'Source/WebCore/inspector/InspectorInstrumentation.h', u'Source/WebCore/inspector/InspectorProfilerAgent.cpp', u'Source/WebCore/inspector/InspectorProfilerAgent.h', u'Source/WebCore/loader/EmptyClients.h', u'Source/WebCore/page/ChromeClient.h', u'Source/WebCore/page/Console.cpp', u'Source/WebCore/page/ContentSecurityPolicy.cpp', u'Source/WebCore/page/PageConsole.cpp', u'Source/WebCore/page/PageConsole.h', u'Source/WebCore/workers/DefaultSharedWorkerRepository.cpp', u'Source/WebCore/workers/SharedWorkerContext.cpp', u'Source/WebCore/workers/WorkerContext.cpp', u'Source/WebCore/workers/WorkerContext.h', u'Source/WebCore/workers/WorkerMessagingProxy.cpp', u'Source/WebCore/workers/WorkerMessagingProxy.h', u'Source/WebCore/workers/WorkerReportingProxy.h', u'Source/WebCore/xml/XSLTProcessorLibxslt.cpp', u'Source/WebCore/xml/XSLTProcessorQt.cpp', u'Source/WebKit/blackberry/Api/DumpRenderTreeClient.h', u'Source/WebKit/blackberry/Api/WebPageClient.h', u'Source/WebKit/blackberry/ChangeLog', u'Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp', u'Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h', u'Source/WebKit/efl/ChangeLog', u'Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp', u'Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h', u'Source/WebKit/gtk/ChangeLog', u'Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp', u'Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h', u'Source/WebKit/mac/ChangeLog', u'Source/WebKit/mac/WebCoreSupport/WebChromeClient.h', u'Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm', u'Source/WebKit/qt/ChangeLog', u'Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp', u'Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h', u'Source/WebKit/win/ChangeLog', u'Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp', u'Source/WebKit/win/WebCoreSupport/WebChromeClient.h', u'Source/WebKit/wince/ChangeLog', u'Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp', u'Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h', u'Source/WebKit/wx/ChangeLog', u'Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp', u'Source/WebKit/wx/WebKitSupport/ChromeClientWx.h', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp', u'Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h']" exit_code: 1 Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp:233: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebKit/wx/WebKitSupport/ChromeClientWx.h:87: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebKit/wx/WebKitSupport/ChromeClientWx.h:87: Omit int when using unsigned [runtime/unsigned] [1] Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h:87: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h:87: Omit int when using unsigned [runtime/unsigned] [1] Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:277: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:277: Omit int when using unsigned [runtime/unsigned] [1] Total errors found: 7 in 64 files If any of these errors are false positives, please file a bug against check-webkit-style.
Oliver Hunt
Comment 3
2013-04-21 19:42:24 PDT
Comment on
attachment 198979
[details]
[PATCH] Add column number alongside line number View in context:
https://bugs.webkit.org/attachment.cgi?id=198979&action=review
This basically looks fine to me, but i'm going to r- it anyway because i'm annoying. We now _always_ generate a stack trace when we throw an exception, we may as well just show it in the console (either in line, or via a drop down, i'm easy with either, but i also wouldn't want me designing UI for anything so I'm going to leave the decision with you)
>>> Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:277 >>> + unsigned int lineNumber, unsigned columnNumber, const String& sourceID) >> >> Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] > > Omit int when using unsigned [runtime/unsigned] [1]
You're changing this line, you may as well fix the style foible
>>> Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h:87 >>> + unsigned int lineNumber, unsigned columnNumber, const String& sourceID); >> >> Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] > > Omit int when using unsigned [runtime/unsigned] [1]
ditto
Timothy Hatcher
Comment 4
2013-04-22 04:32:08 PDT
We do show the stack trace and have for a while. It is the disclosure triangle at the beginning of the error message, if it is available. Not the best or most discoverable UI, but we might change it sometime soon to something better.
Timothy Hatcher
Comment 5
2013-04-22 04:40:13 PDT
Note: we only capture stack traces if the Inspector is open. And I think it is limited to 5 call frames. Those rules were established by Google, and can be subject to change.
Timothy Hatcher
Comment 6
2013-04-22 05:23:58 PDT
So Joe needed to do it this way to allow columns to work when the Inspector isn't open.
Timothy Hatcher
Comment 7
2013-04-22 06:09:05 PDT
With that said, I still don't see the stack trace showing up in the Inspector for exceptions. Maybe we are only getting it for normal console messages?
Joseph Pecoraro
Comment 8
2013-04-22 11:09:03 PDT
(In reply to
comment #7
)
> With that said, I still don't see the stack trace showing up in the Inspector for exceptions. Maybe we are only getting it for normal console messages?
With Oliver's improvements can now get this information for exceptions. However, I haven't modified the exception path with this patch. That will come in the next set of patches. I wanted to try and take smaller steps after getting this large step out of the way, but let me take another look at making things more consistent now if needed.
Joseph Pecoraro
Comment 9
2013-04-22 15:40:52 PDT
(In reply to
comment #3
)
> (From update of
attachment 198979
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=198979&action=review
> > This basically looks fine to me, but i'm going to r- it anyway because i'm annoying. We now _always_ generate a stack trace when we throw an exception, we may as well just show it in the console (either in line, or via a drop down, i'm easy with either, but i also wouldn't want me designing UI for anything so I'm going to leave the decision with you)
Yep, fixes "exceptions" will be in a follow up bug later (sometime this week). This starts with just the console API messages. I'll add a test to this that console API messages all have stacktraces if it makes sense.
Joseph Pecoraro
Comment 10
2013-04-22 15:45:53 PDT
Created
attachment 199120
[details]
[PATCH] Column Numbers and Stack Traces in Console API messages I'll start working on exceptions now.
WebKit Commit Bot
Comment 11
2013-04-22 15:47:34 PDT
Attachment 199120
[details]
did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/inspector/console/console-messages-stack-traces-expected.txt', u'LayoutTests/inspector/console/console-messages-stack-traces.html', u'LayoutTests/inspector/console/console-url-and-line-expected.txt', u'LayoutTests/inspector/console/console-url-and-line.html', u'LayoutTests/inspector/console/console-url-line-column-expected.txt', u'LayoutTests/inspector/console/console-url-line-column.html', u'Source/WebCore/ChangeLog', u'Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp', u'Source/WebCore/css/CSSParser.cpp', u'Source/WebCore/dom/Document.cpp', u'Source/WebCore/dom/Document.h', u'Source/WebCore/dom/ScriptExecutionContext.cpp', u'Source/WebCore/dom/ScriptExecutionContext.h', u'Source/WebCore/inspector/ConsoleMessage.cpp', u'Source/WebCore/inspector/ConsoleMessage.h', u'Source/WebCore/inspector/Inspector.json', u'Source/WebCore/inspector/InspectorConsoleAgent.cpp', u'Source/WebCore/inspector/InspectorConsoleAgent.h', u'Source/WebCore/inspector/InspectorConsoleInstrumentation.h', u'Source/WebCore/inspector/InspectorInstrumentation.cpp', u'Source/WebCore/inspector/InspectorInstrumentation.h', u'Source/WebCore/inspector/InspectorProfilerAgent.cpp', u'Source/WebCore/inspector/InspectorProfilerAgent.h', u'Source/WebCore/loader/EmptyClients.h', u'Source/WebCore/page/ChromeClient.h', u'Source/WebCore/page/Console.cpp', u'Source/WebCore/page/ContentSecurityPolicy.cpp', u'Source/WebCore/page/PageConsole.cpp', u'Source/WebCore/page/PageConsole.h', u'Source/WebCore/workers/DefaultSharedWorkerRepository.cpp', u'Source/WebCore/workers/SharedWorkerContext.cpp', u'Source/WebCore/workers/WorkerContext.cpp', u'Source/WebCore/workers/WorkerContext.h', u'Source/WebCore/workers/WorkerMessagingProxy.cpp', u'Source/WebCore/workers/WorkerMessagingProxy.h', u'Source/WebCore/workers/WorkerReportingProxy.h', u'Source/WebCore/xml/XSLTProcessorLibxslt.cpp', u'Source/WebCore/xml/XSLTProcessorQt.cpp', u'Source/WebKit/blackberry/Api/DumpRenderTreeClient.h', u'Source/WebKit/blackberry/Api/WebPageClient.h', u'Source/WebKit/blackberry/ChangeLog', u'Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp', u'Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h', u'Source/WebKit/efl/ChangeLog', u'Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp', u'Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h', u'Source/WebKit/gtk/ChangeLog', u'Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp', u'Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h', u'Source/WebKit/mac/ChangeLog', u'Source/WebKit/mac/WebCoreSupport/WebChromeClient.h', u'Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm', u'Source/WebKit/qt/ChangeLog', u'Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp', u'Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h', u'Source/WebKit/win/ChangeLog', u'Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp', u'Source/WebKit/win/WebCoreSupport/WebChromeClient.h', u'Source/WebKit/wince/ChangeLog', u'Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp', u'Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h', u'Source/WebKit/wx/ChangeLog', u'Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp', u'Source/WebKit/wx/WebKitSupport/ChromeClientWx.h', u'Source/WebKit2/ChangeLog', u'Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp', u'Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h']" exit_code: 1 Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp:233: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebKit/wx/WebKitSupport/ChromeClientWx.h:86: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebKit/wx/WebKitSupport/ChromeClientWx.h:87: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h:87: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:277: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] Total errors found: 5 in 66 files If any of these errors are false positives, please file a bug against check-webkit-style.
Build Bot
Comment 12
2013-04-22 20:47:18 PDT
Comment on
attachment 199120
[details]
[PATCH] Column Numbers and Stack Traces in Console API messages
Attachment 199120
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.appspot.com/results/157636
New failing tests: inspector/console/console-messages-stack-traces.html
Build Bot
Comment 13
2013-04-22 20:47:20 PDT
Created
attachment 199141
[details]
Archive of layout-test-results from webkit-ews-04 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-04 Port: mac-mountainlion Platform: Mac OS X 10.8.2
Build Bot
Comment 14
2013-04-22 23:34:20 PDT
Comment on
attachment 199120
[details]
[PATCH] Column Numbers and Stack Traces in Console API messages
Attachment 199120
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.appspot.com/results/110756
New failing tests: inspector/console/console-messages-stack-traces.html
Build Bot
Comment 15
2013-04-22 23:34:22 PDT
Created
attachment 199154
[details]
Archive of layout-test-results from webkit-ews-11 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-11 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.2
Joseph Pecoraro
Comment 16
2013-04-24 23:48:43 PDT
The different layout-test-results was just me forgetting to git add the new expected results to the patch attached. I fixed it locally. I'll land this tomorrow when I can watch the bots.
Joseph Pecoraro
Comment 17
2013-04-25 11:33:52 PDT
Committed
r149125
: <
http://trac.webkit.org/changeset/149125
>
Joseph Pecoraro
Comment 18
2013-04-25 12:51:20 PDT
(In reply to
comment #17
)
> Committed
r149125
: <
http://trac.webkit.org/changeset/149125
>
Apparently the bot has a few failures: <
http://build.webkit.org/results/Apple%20Lion%20Release%20WK2%20(Tests)/r149128%20(10144)/results.html
> - inspector/console/console-log-syntax-error.html Seems fine, but isn't happening locally for me. Need to investigate. - inspector/extensions/extensions-panel.html - inspector/extensions/extensions-resources.html No idea what would be going on here.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug